packages feed

amazonka-license-manager (empty) → 2.0

raw patch · 217 files changed

+23175/−0 lines, 217 filesdep +amazonka-coredep +amazonka-license-managerdep +amazonka-test

Dependencies added: amazonka-core, amazonka-license-manager, 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 License Manager SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-08-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-license-manager)+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.LicenseManager](http://hackage.haskell.org/package/amazonka-license-manager/docs/Amazonka-LicenseManager.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-license-manager` 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-license-manager.cabal view
@@ -0,0 +1,188 @@+cabal-version:      2.2+name:               amazonka-license-manager+version:            2.0+synopsis:           Amazon License Manager 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-08-01@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.LicenseManager.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.LicenseManager" 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-license-manager++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.LicenseManager+    Amazonka.LicenseManager.AcceptGrant+    Amazonka.LicenseManager.CheckInLicense+    Amazonka.LicenseManager.CheckoutBorrowLicense+    Amazonka.LicenseManager.CheckoutLicense+    Amazonka.LicenseManager.CreateGrant+    Amazonka.LicenseManager.CreateGrantVersion+    Amazonka.LicenseManager.CreateLicense+    Amazonka.LicenseManager.CreateLicenseConfiguration+    Amazonka.LicenseManager.CreateLicenseConversionTaskForResource+    Amazonka.LicenseManager.CreateLicenseManagerReportGenerator+    Amazonka.LicenseManager.CreateLicenseVersion+    Amazonka.LicenseManager.CreateToken+    Amazonka.LicenseManager.DeleteGrant+    Amazonka.LicenseManager.DeleteLicense+    Amazonka.LicenseManager.DeleteLicenseConfiguration+    Amazonka.LicenseManager.DeleteLicenseManagerReportGenerator+    Amazonka.LicenseManager.DeleteToken+    Amazonka.LicenseManager.ExtendLicenseConsumption+    Amazonka.LicenseManager.GetAccessToken+    Amazonka.LicenseManager.GetGrant+    Amazonka.LicenseManager.GetLicense+    Amazonka.LicenseManager.GetLicenseConfiguration+    Amazonka.LicenseManager.GetLicenseConversionTask+    Amazonka.LicenseManager.GetLicenseManagerReportGenerator+    Amazonka.LicenseManager.GetLicenseUsage+    Amazonka.LicenseManager.GetServiceSettings+    Amazonka.LicenseManager.Lens+    Amazonka.LicenseManager.ListAssociationsForLicenseConfiguration+    Amazonka.LicenseManager.ListDistributedGrants+    Amazonka.LicenseManager.ListFailuresForLicenseConfigurationOperations+    Amazonka.LicenseManager.ListLicenseConfigurations+    Amazonka.LicenseManager.ListLicenseConversionTasks+    Amazonka.LicenseManager.ListLicenseManagerReportGenerators+    Amazonka.LicenseManager.ListLicenses+    Amazonka.LicenseManager.ListLicenseSpecificationsForResource+    Amazonka.LicenseManager.ListLicenseVersions+    Amazonka.LicenseManager.ListReceivedGrants+    Amazonka.LicenseManager.ListReceivedGrantsForOrganization+    Amazonka.LicenseManager.ListReceivedLicenses+    Amazonka.LicenseManager.ListReceivedLicensesForOrganization+    Amazonka.LicenseManager.ListResourceInventory+    Amazonka.LicenseManager.ListTagsForResource+    Amazonka.LicenseManager.ListTokens+    Amazonka.LicenseManager.ListUsageForLicenseConfiguration+    Amazonka.LicenseManager.RejectGrant+    Amazonka.LicenseManager.TagResource+    Amazonka.LicenseManager.Types+    Amazonka.LicenseManager.Types.AllowedOperation+    Amazonka.LicenseManager.Types.AutomatedDiscoveryInformation+    Amazonka.LicenseManager.Types.BorrowConfiguration+    Amazonka.LicenseManager.Types.CheckoutType+    Amazonka.LicenseManager.Types.ConsumedLicenseSummary+    Amazonka.LicenseManager.Types.ConsumptionConfiguration+    Amazonka.LicenseManager.Types.DatetimeRange+    Amazonka.LicenseManager.Types.DigitalSignatureMethod+    Amazonka.LicenseManager.Types.Entitlement+    Amazonka.LicenseManager.Types.EntitlementData+    Amazonka.LicenseManager.Types.EntitlementDataUnit+    Amazonka.LicenseManager.Types.EntitlementUnit+    Amazonka.LicenseManager.Types.EntitlementUsage+    Amazonka.LicenseManager.Types.Filter+    Amazonka.LicenseManager.Types.Grant+    Amazonka.LicenseManager.Types.GrantedLicense+    Amazonka.LicenseManager.Types.GrantStatus+    Amazonka.LicenseManager.Types.InventoryFilter+    Amazonka.LicenseManager.Types.InventoryFilterCondition+    Amazonka.LicenseManager.Types.Issuer+    Amazonka.LicenseManager.Types.IssuerDetails+    Amazonka.LicenseManager.Types.License+    Amazonka.LicenseManager.Types.LicenseConfiguration+    Amazonka.LicenseManager.Types.LicenseConfigurationAssociation+    Amazonka.LicenseManager.Types.LicenseConfigurationStatus+    Amazonka.LicenseManager.Types.LicenseConfigurationUsage+    Amazonka.LicenseManager.Types.LicenseConversionContext+    Amazonka.LicenseManager.Types.LicenseConversionTask+    Amazonka.LicenseManager.Types.LicenseConversionTaskStatus+    Amazonka.LicenseManager.Types.LicenseCountingType+    Amazonka.LicenseManager.Types.LicenseDeletionStatus+    Amazonka.LicenseManager.Types.LicenseOperationFailure+    Amazonka.LicenseManager.Types.LicenseSpecification+    Amazonka.LicenseManager.Types.LicenseStatus+    Amazonka.LicenseManager.Types.LicenseUsage+    Amazonka.LicenseManager.Types.ManagedResourceSummary+    Amazonka.LicenseManager.Types.Metadata+    Amazonka.LicenseManager.Types.OrganizationConfiguration+    Amazonka.LicenseManager.Types.ProductInformation+    Amazonka.LicenseManager.Types.ProductInformationFilter+    Amazonka.LicenseManager.Types.ProvisionalConfiguration+    Amazonka.LicenseManager.Types.ReceivedMetadata+    Amazonka.LicenseManager.Types.ReceivedStatus+    Amazonka.LicenseManager.Types.RenewType+    Amazonka.LicenseManager.Types.ReportContext+    Amazonka.LicenseManager.Types.ReportFrequency+    Amazonka.LicenseManager.Types.ReportFrequencyType+    Amazonka.LicenseManager.Types.ReportGenerator+    Amazonka.LicenseManager.Types.ReportType+    Amazonka.LicenseManager.Types.ResourceInventory+    Amazonka.LicenseManager.Types.ResourceType+    Amazonka.LicenseManager.Types.S3Location+    Amazonka.LicenseManager.Types.Tag+    Amazonka.LicenseManager.Types.TokenData+    Amazonka.LicenseManager.Types.TokenType+    Amazonka.LicenseManager.UntagResource+    Amazonka.LicenseManager.UpdateLicenseConfiguration+    Amazonka.LicenseManager.UpdateLicenseManagerReportGenerator+    Amazonka.LicenseManager.UpdateLicenseSpecificationsForResource+    Amazonka.LicenseManager.UpdateServiceSettings+    Amazonka.LicenseManager.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-license-manager-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.LicenseManager+    Test.Amazonka.LicenseManager+    Test.Amazonka.LicenseManager.Internal++  build-depends:+    , amazonka-core             >=2.0 && <2.1+    , amazonka-license-manager+    , amazonka-test             >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AcceptGrant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/AcceptGrantResponse.proto view
+ fixture/CheckInLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CheckInLicenseResponse.proto view
+ fixture/CheckoutBorrowLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CheckoutBorrowLicenseResponse.proto view
+ fixture/CheckoutLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CheckoutLicenseResponse.proto view
+ fixture/CreateGrant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateGrantResponse.proto view
+ fixture/CreateGrantVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateGrantVersionResponse.proto view
+ fixture/CreateLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateLicenseConfigurationResponse.proto view
+ fixture/CreateLicenseConversionTaskForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateLicenseConversionTaskForResourceResponse.proto view
+ fixture/CreateLicenseManagerReportGenerator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateLicenseManagerReportGeneratorResponse.proto view
+ fixture/CreateLicenseResponse.proto view
+ fixture/CreateLicenseVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateLicenseVersionResponse.proto view
+ fixture/CreateToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/CreateTokenResponse.proto view
+ fixture/DeleteGrant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/DeleteGrantResponse.proto view
+ fixture/DeleteLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/DeleteLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/DeleteLicenseConfigurationResponse.proto view
+ fixture/DeleteLicenseManagerReportGenerator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/DeleteLicenseManagerReportGeneratorResponse.proto view
+ fixture/DeleteLicenseResponse.proto view
+ fixture/DeleteToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/DeleteTokenResponse.proto view
+ fixture/ExtendLicenseConsumption.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ExtendLicenseConsumptionResponse.proto view
+ fixture/GetAccessToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetAccessTokenResponse.proto view
+ fixture/GetGrant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetGrantResponse.proto view
+ fixture/GetLicense.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetLicenseConfigurationResponse.proto view
+ fixture/GetLicenseConversionTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetLicenseConversionTaskResponse.proto view
+ fixture/GetLicenseManagerReportGenerator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetLicenseManagerReportGeneratorResponse.proto view
+ fixture/GetLicenseResponse.proto view
+ fixture/GetLicenseUsage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetLicenseUsageResponse.proto view
+ fixture/GetServiceSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/GetServiceSettingsResponse.proto view
+ fixture/ListAssociationsForLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListAssociationsForLicenseConfigurationResponse.proto view
+ fixture/ListDistributedGrants.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListDistributedGrantsResponse.proto view
+ fixture/ListFailuresForLicenseConfigurationOperations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListFailuresForLicenseConfigurationOperationsResponse.proto view
+ fixture/ListLicenseConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicenseConfigurationsResponse.proto view
+ fixture/ListLicenseConversionTasks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicenseConversionTasksResponse.proto view
+ fixture/ListLicenseManagerReportGenerators.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicenseManagerReportGeneratorsResponse.proto view
+ fixture/ListLicenseSpecificationsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicenseSpecificationsForResourceResponse.proto view
+ fixture/ListLicenseVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicenseVersionsResponse.proto view
+ fixture/ListLicenses.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListLicensesResponse.proto view
+ fixture/ListReceivedGrants.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListReceivedGrantsForOrganization.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListReceivedGrantsForOrganizationResponse.proto view
+ fixture/ListReceivedGrantsResponse.proto view
+ fixture/ListReceivedLicenses.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListReceivedLicensesForOrganization.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListReceivedLicensesForOrganizationResponse.proto view
+ fixture/ListReceivedLicensesResponse.proto view
+ fixture/ListResourceInventory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListResourceInventoryResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListTokens.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListTokensResponse.proto view
+ fixture/ListUsageForLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/ListUsageForLicenseConfigurationResponse.proto view
+ fixture/RejectGrant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/RejectGrantResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateLicenseConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/UpdateLicenseConfigurationResponse.proto view
+ fixture/UpdateLicenseManagerReportGenerator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/UpdateLicenseManagerReportGeneratorResponse.proto view
+ fixture/UpdateLicenseSpecificationsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/UpdateLicenseSpecificationsForResourceResponse.proto view
+ fixture/UpdateServiceSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/license-manager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  license-manager.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/UpdateServiceSettingsResponse.proto view
+ gen/Amazonka/LicenseManager.hs view
@@ -0,0 +1,665 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.LicenseManager+-- 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-08-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- License Manager makes it easier to manage licenses from software vendors+-- across multiple Amazon Web Services accounts and on-premises servers.+module Amazonka.LicenseManager+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** AuthorizationException+    _AuthorizationException,++    -- ** ConflictException+    _ConflictException,++    -- ** EntitlementNotAllowedException+    _EntitlementNotAllowedException,++    -- ** FailedDependencyException+    _FailedDependencyException,++    -- ** FilterLimitExceededException+    _FilterLimitExceededException,++    -- ** InvalidParameterValueException+    _InvalidParameterValueException,++    -- ** InvalidResourceStateException+    _InvalidResourceStateException,++    -- ** LicenseUsageException+    _LicenseUsageException,++    -- ** NoEntitlementsAllowedException+    _NoEntitlementsAllowedException,++    -- ** RateLimitExceededException+    _RateLimitExceededException,++    -- ** RedirectException+    _RedirectException,++    -- ** ResourceLimitExceededException+    _ResourceLimitExceededException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServerInternalException+    _ServerInternalException,++    -- ** UnsupportedDigitalSignatureMethodException+    _UnsupportedDigitalSignatureMethodException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AcceptGrant+    AcceptGrant (AcceptGrant'),+    newAcceptGrant,+    AcceptGrantResponse (AcceptGrantResponse'),+    newAcceptGrantResponse,++    -- ** CheckInLicense+    CheckInLicense (CheckInLicense'),+    newCheckInLicense,+    CheckInLicenseResponse (CheckInLicenseResponse'),+    newCheckInLicenseResponse,++    -- ** CheckoutBorrowLicense+    CheckoutBorrowLicense (CheckoutBorrowLicense'),+    newCheckoutBorrowLicense,+    CheckoutBorrowLicenseResponse (CheckoutBorrowLicenseResponse'),+    newCheckoutBorrowLicenseResponse,++    -- ** CheckoutLicense+    CheckoutLicense (CheckoutLicense'),+    newCheckoutLicense,+    CheckoutLicenseResponse (CheckoutLicenseResponse'),+    newCheckoutLicenseResponse,++    -- ** CreateGrant+    CreateGrant (CreateGrant'),+    newCreateGrant,+    CreateGrantResponse (CreateGrantResponse'),+    newCreateGrantResponse,++    -- ** CreateGrantVersion+    CreateGrantVersion (CreateGrantVersion'),+    newCreateGrantVersion,+    CreateGrantVersionResponse (CreateGrantVersionResponse'),+    newCreateGrantVersionResponse,++    -- ** CreateLicense+    CreateLicense (CreateLicense'),+    newCreateLicense,+    CreateLicenseResponse (CreateLicenseResponse'),+    newCreateLicenseResponse,++    -- ** CreateLicenseConfiguration+    CreateLicenseConfiguration (CreateLicenseConfiguration'),+    newCreateLicenseConfiguration,+    CreateLicenseConfigurationResponse (CreateLicenseConfigurationResponse'),+    newCreateLicenseConfigurationResponse,++    -- ** CreateLicenseConversionTaskForResource+    CreateLicenseConversionTaskForResource (CreateLicenseConversionTaskForResource'),+    newCreateLicenseConversionTaskForResource,+    CreateLicenseConversionTaskForResourceResponse (CreateLicenseConversionTaskForResourceResponse'),+    newCreateLicenseConversionTaskForResourceResponse,++    -- ** CreateLicenseManagerReportGenerator+    CreateLicenseManagerReportGenerator (CreateLicenseManagerReportGenerator'),+    newCreateLicenseManagerReportGenerator,+    CreateLicenseManagerReportGeneratorResponse (CreateLicenseManagerReportGeneratorResponse'),+    newCreateLicenseManagerReportGeneratorResponse,++    -- ** CreateLicenseVersion+    CreateLicenseVersion (CreateLicenseVersion'),+    newCreateLicenseVersion,+    CreateLicenseVersionResponse (CreateLicenseVersionResponse'),+    newCreateLicenseVersionResponse,++    -- ** CreateToken+    CreateToken (CreateToken'),+    newCreateToken,+    CreateTokenResponse (CreateTokenResponse'),+    newCreateTokenResponse,++    -- ** DeleteGrant+    DeleteGrant (DeleteGrant'),+    newDeleteGrant,+    DeleteGrantResponse (DeleteGrantResponse'),+    newDeleteGrantResponse,++    -- ** DeleteLicense+    DeleteLicense (DeleteLicense'),+    newDeleteLicense,+    DeleteLicenseResponse (DeleteLicenseResponse'),+    newDeleteLicenseResponse,++    -- ** DeleteLicenseConfiguration+    DeleteLicenseConfiguration (DeleteLicenseConfiguration'),+    newDeleteLicenseConfiguration,+    DeleteLicenseConfigurationResponse (DeleteLicenseConfigurationResponse'),+    newDeleteLicenseConfigurationResponse,++    -- ** DeleteLicenseManagerReportGenerator+    DeleteLicenseManagerReportGenerator (DeleteLicenseManagerReportGenerator'),+    newDeleteLicenseManagerReportGenerator,+    DeleteLicenseManagerReportGeneratorResponse (DeleteLicenseManagerReportGeneratorResponse'),+    newDeleteLicenseManagerReportGeneratorResponse,++    -- ** DeleteToken+    DeleteToken (DeleteToken'),+    newDeleteToken,+    DeleteTokenResponse (DeleteTokenResponse'),+    newDeleteTokenResponse,++    -- ** ExtendLicenseConsumption+    ExtendLicenseConsumption (ExtendLicenseConsumption'),+    newExtendLicenseConsumption,+    ExtendLicenseConsumptionResponse (ExtendLicenseConsumptionResponse'),+    newExtendLicenseConsumptionResponse,++    -- ** GetAccessToken+    GetAccessToken (GetAccessToken'),+    newGetAccessToken,+    GetAccessTokenResponse (GetAccessTokenResponse'),+    newGetAccessTokenResponse,++    -- ** GetGrant+    GetGrant (GetGrant'),+    newGetGrant,+    GetGrantResponse (GetGrantResponse'),+    newGetGrantResponse,++    -- ** GetLicense+    GetLicense (GetLicense'),+    newGetLicense,+    GetLicenseResponse (GetLicenseResponse'),+    newGetLicenseResponse,++    -- ** GetLicenseConfiguration+    GetLicenseConfiguration (GetLicenseConfiguration'),+    newGetLicenseConfiguration,+    GetLicenseConfigurationResponse (GetLicenseConfigurationResponse'),+    newGetLicenseConfigurationResponse,++    -- ** GetLicenseConversionTask+    GetLicenseConversionTask (GetLicenseConversionTask'),+    newGetLicenseConversionTask,+    GetLicenseConversionTaskResponse (GetLicenseConversionTaskResponse'),+    newGetLicenseConversionTaskResponse,++    -- ** GetLicenseManagerReportGenerator+    GetLicenseManagerReportGenerator (GetLicenseManagerReportGenerator'),+    newGetLicenseManagerReportGenerator,+    GetLicenseManagerReportGeneratorResponse (GetLicenseManagerReportGeneratorResponse'),+    newGetLicenseManagerReportGeneratorResponse,++    -- ** GetLicenseUsage+    GetLicenseUsage (GetLicenseUsage'),+    newGetLicenseUsage,+    GetLicenseUsageResponse (GetLicenseUsageResponse'),+    newGetLicenseUsageResponse,++    -- ** GetServiceSettings+    GetServiceSettings (GetServiceSettings'),+    newGetServiceSettings,+    GetServiceSettingsResponse (GetServiceSettingsResponse'),+    newGetServiceSettingsResponse,++    -- ** ListAssociationsForLicenseConfiguration (Paginated)+    ListAssociationsForLicenseConfiguration (ListAssociationsForLicenseConfiguration'),+    newListAssociationsForLicenseConfiguration,+    ListAssociationsForLicenseConfigurationResponse (ListAssociationsForLicenseConfigurationResponse'),+    newListAssociationsForLicenseConfigurationResponse,++    -- ** ListDistributedGrants+    ListDistributedGrants (ListDistributedGrants'),+    newListDistributedGrants,+    ListDistributedGrantsResponse (ListDistributedGrantsResponse'),+    newListDistributedGrantsResponse,++    -- ** ListFailuresForLicenseConfigurationOperations+    ListFailuresForLicenseConfigurationOperations (ListFailuresForLicenseConfigurationOperations'),+    newListFailuresForLicenseConfigurationOperations,+    ListFailuresForLicenseConfigurationOperationsResponse (ListFailuresForLicenseConfigurationOperationsResponse'),+    newListFailuresForLicenseConfigurationOperationsResponse,++    -- ** ListLicenseConfigurations (Paginated)+    ListLicenseConfigurations (ListLicenseConfigurations'),+    newListLicenseConfigurations,+    ListLicenseConfigurationsResponse (ListLicenseConfigurationsResponse'),+    newListLicenseConfigurationsResponse,++    -- ** ListLicenseConversionTasks+    ListLicenseConversionTasks (ListLicenseConversionTasks'),+    newListLicenseConversionTasks,+    ListLicenseConversionTasksResponse (ListLicenseConversionTasksResponse'),+    newListLicenseConversionTasksResponse,++    -- ** ListLicenseManagerReportGenerators+    ListLicenseManagerReportGenerators (ListLicenseManagerReportGenerators'),+    newListLicenseManagerReportGenerators,+    ListLicenseManagerReportGeneratorsResponse (ListLicenseManagerReportGeneratorsResponse'),+    newListLicenseManagerReportGeneratorsResponse,++    -- ** ListLicenseSpecificationsForResource (Paginated)+    ListLicenseSpecificationsForResource (ListLicenseSpecificationsForResource'),+    newListLicenseSpecificationsForResource,+    ListLicenseSpecificationsForResourceResponse (ListLicenseSpecificationsForResourceResponse'),+    newListLicenseSpecificationsForResourceResponse,++    -- ** ListLicenseVersions+    ListLicenseVersions (ListLicenseVersions'),+    newListLicenseVersions,+    ListLicenseVersionsResponse (ListLicenseVersionsResponse'),+    newListLicenseVersionsResponse,++    -- ** ListLicenses+    ListLicenses (ListLicenses'),+    newListLicenses,+    ListLicensesResponse (ListLicensesResponse'),+    newListLicensesResponse,++    -- ** ListReceivedGrants+    ListReceivedGrants (ListReceivedGrants'),+    newListReceivedGrants,+    ListReceivedGrantsResponse (ListReceivedGrantsResponse'),+    newListReceivedGrantsResponse,++    -- ** ListReceivedGrantsForOrganization+    ListReceivedGrantsForOrganization (ListReceivedGrantsForOrganization'),+    newListReceivedGrantsForOrganization,+    ListReceivedGrantsForOrganizationResponse (ListReceivedGrantsForOrganizationResponse'),+    newListReceivedGrantsForOrganizationResponse,++    -- ** ListReceivedLicenses+    ListReceivedLicenses (ListReceivedLicenses'),+    newListReceivedLicenses,+    ListReceivedLicensesResponse (ListReceivedLicensesResponse'),+    newListReceivedLicensesResponse,++    -- ** ListReceivedLicensesForOrganization+    ListReceivedLicensesForOrganization (ListReceivedLicensesForOrganization'),+    newListReceivedLicensesForOrganization,+    ListReceivedLicensesForOrganizationResponse (ListReceivedLicensesForOrganizationResponse'),+    newListReceivedLicensesForOrganizationResponse,++    -- ** ListResourceInventory (Paginated)+    ListResourceInventory (ListResourceInventory'),+    newListResourceInventory,+    ListResourceInventoryResponse (ListResourceInventoryResponse'),+    newListResourceInventoryResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListTokens+    ListTokens (ListTokens'),+    newListTokens,+    ListTokensResponse (ListTokensResponse'),+    newListTokensResponse,++    -- ** ListUsageForLicenseConfiguration (Paginated)+    ListUsageForLicenseConfiguration (ListUsageForLicenseConfiguration'),+    newListUsageForLicenseConfiguration,+    ListUsageForLicenseConfigurationResponse (ListUsageForLicenseConfigurationResponse'),+    newListUsageForLicenseConfigurationResponse,++    -- ** RejectGrant+    RejectGrant (RejectGrant'),+    newRejectGrant,+    RejectGrantResponse (RejectGrantResponse'),+    newRejectGrantResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateLicenseConfiguration+    UpdateLicenseConfiguration (UpdateLicenseConfiguration'),+    newUpdateLicenseConfiguration,+    UpdateLicenseConfigurationResponse (UpdateLicenseConfigurationResponse'),+    newUpdateLicenseConfigurationResponse,++    -- ** UpdateLicenseManagerReportGenerator+    UpdateLicenseManagerReportGenerator (UpdateLicenseManagerReportGenerator'),+    newUpdateLicenseManagerReportGenerator,+    UpdateLicenseManagerReportGeneratorResponse (UpdateLicenseManagerReportGeneratorResponse'),+    newUpdateLicenseManagerReportGeneratorResponse,++    -- ** UpdateLicenseSpecificationsForResource+    UpdateLicenseSpecificationsForResource (UpdateLicenseSpecificationsForResource'),+    newUpdateLicenseSpecificationsForResource,+    UpdateLicenseSpecificationsForResourceResponse (UpdateLicenseSpecificationsForResourceResponse'),+    newUpdateLicenseSpecificationsForResourceResponse,++    -- ** UpdateServiceSettings+    UpdateServiceSettings (UpdateServiceSettings'),+    newUpdateServiceSettings,+    UpdateServiceSettingsResponse (UpdateServiceSettingsResponse'),+    newUpdateServiceSettingsResponse,++    -- * Types++    -- ** AllowedOperation+    AllowedOperation (..),++    -- ** CheckoutType+    CheckoutType (..),++    -- ** DigitalSignatureMethod+    DigitalSignatureMethod (..),++    -- ** EntitlementDataUnit+    EntitlementDataUnit (..),++    -- ** EntitlementUnit+    EntitlementUnit (..),++    -- ** GrantStatus+    GrantStatus (..),++    -- ** InventoryFilterCondition+    InventoryFilterCondition (..),++    -- ** LicenseConfigurationStatus+    LicenseConfigurationStatus (..),++    -- ** LicenseConversionTaskStatus+    LicenseConversionTaskStatus (..),++    -- ** LicenseCountingType+    LicenseCountingType (..),++    -- ** LicenseDeletionStatus+    LicenseDeletionStatus (..),++    -- ** LicenseStatus+    LicenseStatus (..),++    -- ** ReceivedStatus+    ReceivedStatus (..),++    -- ** RenewType+    RenewType (..),++    -- ** ReportFrequencyType+    ReportFrequencyType (..),++    -- ** ReportType+    ReportType (..),++    -- ** ResourceType+    ResourceType (..),++    -- ** TokenType+    TokenType (..),++    -- ** AutomatedDiscoveryInformation+    AutomatedDiscoveryInformation (AutomatedDiscoveryInformation'),+    newAutomatedDiscoveryInformation,++    -- ** BorrowConfiguration+    BorrowConfiguration (BorrowConfiguration'),+    newBorrowConfiguration,++    -- ** ConsumedLicenseSummary+    ConsumedLicenseSummary (ConsumedLicenseSummary'),+    newConsumedLicenseSummary,++    -- ** ConsumptionConfiguration+    ConsumptionConfiguration (ConsumptionConfiguration'),+    newConsumptionConfiguration,++    -- ** DatetimeRange+    DatetimeRange (DatetimeRange'),+    newDatetimeRange,++    -- ** Entitlement+    Entitlement (Entitlement'),+    newEntitlement,++    -- ** EntitlementData+    EntitlementData (EntitlementData'),+    newEntitlementData,++    -- ** EntitlementUsage+    EntitlementUsage (EntitlementUsage'),+    newEntitlementUsage,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** Grant+    Grant (Grant'),+    newGrant,++    -- ** GrantedLicense+    GrantedLicense (GrantedLicense'),+    newGrantedLicense,++    -- ** InventoryFilter+    InventoryFilter (InventoryFilter'),+    newInventoryFilter,++    -- ** Issuer+    Issuer (Issuer'),+    newIssuer,++    -- ** IssuerDetails+    IssuerDetails (IssuerDetails'),+    newIssuerDetails,++    -- ** License+    License (License'),+    newLicense,++    -- ** LicenseConfiguration+    LicenseConfiguration (LicenseConfiguration'),+    newLicenseConfiguration,++    -- ** LicenseConfigurationAssociation+    LicenseConfigurationAssociation (LicenseConfigurationAssociation'),+    newLicenseConfigurationAssociation,++    -- ** LicenseConfigurationUsage+    LicenseConfigurationUsage (LicenseConfigurationUsage'),+    newLicenseConfigurationUsage,++    -- ** LicenseConversionContext+    LicenseConversionContext (LicenseConversionContext'),+    newLicenseConversionContext,++    -- ** LicenseConversionTask+    LicenseConversionTask (LicenseConversionTask'),+    newLicenseConversionTask,++    -- ** LicenseOperationFailure+    LicenseOperationFailure (LicenseOperationFailure'),+    newLicenseOperationFailure,++    -- ** LicenseSpecification+    LicenseSpecification (LicenseSpecification'),+    newLicenseSpecification,++    -- ** LicenseUsage+    LicenseUsage (LicenseUsage'),+    newLicenseUsage,++    -- ** ManagedResourceSummary+    ManagedResourceSummary (ManagedResourceSummary'),+    newManagedResourceSummary,++    -- ** Metadata+    Metadata (Metadata'),+    newMetadata,++    -- ** OrganizationConfiguration+    OrganizationConfiguration (OrganizationConfiguration'),+    newOrganizationConfiguration,++    -- ** ProductInformation+    ProductInformation (ProductInformation'),+    newProductInformation,++    -- ** ProductInformationFilter+    ProductInformationFilter (ProductInformationFilter'),+    newProductInformationFilter,++    -- ** ProvisionalConfiguration+    ProvisionalConfiguration (ProvisionalConfiguration'),+    newProvisionalConfiguration,++    -- ** ReceivedMetadata+    ReceivedMetadata (ReceivedMetadata'),+    newReceivedMetadata,++    -- ** ReportContext+    ReportContext (ReportContext'),+    newReportContext,++    -- ** ReportFrequency+    ReportFrequency (ReportFrequency'),+    newReportFrequency,++    -- ** ReportGenerator+    ReportGenerator (ReportGenerator'),+    newReportGenerator,++    -- ** ResourceInventory+    ResourceInventory (ResourceInventory'),+    newResourceInventory,++    -- ** S3Location+    S3Location (S3Location'),+    newS3Location,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TokenData+    TokenData (TokenData'),+    newTokenData,+  )+where++import Amazonka.LicenseManager.AcceptGrant+import Amazonka.LicenseManager.CheckInLicense+import Amazonka.LicenseManager.CheckoutBorrowLicense+import Amazonka.LicenseManager.CheckoutLicense+import Amazonka.LicenseManager.CreateGrant+import Amazonka.LicenseManager.CreateGrantVersion+import Amazonka.LicenseManager.CreateLicense+import Amazonka.LicenseManager.CreateLicenseConfiguration+import Amazonka.LicenseManager.CreateLicenseConversionTaskForResource+import Amazonka.LicenseManager.CreateLicenseManagerReportGenerator+import Amazonka.LicenseManager.CreateLicenseVersion+import Amazonka.LicenseManager.CreateToken+import Amazonka.LicenseManager.DeleteGrant+import Amazonka.LicenseManager.DeleteLicense+import Amazonka.LicenseManager.DeleteLicenseConfiguration+import Amazonka.LicenseManager.DeleteLicenseManagerReportGenerator+import Amazonka.LicenseManager.DeleteToken+import Amazonka.LicenseManager.ExtendLicenseConsumption+import Amazonka.LicenseManager.GetAccessToken+import Amazonka.LicenseManager.GetGrant+import Amazonka.LicenseManager.GetLicense+import Amazonka.LicenseManager.GetLicenseConfiguration+import Amazonka.LicenseManager.GetLicenseConversionTask+import Amazonka.LicenseManager.GetLicenseManagerReportGenerator+import Amazonka.LicenseManager.GetLicenseUsage+import Amazonka.LicenseManager.GetServiceSettings+import Amazonka.LicenseManager.Lens+import Amazonka.LicenseManager.ListAssociationsForLicenseConfiguration+import Amazonka.LicenseManager.ListDistributedGrants+import Amazonka.LicenseManager.ListFailuresForLicenseConfigurationOperations+import Amazonka.LicenseManager.ListLicenseConfigurations+import Amazonka.LicenseManager.ListLicenseConversionTasks+import Amazonka.LicenseManager.ListLicenseManagerReportGenerators+import Amazonka.LicenseManager.ListLicenseSpecificationsForResource+import Amazonka.LicenseManager.ListLicenseVersions+import Amazonka.LicenseManager.ListLicenses+import Amazonka.LicenseManager.ListReceivedGrants+import Amazonka.LicenseManager.ListReceivedGrantsForOrganization+import Amazonka.LicenseManager.ListReceivedLicenses+import Amazonka.LicenseManager.ListReceivedLicensesForOrganization+import Amazonka.LicenseManager.ListResourceInventory+import Amazonka.LicenseManager.ListTagsForResource+import Amazonka.LicenseManager.ListTokens+import Amazonka.LicenseManager.ListUsageForLicenseConfiguration+import Amazonka.LicenseManager.RejectGrant+import Amazonka.LicenseManager.TagResource+import Amazonka.LicenseManager.Types+import Amazonka.LicenseManager.UntagResource+import Amazonka.LicenseManager.UpdateLicenseConfiguration+import Amazonka.LicenseManager.UpdateLicenseManagerReportGenerator+import Amazonka.LicenseManager.UpdateLicenseSpecificationsForResource+import Amazonka.LicenseManager.UpdateServiceSettings+import Amazonka.LicenseManager.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 'LicenseManager'.++-- $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/LicenseManager/AcceptGrant.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.AcceptGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Accepts the specified grant.+module Amazonka.LicenseManager.AcceptGrant+  ( -- * Creating a Request+    AcceptGrant (..),+    newAcceptGrant,++    -- * Request Lenses+    acceptGrant_grantArn,++    -- * Destructuring the Response+    AcceptGrantResponse (..),+    newAcceptGrantResponse,++    -- * Response Lenses+    acceptGrantResponse_grantArn,+    acceptGrantResponse_status,+    acceptGrantResponse_version,+    acceptGrantResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAcceptGrant' smart constructor.+data AcceptGrant = AcceptGrant'+  { -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptGrant' 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:+--+-- 'grantArn', 'acceptGrant_grantArn' - Amazon Resource Name (ARN) of the grant.+newAcceptGrant ::+  -- | 'grantArn'+  Prelude.Text ->+  AcceptGrant+newAcceptGrant pGrantArn_ =+  AcceptGrant' {grantArn = pGrantArn_}++-- | Amazon Resource Name (ARN) of the grant.+acceptGrant_grantArn :: Lens.Lens' AcceptGrant Prelude.Text+acceptGrant_grantArn = Lens.lens (\AcceptGrant' {grantArn} -> grantArn) (\s@AcceptGrant' {} a -> s {grantArn = a} :: AcceptGrant)++instance Core.AWSRequest AcceptGrant where+  type AWSResponse AcceptGrant = AcceptGrantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AcceptGrantResponse'+            Prelude.<$> (x Data..?> "GrantArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AcceptGrant where+  hashWithSalt _salt AcceptGrant' {..} =+    _salt `Prelude.hashWithSalt` grantArn++instance Prelude.NFData AcceptGrant where+  rnf AcceptGrant' {..} = Prelude.rnf grantArn++instance Data.ToHeaders AcceptGrant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.AcceptGrant" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AcceptGrant where+  toJSON AcceptGrant' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("GrantArn" Data..= grantArn)]+      )++instance Data.ToPath AcceptGrant where+  toPath = Prelude.const "/"++instance Data.ToQuery AcceptGrant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAcceptGrantResponse' smart constructor.+data AcceptGrantResponse = AcceptGrantResponse'+  { -- | Grant ARN.+    grantArn :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | Grant version.+    version :: 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 'AcceptGrantResponse' 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:+--+-- 'grantArn', 'acceptGrantResponse_grantArn' - Grant ARN.+--+-- 'status', 'acceptGrantResponse_status' - Grant status.+--+-- 'version', 'acceptGrantResponse_version' - Grant version.+--+-- 'httpStatus', 'acceptGrantResponse_httpStatus' - The response's http status code.+newAcceptGrantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AcceptGrantResponse+newAcceptGrantResponse pHttpStatus_ =+  AcceptGrantResponse'+    { grantArn = Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant ARN.+acceptGrantResponse_grantArn :: Lens.Lens' AcceptGrantResponse (Prelude.Maybe Prelude.Text)+acceptGrantResponse_grantArn = Lens.lens (\AcceptGrantResponse' {grantArn} -> grantArn) (\s@AcceptGrantResponse' {} a -> s {grantArn = a} :: AcceptGrantResponse)++-- | Grant status.+acceptGrantResponse_status :: Lens.Lens' AcceptGrantResponse (Prelude.Maybe GrantStatus)+acceptGrantResponse_status = Lens.lens (\AcceptGrantResponse' {status} -> status) (\s@AcceptGrantResponse' {} a -> s {status = a} :: AcceptGrantResponse)++-- | Grant version.+acceptGrantResponse_version :: Lens.Lens' AcceptGrantResponse (Prelude.Maybe Prelude.Text)+acceptGrantResponse_version = Lens.lens (\AcceptGrantResponse' {version} -> version) (\s@AcceptGrantResponse' {} a -> s {version = a} :: AcceptGrantResponse)++-- | The response's http status code.+acceptGrantResponse_httpStatus :: Lens.Lens' AcceptGrantResponse Prelude.Int+acceptGrantResponse_httpStatus = Lens.lens (\AcceptGrantResponse' {httpStatus} -> httpStatus) (\s@AcceptGrantResponse' {} a -> s {httpStatus = a} :: AcceptGrantResponse)++instance Prelude.NFData AcceptGrantResponse where+  rnf AcceptGrantResponse' {..} =+    Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CheckInLicense.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.LicenseManager.CheckInLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks in the specified license. Check in a license when it is no longer+-- in use.+module Amazonka.LicenseManager.CheckInLicense+  ( -- * Creating a Request+    CheckInLicense (..),+    newCheckInLicense,++    -- * Request Lenses+    checkInLicense_beneficiary,+    checkInLicense_licenseConsumptionToken,++    -- * Destructuring the Response+    CheckInLicenseResponse (..),+    newCheckInLicenseResponse,++    -- * Response Lenses+    checkInLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCheckInLicense' smart constructor.+data CheckInLicense = CheckInLicense'+  { -- | License beneficiary.+    beneficiary :: Prelude.Maybe Prelude.Text,+    -- | License consumption token.+    licenseConsumptionToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckInLicense' 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:+--+-- 'beneficiary', 'checkInLicense_beneficiary' - License beneficiary.+--+-- 'licenseConsumptionToken', 'checkInLicense_licenseConsumptionToken' - License consumption token.+newCheckInLicense ::+  -- | 'licenseConsumptionToken'+  Prelude.Text ->+  CheckInLicense+newCheckInLicense pLicenseConsumptionToken_ =+  CheckInLicense'+    { beneficiary = Prelude.Nothing,+      licenseConsumptionToken = pLicenseConsumptionToken_+    }++-- | License beneficiary.+checkInLicense_beneficiary :: Lens.Lens' CheckInLicense (Prelude.Maybe Prelude.Text)+checkInLicense_beneficiary = Lens.lens (\CheckInLicense' {beneficiary} -> beneficiary) (\s@CheckInLicense' {} a -> s {beneficiary = a} :: CheckInLicense)++-- | License consumption token.+checkInLicense_licenseConsumptionToken :: Lens.Lens' CheckInLicense Prelude.Text+checkInLicense_licenseConsumptionToken = Lens.lens (\CheckInLicense' {licenseConsumptionToken} -> licenseConsumptionToken) (\s@CheckInLicense' {} a -> s {licenseConsumptionToken = a} :: CheckInLicense)++instance Core.AWSRequest CheckInLicense where+  type+    AWSResponse CheckInLicense =+      CheckInLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CheckInLicenseResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CheckInLicense where+  hashWithSalt _salt CheckInLicense' {..} =+    _salt+      `Prelude.hashWithSalt` beneficiary+      `Prelude.hashWithSalt` licenseConsumptionToken++instance Prelude.NFData CheckInLicense where+  rnf CheckInLicense' {..} =+    Prelude.rnf beneficiary+      `Prelude.seq` Prelude.rnf licenseConsumptionToken++instance Data.ToHeaders CheckInLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CheckInLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CheckInLicense where+  toJSON CheckInLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Beneficiary" Data..=) Prelude.<$> beneficiary,+            Prelude.Just+              ( "LicenseConsumptionToken"+                  Data..= licenseConsumptionToken+              )+          ]+      )++instance Data.ToPath CheckInLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery CheckInLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCheckInLicenseResponse' smart constructor.+data CheckInLicenseResponse = CheckInLicenseResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckInLicenseResponse' 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', 'checkInLicenseResponse_httpStatus' - The response's http status code.+newCheckInLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CheckInLicenseResponse+newCheckInLicenseResponse pHttpStatus_ =+  CheckInLicenseResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+checkInLicenseResponse_httpStatus :: Lens.Lens' CheckInLicenseResponse Prelude.Int+checkInLicenseResponse_httpStatus = Lens.lens (\CheckInLicenseResponse' {httpStatus} -> httpStatus) (\s@CheckInLicenseResponse' {} a -> s {httpStatus = a} :: CheckInLicenseResponse)++instance Prelude.NFData CheckInLicenseResponse where+  rnf CheckInLicenseResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CheckoutBorrowLicense.hs view
@@ -0,0 +1,352 @@+{-# 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.LicenseManager.CheckoutBorrowLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks out the specified license for offline use.+module Amazonka.LicenseManager.CheckoutBorrowLicense+  ( -- * Creating a Request+    CheckoutBorrowLicense (..),+    newCheckoutBorrowLicense,++    -- * Request Lenses+    checkoutBorrowLicense_checkoutMetadata,+    checkoutBorrowLicense_nodeId,+    checkoutBorrowLicense_licenseArn,+    checkoutBorrowLicense_entitlements,+    checkoutBorrowLicense_digitalSignatureMethod,+    checkoutBorrowLicense_clientToken,++    -- * Destructuring the Response+    CheckoutBorrowLicenseResponse (..),+    newCheckoutBorrowLicenseResponse,++    -- * Response Lenses+    checkoutBorrowLicenseResponse_checkoutMetadata,+    checkoutBorrowLicenseResponse_entitlementsAllowed,+    checkoutBorrowLicenseResponse_expiration,+    checkoutBorrowLicenseResponse_issuedAt,+    checkoutBorrowLicenseResponse_licenseArn,+    checkoutBorrowLicenseResponse_licenseConsumptionToken,+    checkoutBorrowLicenseResponse_nodeId,+    checkoutBorrowLicenseResponse_signedToken,+    checkoutBorrowLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCheckoutBorrowLicense' smart constructor.+data CheckoutBorrowLicense = CheckoutBorrowLicense'+  { -- | Information about constraints.+    checkoutMetadata :: Prelude.Maybe [Metadata],+    -- | Node ID.+    nodeId :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license. The license must use the+    -- borrow consumption configuration.+    licenseArn :: Prelude.Text,+    -- | License entitlements. Partial checkouts are not supported.+    entitlements :: [EntitlementData],+    -- | Digital signature method. The possible value is JSON Web Signature (JWS)+    -- algorithm PS384. For more information, see+    -- <https://tools.ietf.org/html/rfc7518#section-3.5 RFC 7518 Digital Signature with RSASSA-PSS>.+    digitalSignatureMethod :: DigitalSignatureMethod,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckoutBorrowLicense' 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:+--+-- 'checkoutMetadata', 'checkoutBorrowLicense_checkoutMetadata' - Information about constraints.+--+-- 'nodeId', 'checkoutBorrowLicense_nodeId' - Node ID.+--+-- 'licenseArn', 'checkoutBorrowLicense_licenseArn' - Amazon Resource Name (ARN) of the license. The license must use the+-- borrow consumption configuration.+--+-- 'entitlements', 'checkoutBorrowLicense_entitlements' - License entitlements. Partial checkouts are not supported.+--+-- 'digitalSignatureMethod', 'checkoutBorrowLicense_digitalSignatureMethod' - Digital signature method. The possible value is JSON Web Signature (JWS)+-- algorithm PS384. For more information, see+-- <https://tools.ietf.org/html/rfc7518#section-3.5 RFC 7518 Digital Signature with RSASSA-PSS>.+--+-- 'clientToken', 'checkoutBorrowLicense_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newCheckoutBorrowLicense ::+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'digitalSignatureMethod'+  DigitalSignatureMethod ->+  -- | 'clientToken'+  Prelude.Text ->+  CheckoutBorrowLicense+newCheckoutBorrowLicense+  pLicenseArn_+  pDigitalSignatureMethod_+  pClientToken_ =+    CheckoutBorrowLicense'+      { checkoutMetadata =+          Prelude.Nothing,+        nodeId = Prelude.Nothing,+        licenseArn = pLicenseArn_,+        entitlements = Prelude.mempty,+        digitalSignatureMethod = pDigitalSignatureMethod_,+        clientToken = pClientToken_+      }++-- | Information about constraints.+checkoutBorrowLicense_checkoutMetadata :: Lens.Lens' CheckoutBorrowLicense (Prelude.Maybe [Metadata])+checkoutBorrowLicense_checkoutMetadata = Lens.lens (\CheckoutBorrowLicense' {checkoutMetadata} -> checkoutMetadata) (\s@CheckoutBorrowLicense' {} a -> s {checkoutMetadata = a} :: CheckoutBorrowLicense) Prelude.. Lens.mapping Lens.coerced++-- | Node ID.+checkoutBorrowLicense_nodeId :: Lens.Lens' CheckoutBorrowLicense (Prelude.Maybe Prelude.Text)+checkoutBorrowLicense_nodeId = Lens.lens (\CheckoutBorrowLicense' {nodeId} -> nodeId) (\s@CheckoutBorrowLicense' {} a -> s {nodeId = a} :: CheckoutBorrowLicense)++-- | Amazon Resource Name (ARN) of the license. The license must use the+-- borrow consumption configuration.+checkoutBorrowLicense_licenseArn :: Lens.Lens' CheckoutBorrowLicense Prelude.Text+checkoutBorrowLicense_licenseArn = Lens.lens (\CheckoutBorrowLicense' {licenseArn} -> licenseArn) (\s@CheckoutBorrowLicense' {} a -> s {licenseArn = a} :: CheckoutBorrowLicense)++-- | License entitlements. Partial checkouts are not supported.+checkoutBorrowLicense_entitlements :: Lens.Lens' CheckoutBorrowLicense [EntitlementData]+checkoutBorrowLicense_entitlements = Lens.lens (\CheckoutBorrowLicense' {entitlements} -> entitlements) (\s@CheckoutBorrowLicense' {} a -> s {entitlements = a} :: CheckoutBorrowLicense) Prelude.. Lens.coerced++-- | Digital signature method. The possible value is JSON Web Signature (JWS)+-- algorithm PS384. For more information, see+-- <https://tools.ietf.org/html/rfc7518#section-3.5 RFC 7518 Digital Signature with RSASSA-PSS>.+checkoutBorrowLicense_digitalSignatureMethod :: Lens.Lens' CheckoutBorrowLicense DigitalSignatureMethod+checkoutBorrowLicense_digitalSignatureMethod = Lens.lens (\CheckoutBorrowLicense' {digitalSignatureMethod} -> digitalSignatureMethod) (\s@CheckoutBorrowLicense' {} a -> s {digitalSignatureMethod = a} :: CheckoutBorrowLicense)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+checkoutBorrowLicense_clientToken :: Lens.Lens' CheckoutBorrowLicense Prelude.Text+checkoutBorrowLicense_clientToken = Lens.lens (\CheckoutBorrowLicense' {clientToken} -> clientToken) (\s@CheckoutBorrowLicense' {} a -> s {clientToken = a} :: CheckoutBorrowLicense)++instance Core.AWSRequest CheckoutBorrowLicense where+  type+    AWSResponse CheckoutBorrowLicense =+      CheckoutBorrowLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CheckoutBorrowLicenseResponse'+            Prelude.<$> ( x+                            Data..?> "CheckoutMetadata"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "EntitlementsAllowed"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Expiration")+            Prelude.<*> (x Data..?> "IssuedAt")+            Prelude.<*> (x Data..?> "LicenseArn")+            Prelude.<*> (x Data..?> "LicenseConsumptionToken")+            Prelude.<*> (x Data..?> "NodeId")+            Prelude.<*> (x Data..?> "SignedToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CheckoutBorrowLicense where+  hashWithSalt _salt CheckoutBorrowLicense' {..} =+    _salt+      `Prelude.hashWithSalt` checkoutMetadata+      `Prelude.hashWithSalt` nodeId+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` digitalSignatureMethod+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CheckoutBorrowLicense where+  rnf CheckoutBorrowLicense' {..} =+    Prelude.rnf checkoutMetadata+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf digitalSignatureMethod+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CheckoutBorrowLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CheckoutBorrowLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CheckoutBorrowLicense where+  toJSON CheckoutBorrowLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CheckoutMetadata" Data..=)+              Prelude.<$> checkoutMetadata,+            ("NodeId" Data..=) Prelude.<$> nodeId,+            Prelude.Just ("LicenseArn" Data..= licenseArn),+            Prelude.Just ("Entitlements" Data..= entitlements),+            Prelude.Just+              ( "DigitalSignatureMethod"+                  Data..= digitalSignatureMethod+              ),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CheckoutBorrowLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery CheckoutBorrowLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCheckoutBorrowLicenseResponse' smart constructor.+data CheckoutBorrowLicenseResponse = CheckoutBorrowLicenseResponse'+  { -- | Information about constraints.+    checkoutMetadata :: Prelude.Maybe [Metadata],+    -- | Allowed license entitlements.+    entitlementsAllowed :: Prelude.Maybe [EntitlementData],+    -- | Date and time at which the license checkout expires.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | Date and time at which the license checkout is issued.+    issuedAt :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | License consumption token.+    licenseConsumptionToken :: Prelude.Maybe Prelude.Text,+    -- | Node ID.+    nodeId :: Prelude.Maybe Prelude.Text,+    -- | Signed token.+    signedToken :: 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 'CheckoutBorrowLicenseResponse' 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:+--+-- 'checkoutMetadata', 'checkoutBorrowLicenseResponse_checkoutMetadata' - Information about constraints.+--+-- 'entitlementsAllowed', 'checkoutBorrowLicenseResponse_entitlementsAllowed' - Allowed license entitlements.+--+-- 'expiration', 'checkoutBorrowLicenseResponse_expiration' - Date and time at which the license checkout expires.+--+-- 'issuedAt', 'checkoutBorrowLicenseResponse_issuedAt' - Date and time at which the license checkout is issued.+--+-- 'licenseArn', 'checkoutBorrowLicenseResponse_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'licenseConsumptionToken', 'checkoutBorrowLicenseResponse_licenseConsumptionToken' - License consumption token.+--+-- 'nodeId', 'checkoutBorrowLicenseResponse_nodeId' - Node ID.+--+-- 'signedToken', 'checkoutBorrowLicenseResponse_signedToken' - Signed token.+--+-- 'httpStatus', 'checkoutBorrowLicenseResponse_httpStatus' - The response's http status code.+newCheckoutBorrowLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CheckoutBorrowLicenseResponse+newCheckoutBorrowLicenseResponse pHttpStatus_ =+  CheckoutBorrowLicenseResponse'+    { checkoutMetadata =+        Prelude.Nothing,+      entitlementsAllowed = Prelude.Nothing,+      expiration = Prelude.Nothing,+      issuedAt = Prelude.Nothing,+      licenseArn = Prelude.Nothing,+      licenseConsumptionToken = Prelude.Nothing,+      nodeId = Prelude.Nothing,+      signedToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about constraints.+checkoutBorrowLicenseResponse_checkoutMetadata :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe [Metadata])+checkoutBorrowLicenseResponse_checkoutMetadata = Lens.lens (\CheckoutBorrowLicenseResponse' {checkoutMetadata} -> checkoutMetadata) (\s@CheckoutBorrowLicenseResponse' {} a -> s {checkoutMetadata = a} :: CheckoutBorrowLicenseResponse) Prelude.. Lens.mapping Lens.coerced++-- | Allowed license entitlements.+checkoutBorrowLicenseResponse_entitlementsAllowed :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe [EntitlementData])+checkoutBorrowLicenseResponse_entitlementsAllowed = Lens.lens (\CheckoutBorrowLicenseResponse' {entitlementsAllowed} -> entitlementsAllowed) (\s@CheckoutBorrowLicenseResponse' {} a -> s {entitlementsAllowed = a} :: CheckoutBorrowLicenseResponse) Prelude.. Lens.mapping Lens.coerced++-- | Date and time at which the license checkout expires.+checkoutBorrowLicenseResponse_expiration :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_expiration = Lens.lens (\CheckoutBorrowLicenseResponse' {expiration} -> expiration) (\s@CheckoutBorrowLicenseResponse' {} a -> s {expiration = a} :: CheckoutBorrowLicenseResponse)++-- | Date and time at which the license checkout is issued.+checkoutBorrowLicenseResponse_issuedAt :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_issuedAt = Lens.lens (\CheckoutBorrowLicenseResponse' {issuedAt} -> issuedAt) (\s@CheckoutBorrowLicenseResponse' {} a -> s {issuedAt = a} :: CheckoutBorrowLicenseResponse)++-- | Amazon Resource Name (ARN) of the license.+checkoutBorrowLicenseResponse_licenseArn :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_licenseArn = Lens.lens (\CheckoutBorrowLicenseResponse' {licenseArn} -> licenseArn) (\s@CheckoutBorrowLicenseResponse' {} a -> s {licenseArn = a} :: CheckoutBorrowLicenseResponse)++-- | License consumption token.+checkoutBorrowLicenseResponse_licenseConsumptionToken :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_licenseConsumptionToken = Lens.lens (\CheckoutBorrowLicenseResponse' {licenseConsumptionToken} -> licenseConsumptionToken) (\s@CheckoutBorrowLicenseResponse' {} a -> s {licenseConsumptionToken = a} :: CheckoutBorrowLicenseResponse)++-- | Node ID.+checkoutBorrowLicenseResponse_nodeId :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_nodeId = Lens.lens (\CheckoutBorrowLicenseResponse' {nodeId} -> nodeId) (\s@CheckoutBorrowLicenseResponse' {} a -> s {nodeId = a} :: CheckoutBorrowLicenseResponse)++-- | Signed token.+checkoutBorrowLicenseResponse_signedToken :: Lens.Lens' CheckoutBorrowLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutBorrowLicenseResponse_signedToken = Lens.lens (\CheckoutBorrowLicenseResponse' {signedToken} -> signedToken) (\s@CheckoutBorrowLicenseResponse' {} a -> s {signedToken = a} :: CheckoutBorrowLicenseResponse)++-- | The response's http status code.+checkoutBorrowLicenseResponse_httpStatus :: Lens.Lens' CheckoutBorrowLicenseResponse Prelude.Int+checkoutBorrowLicenseResponse_httpStatus = Lens.lens (\CheckoutBorrowLicenseResponse' {httpStatus} -> httpStatus) (\s@CheckoutBorrowLicenseResponse' {} a -> s {httpStatus = a} :: CheckoutBorrowLicenseResponse)++instance Prelude.NFData CheckoutBorrowLicenseResponse where+  rnf CheckoutBorrowLicenseResponse' {..} =+    Prelude.rnf checkoutMetadata+      `Prelude.seq` Prelude.rnf entitlementsAllowed+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf issuedAt+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf licenseConsumptionToken+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf signedToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CheckoutLicense.hs view
@@ -0,0 +1,355 @@+{-# 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.LicenseManager.CheckoutLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks out the specified license.+--+-- If the account that created the license is the same that is performing+-- the check out, you must specify the account as the beneficiary.+module Amazonka.LicenseManager.CheckoutLicense+  ( -- * Creating a Request+    CheckoutLicense (..),+    newCheckoutLicense,++    -- * Request Lenses+    checkoutLicense_beneficiary,+    checkoutLicense_nodeId,+    checkoutLicense_productSKU,+    checkoutLicense_checkoutType,+    checkoutLicense_keyFingerprint,+    checkoutLicense_entitlements,+    checkoutLicense_clientToken,++    -- * Destructuring the Response+    CheckoutLicenseResponse (..),+    newCheckoutLicenseResponse,++    -- * Response Lenses+    checkoutLicenseResponse_checkoutType,+    checkoutLicenseResponse_entitlementsAllowed,+    checkoutLicenseResponse_expiration,+    checkoutLicenseResponse_issuedAt,+    checkoutLicenseResponse_licenseArn,+    checkoutLicenseResponse_licenseConsumptionToken,+    checkoutLicenseResponse_nodeId,+    checkoutLicenseResponse_signedToken,+    checkoutLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCheckoutLicense' smart constructor.+data CheckoutLicense = CheckoutLicense'+  { -- | License beneficiary.+    beneficiary :: Prelude.Maybe Prelude.Text,+    -- | Node ID.+    nodeId :: Prelude.Maybe Prelude.Text,+    -- | Product SKU.+    productSKU :: Prelude.Text,+    -- | Checkout type.+    checkoutType :: CheckoutType,+    -- | Key fingerprint identifying the license.+    keyFingerprint :: Prelude.Text,+    -- | License entitlements.+    entitlements :: [EntitlementData],+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckoutLicense' 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:+--+-- 'beneficiary', 'checkoutLicense_beneficiary' - License beneficiary.+--+-- 'nodeId', 'checkoutLicense_nodeId' - Node ID.+--+-- 'productSKU', 'checkoutLicense_productSKU' - Product SKU.+--+-- 'checkoutType', 'checkoutLicense_checkoutType' - Checkout type.+--+-- 'keyFingerprint', 'checkoutLicense_keyFingerprint' - Key fingerprint identifying the license.+--+-- 'entitlements', 'checkoutLicense_entitlements' - License entitlements.+--+-- 'clientToken', 'checkoutLicense_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newCheckoutLicense ::+  -- | 'productSKU'+  Prelude.Text ->+  -- | 'checkoutType'+  CheckoutType ->+  -- | 'keyFingerprint'+  Prelude.Text ->+  -- | 'clientToken'+  Prelude.Text ->+  CheckoutLicense+newCheckoutLicense+  pProductSKU_+  pCheckoutType_+  pKeyFingerprint_+  pClientToken_ =+    CheckoutLicense'+      { beneficiary = Prelude.Nothing,+        nodeId = Prelude.Nothing,+        productSKU = pProductSKU_,+        checkoutType = pCheckoutType_,+        keyFingerprint = pKeyFingerprint_,+        entitlements = Prelude.mempty,+        clientToken = pClientToken_+      }++-- | License beneficiary.+checkoutLicense_beneficiary :: Lens.Lens' CheckoutLicense (Prelude.Maybe Prelude.Text)+checkoutLicense_beneficiary = Lens.lens (\CheckoutLicense' {beneficiary} -> beneficiary) (\s@CheckoutLicense' {} a -> s {beneficiary = a} :: CheckoutLicense)++-- | Node ID.+checkoutLicense_nodeId :: Lens.Lens' CheckoutLicense (Prelude.Maybe Prelude.Text)+checkoutLicense_nodeId = Lens.lens (\CheckoutLicense' {nodeId} -> nodeId) (\s@CheckoutLicense' {} a -> s {nodeId = a} :: CheckoutLicense)++-- | Product SKU.+checkoutLicense_productSKU :: Lens.Lens' CheckoutLicense Prelude.Text+checkoutLicense_productSKU = Lens.lens (\CheckoutLicense' {productSKU} -> productSKU) (\s@CheckoutLicense' {} a -> s {productSKU = a} :: CheckoutLicense)++-- | Checkout type.+checkoutLicense_checkoutType :: Lens.Lens' CheckoutLicense CheckoutType+checkoutLicense_checkoutType = Lens.lens (\CheckoutLicense' {checkoutType} -> checkoutType) (\s@CheckoutLicense' {} a -> s {checkoutType = a} :: CheckoutLicense)++-- | Key fingerprint identifying the license.+checkoutLicense_keyFingerprint :: Lens.Lens' CheckoutLicense Prelude.Text+checkoutLicense_keyFingerprint = Lens.lens (\CheckoutLicense' {keyFingerprint} -> keyFingerprint) (\s@CheckoutLicense' {} a -> s {keyFingerprint = a} :: CheckoutLicense)++-- | License entitlements.+checkoutLicense_entitlements :: Lens.Lens' CheckoutLicense [EntitlementData]+checkoutLicense_entitlements = Lens.lens (\CheckoutLicense' {entitlements} -> entitlements) (\s@CheckoutLicense' {} a -> s {entitlements = a} :: CheckoutLicense) Prelude.. Lens.coerced++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+checkoutLicense_clientToken :: Lens.Lens' CheckoutLicense Prelude.Text+checkoutLicense_clientToken = Lens.lens (\CheckoutLicense' {clientToken} -> clientToken) (\s@CheckoutLicense' {} a -> s {clientToken = a} :: CheckoutLicense)++instance Core.AWSRequest CheckoutLicense where+  type+    AWSResponse CheckoutLicense =+      CheckoutLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CheckoutLicenseResponse'+            Prelude.<$> (x Data..?> "CheckoutType")+            Prelude.<*> ( x+                            Data..?> "EntitlementsAllowed"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Expiration")+            Prelude.<*> (x Data..?> "IssuedAt")+            Prelude.<*> (x Data..?> "LicenseArn")+            Prelude.<*> (x Data..?> "LicenseConsumptionToken")+            Prelude.<*> (x Data..?> "NodeId")+            Prelude.<*> (x Data..?> "SignedToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CheckoutLicense where+  hashWithSalt _salt CheckoutLicense' {..} =+    _salt+      `Prelude.hashWithSalt` beneficiary+      `Prelude.hashWithSalt` nodeId+      `Prelude.hashWithSalt` productSKU+      `Prelude.hashWithSalt` checkoutType+      `Prelude.hashWithSalt` keyFingerprint+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CheckoutLicense where+  rnf CheckoutLicense' {..} =+    Prelude.rnf beneficiary+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf productSKU+      `Prelude.seq` Prelude.rnf checkoutType+      `Prelude.seq` Prelude.rnf keyFingerprint+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CheckoutLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CheckoutLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CheckoutLicense where+  toJSON CheckoutLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Beneficiary" Data..=) Prelude.<$> beneficiary,+            ("NodeId" Data..=) Prelude.<$> nodeId,+            Prelude.Just ("ProductSKU" Data..= productSKU),+            Prelude.Just ("CheckoutType" Data..= checkoutType),+            Prelude.Just+              ("KeyFingerprint" Data..= keyFingerprint),+            Prelude.Just ("Entitlements" Data..= entitlements),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CheckoutLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery CheckoutLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCheckoutLicenseResponse' smart constructor.+data CheckoutLicenseResponse = CheckoutLicenseResponse'+  { -- | Checkout type.+    checkoutType :: Prelude.Maybe CheckoutType,+    -- | Allowed license entitlements.+    entitlementsAllowed :: Prelude.Maybe [EntitlementData],+    -- | Date and time at which the license checkout expires.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | Date and time at which the license checkout is issued.+    issuedAt :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the checkout license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | License consumption token.+    licenseConsumptionToken :: Prelude.Maybe Prelude.Text,+    -- | Node ID.+    nodeId :: Prelude.Maybe Prelude.Text,+    -- | Signed token.+    signedToken :: 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 'CheckoutLicenseResponse' 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:+--+-- 'checkoutType', 'checkoutLicenseResponse_checkoutType' - Checkout type.+--+-- 'entitlementsAllowed', 'checkoutLicenseResponse_entitlementsAllowed' - Allowed license entitlements.+--+-- 'expiration', 'checkoutLicenseResponse_expiration' - Date and time at which the license checkout expires.+--+-- 'issuedAt', 'checkoutLicenseResponse_issuedAt' - Date and time at which the license checkout is issued.+--+-- 'licenseArn', 'checkoutLicenseResponse_licenseArn' - Amazon Resource Name (ARN) of the checkout license.+--+-- 'licenseConsumptionToken', 'checkoutLicenseResponse_licenseConsumptionToken' - License consumption token.+--+-- 'nodeId', 'checkoutLicenseResponse_nodeId' - Node ID.+--+-- 'signedToken', 'checkoutLicenseResponse_signedToken' - Signed token.+--+-- 'httpStatus', 'checkoutLicenseResponse_httpStatus' - The response's http status code.+newCheckoutLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CheckoutLicenseResponse+newCheckoutLicenseResponse pHttpStatus_ =+  CheckoutLicenseResponse'+    { checkoutType =+        Prelude.Nothing,+      entitlementsAllowed = Prelude.Nothing,+      expiration = Prelude.Nothing,+      issuedAt = Prelude.Nothing,+      licenseArn = Prelude.Nothing,+      licenseConsumptionToken = Prelude.Nothing,+      nodeId = Prelude.Nothing,+      signedToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Checkout type.+checkoutLicenseResponse_checkoutType :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe CheckoutType)+checkoutLicenseResponse_checkoutType = Lens.lens (\CheckoutLicenseResponse' {checkoutType} -> checkoutType) (\s@CheckoutLicenseResponse' {} a -> s {checkoutType = a} :: CheckoutLicenseResponse)++-- | Allowed license entitlements.+checkoutLicenseResponse_entitlementsAllowed :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe [EntitlementData])+checkoutLicenseResponse_entitlementsAllowed = Lens.lens (\CheckoutLicenseResponse' {entitlementsAllowed} -> entitlementsAllowed) (\s@CheckoutLicenseResponse' {} a -> s {entitlementsAllowed = a} :: CheckoutLicenseResponse) Prelude.. Lens.mapping Lens.coerced++-- | Date and time at which the license checkout expires.+checkoutLicenseResponse_expiration :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_expiration = Lens.lens (\CheckoutLicenseResponse' {expiration} -> expiration) (\s@CheckoutLicenseResponse' {} a -> s {expiration = a} :: CheckoutLicenseResponse)++-- | Date and time at which the license checkout is issued.+checkoutLicenseResponse_issuedAt :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_issuedAt = Lens.lens (\CheckoutLicenseResponse' {issuedAt} -> issuedAt) (\s@CheckoutLicenseResponse' {} a -> s {issuedAt = a} :: CheckoutLicenseResponse)++-- | Amazon Resource Name (ARN) of the checkout license.+checkoutLicenseResponse_licenseArn :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_licenseArn = Lens.lens (\CheckoutLicenseResponse' {licenseArn} -> licenseArn) (\s@CheckoutLicenseResponse' {} a -> s {licenseArn = a} :: CheckoutLicenseResponse)++-- | License consumption token.+checkoutLicenseResponse_licenseConsumptionToken :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_licenseConsumptionToken = Lens.lens (\CheckoutLicenseResponse' {licenseConsumptionToken} -> licenseConsumptionToken) (\s@CheckoutLicenseResponse' {} a -> s {licenseConsumptionToken = a} :: CheckoutLicenseResponse)++-- | Node ID.+checkoutLicenseResponse_nodeId :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_nodeId = Lens.lens (\CheckoutLicenseResponse' {nodeId} -> nodeId) (\s@CheckoutLicenseResponse' {} a -> s {nodeId = a} :: CheckoutLicenseResponse)++-- | Signed token.+checkoutLicenseResponse_signedToken :: Lens.Lens' CheckoutLicenseResponse (Prelude.Maybe Prelude.Text)+checkoutLicenseResponse_signedToken = Lens.lens (\CheckoutLicenseResponse' {signedToken} -> signedToken) (\s@CheckoutLicenseResponse' {} a -> s {signedToken = a} :: CheckoutLicenseResponse)++-- | The response's http status code.+checkoutLicenseResponse_httpStatus :: Lens.Lens' CheckoutLicenseResponse Prelude.Int+checkoutLicenseResponse_httpStatus = Lens.lens (\CheckoutLicenseResponse' {httpStatus} -> httpStatus) (\s@CheckoutLicenseResponse' {} a -> s {httpStatus = a} :: CheckoutLicenseResponse)++instance Prelude.NFData CheckoutLicenseResponse where+  rnf CheckoutLicenseResponse' {..} =+    Prelude.rnf checkoutType+      `Prelude.seq` Prelude.rnf entitlementsAllowed+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf issuedAt+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf licenseConsumptionToken+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf signedToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateGrant.hs view
@@ -0,0 +1,284 @@+{-# 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.LicenseManager.CreateGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a grant for the specified license. A grant shares the use of+-- license entitlements with specific Amazon Web Services accounts.+module Amazonka.LicenseManager.CreateGrant+  ( -- * Creating a Request+    CreateGrant (..),+    newCreateGrant,++    -- * Request Lenses+    createGrant_clientToken,+    createGrant_grantName,+    createGrant_licenseArn,+    createGrant_principals,+    createGrant_homeRegion,+    createGrant_allowedOperations,++    -- * Destructuring the Response+    CreateGrantResponse (..),+    newCreateGrantResponse,++    -- * Response Lenses+    createGrantResponse_grantArn,+    createGrantResponse_status,+    createGrantResponse_version,+    createGrantResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGrant' smart constructor.+data CreateGrant = CreateGrant'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text,+    -- | Grant name.+    grantName :: Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text,+    -- | The grant principals. This value should be specified as an Amazon+    -- Resource Name (ARN).+    principals :: Prelude.NonEmpty Prelude.Text,+    -- | Home Region of the grant.+    homeRegion :: Prelude.Text,+    -- | Allowed operations for the grant.+    allowedOperations :: Prelude.NonEmpty AllowedOperation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGrant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createGrant_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'grantName', 'createGrant_grantName' - Grant name.+--+-- 'licenseArn', 'createGrant_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'principals', 'createGrant_principals' - The grant principals. This value should be specified as an Amazon+-- Resource Name (ARN).+--+-- 'homeRegion', 'createGrant_homeRegion' - Home Region of the grant.+--+-- 'allowedOperations', 'createGrant_allowedOperations' - Allowed operations for the grant.+newCreateGrant ::+  -- | 'clientToken'+  Prelude.Text ->+  -- | 'grantName'+  Prelude.Text ->+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'principals'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'homeRegion'+  Prelude.Text ->+  -- | 'allowedOperations'+  Prelude.NonEmpty AllowedOperation ->+  CreateGrant+newCreateGrant+  pClientToken_+  pGrantName_+  pLicenseArn_+  pPrincipals_+  pHomeRegion_+  pAllowedOperations_ =+    CreateGrant'+      { clientToken = pClientToken_,+        grantName = pGrantName_,+        licenseArn = pLicenseArn_,+        principals = Lens.coerced Lens.# pPrincipals_,+        homeRegion = pHomeRegion_,+        allowedOperations =+          Lens.coerced Lens.# pAllowedOperations_+      }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createGrant_clientToken :: Lens.Lens' CreateGrant Prelude.Text+createGrant_clientToken = Lens.lens (\CreateGrant' {clientToken} -> clientToken) (\s@CreateGrant' {} a -> s {clientToken = a} :: CreateGrant)++-- | Grant name.+createGrant_grantName :: Lens.Lens' CreateGrant Prelude.Text+createGrant_grantName = Lens.lens (\CreateGrant' {grantName} -> grantName) (\s@CreateGrant' {} a -> s {grantName = a} :: CreateGrant)++-- | Amazon Resource Name (ARN) of the license.+createGrant_licenseArn :: Lens.Lens' CreateGrant Prelude.Text+createGrant_licenseArn = Lens.lens (\CreateGrant' {licenseArn} -> licenseArn) (\s@CreateGrant' {} a -> s {licenseArn = a} :: CreateGrant)++-- | The grant principals. This value should be specified as an Amazon+-- Resource Name (ARN).+createGrant_principals :: Lens.Lens' CreateGrant (Prelude.NonEmpty Prelude.Text)+createGrant_principals = Lens.lens (\CreateGrant' {principals} -> principals) (\s@CreateGrant' {} a -> s {principals = a} :: CreateGrant) Prelude.. Lens.coerced++-- | Home Region of the grant.+createGrant_homeRegion :: Lens.Lens' CreateGrant Prelude.Text+createGrant_homeRegion = Lens.lens (\CreateGrant' {homeRegion} -> homeRegion) (\s@CreateGrant' {} a -> s {homeRegion = a} :: CreateGrant)++-- | Allowed operations for the grant.+createGrant_allowedOperations :: Lens.Lens' CreateGrant (Prelude.NonEmpty AllowedOperation)+createGrant_allowedOperations = Lens.lens (\CreateGrant' {allowedOperations} -> allowedOperations) (\s@CreateGrant' {} a -> s {allowedOperations = a} :: CreateGrant) Prelude.. Lens.coerced++instance Core.AWSRequest CreateGrant where+  type AWSResponse CreateGrant = CreateGrantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGrantResponse'+            Prelude.<$> (x Data..?> "GrantArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGrant where+  hashWithSalt _salt CreateGrant' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` grantName+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` principals+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` allowedOperations++instance Prelude.NFData CreateGrant where+  rnf CreateGrant' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf grantName+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf principals+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf allowedOperations++instance Data.ToHeaders CreateGrant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateGrant" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGrant where+  toJSON CreateGrant' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ClientToken" Data..= clientToken),+            Prelude.Just ("GrantName" Data..= grantName),+            Prelude.Just ("LicenseArn" Data..= licenseArn),+            Prelude.Just ("Principals" Data..= principals),+            Prelude.Just ("HomeRegion" Data..= homeRegion),+            Prelude.Just+              ("AllowedOperations" Data..= allowedOperations)+          ]+      )++instance Data.ToPath CreateGrant where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateGrant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGrantResponse' smart constructor.+data CreateGrantResponse = CreateGrantResponse'+  { -- | Grant ARN.+    grantArn :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | Grant version.+    version :: 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 'CreateGrantResponse' 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:+--+-- 'grantArn', 'createGrantResponse_grantArn' - Grant ARN.+--+-- 'status', 'createGrantResponse_status' - Grant status.+--+-- 'version', 'createGrantResponse_version' - Grant version.+--+-- 'httpStatus', 'createGrantResponse_httpStatus' - The response's http status code.+newCreateGrantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateGrantResponse+newCreateGrantResponse pHttpStatus_ =+  CreateGrantResponse'+    { grantArn = Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant ARN.+createGrantResponse_grantArn :: Lens.Lens' CreateGrantResponse (Prelude.Maybe Prelude.Text)+createGrantResponse_grantArn = Lens.lens (\CreateGrantResponse' {grantArn} -> grantArn) (\s@CreateGrantResponse' {} a -> s {grantArn = a} :: CreateGrantResponse)++-- | Grant status.+createGrantResponse_status :: Lens.Lens' CreateGrantResponse (Prelude.Maybe GrantStatus)+createGrantResponse_status = Lens.lens (\CreateGrantResponse' {status} -> status) (\s@CreateGrantResponse' {} a -> s {status = a} :: CreateGrantResponse)++-- | Grant version.+createGrantResponse_version :: Lens.Lens' CreateGrantResponse (Prelude.Maybe Prelude.Text)+createGrantResponse_version = Lens.lens (\CreateGrantResponse' {version} -> version) (\s@CreateGrantResponse' {} a -> s {version = a} :: CreateGrantResponse)++-- | The response's http status code.+createGrantResponse_httpStatus :: Lens.Lens' CreateGrantResponse Prelude.Int+createGrantResponse_httpStatus = Lens.lens (\CreateGrantResponse' {httpStatus} -> httpStatus) (\s@CreateGrantResponse' {} a -> s {httpStatus = a} :: CreateGrantResponse)++instance Prelude.NFData CreateGrantResponse where+  rnf CreateGrantResponse' {..} =+    Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateGrantVersion.hs view
@@ -0,0 +1,282 @@+{-# 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.LicenseManager.CreateGrantVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new version of the specified grant.+module Amazonka.LicenseManager.CreateGrantVersion+  ( -- * Creating a Request+    CreateGrantVersion (..),+    newCreateGrantVersion,++    -- * Request Lenses+    createGrantVersion_allowedOperations,+    createGrantVersion_grantName,+    createGrantVersion_sourceVersion,+    createGrantVersion_status,+    createGrantVersion_statusReason,+    createGrantVersion_clientToken,+    createGrantVersion_grantArn,++    -- * Destructuring the Response+    CreateGrantVersionResponse (..),+    newCreateGrantVersionResponse,++    -- * Response Lenses+    createGrantVersionResponse_grantArn,+    createGrantVersionResponse_status,+    createGrantVersionResponse_version,+    createGrantVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGrantVersion' smart constructor.+data CreateGrantVersion = CreateGrantVersion'+  { -- | Allowed operations for the grant.+    allowedOperations :: Prelude.Maybe (Prelude.NonEmpty AllowedOperation),+    -- | Grant name.+    grantName :: Prelude.Maybe Prelude.Text,+    -- | Current version of the grant.+    sourceVersion :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | Grant status reason.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text,+    -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGrantVersion' 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:+--+-- 'allowedOperations', 'createGrantVersion_allowedOperations' - Allowed operations for the grant.+--+-- 'grantName', 'createGrantVersion_grantName' - Grant name.+--+-- 'sourceVersion', 'createGrantVersion_sourceVersion' - Current version of the grant.+--+-- 'status', 'createGrantVersion_status' - Grant status.+--+-- 'statusReason', 'createGrantVersion_statusReason' - Grant status reason.+--+-- 'clientToken', 'createGrantVersion_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'grantArn', 'createGrantVersion_grantArn' - Amazon Resource Name (ARN) of the grant.+newCreateGrantVersion ::+  -- | 'clientToken'+  Prelude.Text ->+  -- | 'grantArn'+  Prelude.Text ->+  CreateGrantVersion+newCreateGrantVersion pClientToken_ pGrantArn_ =+  CreateGrantVersion'+    { allowedOperations =+        Prelude.Nothing,+      grantName = Prelude.Nothing,+      sourceVersion = Prelude.Nothing,+      status = Prelude.Nothing,+      statusReason = Prelude.Nothing,+      clientToken = pClientToken_,+      grantArn = pGrantArn_+    }++-- | Allowed operations for the grant.+createGrantVersion_allowedOperations :: Lens.Lens' CreateGrantVersion (Prelude.Maybe (Prelude.NonEmpty AllowedOperation))+createGrantVersion_allowedOperations = Lens.lens (\CreateGrantVersion' {allowedOperations} -> allowedOperations) (\s@CreateGrantVersion' {} a -> s {allowedOperations = a} :: CreateGrantVersion) Prelude.. Lens.mapping Lens.coerced++-- | Grant name.+createGrantVersion_grantName :: Lens.Lens' CreateGrantVersion (Prelude.Maybe Prelude.Text)+createGrantVersion_grantName = Lens.lens (\CreateGrantVersion' {grantName} -> grantName) (\s@CreateGrantVersion' {} a -> s {grantName = a} :: CreateGrantVersion)++-- | Current version of the grant.+createGrantVersion_sourceVersion :: Lens.Lens' CreateGrantVersion (Prelude.Maybe Prelude.Text)+createGrantVersion_sourceVersion = Lens.lens (\CreateGrantVersion' {sourceVersion} -> sourceVersion) (\s@CreateGrantVersion' {} a -> s {sourceVersion = a} :: CreateGrantVersion)++-- | Grant status.+createGrantVersion_status :: Lens.Lens' CreateGrantVersion (Prelude.Maybe GrantStatus)+createGrantVersion_status = Lens.lens (\CreateGrantVersion' {status} -> status) (\s@CreateGrantVersion' {} a -> s {status = a} :: CreateGrantVersion)++-- | Grant status reason.+createGrantVersion_statusReason :: Lens.Lens' CreateGrantVersion (Prelude.Maybe Prelude.Text)+createGrantVersion_statusReason = Lens.lens (\CreateGrantVersion' {statusReason} -> statusReason) (\s@CreateGrantVersion' {} a -> s {statusReason = a} :: CreateGrantVersion)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createGrantVersion_clientToken :: Lens.Lens' CreateGrantVersion Prelude.Text+createGrantVersion_clientToken = Lens.lens (\CreateGrantVersion' {clientToken} -> clientToken) (\s@CreateGrantVersion' {} a -> s {clientToken = a} :: CreateGrantVersion)++-- | Amazon Resource Name (ARN) of the grant.+createGrantVersion_grantArn :: Lens.Lens' CreateGrantVersion Prelude.Text+createGrantVersion_grantArn = Lens.lens (\CreateGrantVersion' {grantArn} -> grantArn) (\s@CreateGrantVersion' {} a -> s {grantArn = a} :: CreateGrantVersion)++instance Core.AWSRequest CreateGrantVersion where+  type+    AWSResponse CreateGrantVersion =+      CreateGrantVersionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGrantVersionResponse'+            Prelude.<$> (x Data..?> "GrantArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGrantVersion where+  hashWithSalt _salt CreateGrantVersion' {..} =+    _salt+      `Prelude.hashWithSalt` allowedOperations+      `Prelude.hashWithSalt` grantName+      `Prelude.hashWithSalt` sourceVersion+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` grantArn++instance Prelude.NFData CreateGrantVersion where+  rnf CreateGrantVersion' {..} =+    Prelude.rnf allowedOperations+      `Prelude.seq` Prelude.rnf grantName+      `Prelude.seq` Prelude.rnf sourceVersion+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf grantArn++instance Data.ToHeaders CreateGrantVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateGrantVersion" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGrantVersion where+  toJSON CreateGrantVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowedOperations" Data..=)+              Prelude.<$> allowedOperations,+            ("GrantName" Data..=) Prelude.<$> grantName,+            ("SourceVersion" Data..=) Prelude.<$> sourceVersion,+            ("Status" Data..=) Prelude.<$> status,+            ("StatusReason" Data..=) Prelude.<$> statusReason,+            Prelude.Just ("ClientToken" Data..= clientToken),+            Prelude.Just ("GrantArn" Data..= grantArn)+          ]+      )++instance Data.ToPath CreateGrantVersion where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateGrantVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGrantVersionResponse' smart constructor.+data CreateGrantVersionResponse = CreateGrantVersionResponse'+  { -- | Grant ARN.+    grantArn :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | New version of the grant.+    version :: 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 'CreateGrantVersionResponse' 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:+--+-- 'grantArn', 'createGrantVersionResponse_grantArn' - Grant ARN.+--+-- 'status', 'createGrantVersionResponse_status' - Grant status.+--+-- 'version', 'createGrantVersionResponse_version' - New version of the grant.+--+-- 'httpStatus', 'createGrantVersionResponse_httpStatus' - The response's http status code.+newCreateGrantVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateGrantVersionResponse+newCreateGrantVersionResponse pHttpStatus_ =+  CreateGrantVersionResponse'+    { grantArn =+        Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant ARN.+createGrantVersionResponse_grantArn :: Lens.Lens' CreateGrantVersionResponse (Prelude.Maybe Prelude.Text)+createGrantVersionResponse_grantArn = Lens.lens (\CreateGrantVersionResponse' {grantArn} -> grantArn) (\s@CreateGrantVersionResponse' {} a -> s {grantArn = a} :: CreateGrantVersionResponse)++-- | Grant status.+createGrantVersionResponse_status :: Lens.Lens' CreateGrantVersionResponse (Prelude.Maybe GrantStatus)+createGrantVersionResponse_status = Lens.lens (\CreateGrantVersionResponse' {status} -> status) (\s@CreateGrantVersionResponse' {} a -> s {status = a} :: CreateGrantVersionResponse)++-- | New version of the grant.+createGrantVersionResponse_version :: Lens.Lens' CreateGrantVersionResponse (Prelude.Maybe Prelude.Text)+createGrantVersionResponse_version = Lens.lens (\CreateGrantVersionResponse' {version} -> version) (\s@CreateGrantVersionResponse' {} a -> s {version = a} :: CreateGrantVersionResponse)++-- | The response's http status code.+createGrantVersionResponse_httpStatus :: Lens.Lens' CreateGrantVersionResponse Prelude.Int+createGrantVersionResponse_httpStatus = Lens.lens (\CreateGrantVersionResponse' {httpStatus} -> httpStatus) (\s@CreateGrantVersionResponse' {} a -> s {httpStatus = a} :: CreateGrantVersionResponse)++instance Prelude.NFData CreateGrantVersionResponse where+  rnf CreateGrantVersionResponse' {..} =+    Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateLicense.hs view
@@ -0,0 +1,369 @@+{-# 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.LicenseManager.CreateLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a license.+module Amazonka.LicenseManager.CreateLicense+  ( -- * Creating a Request+    CreateLicense (..),+    newCreateLicense,++    -- * Request Lenses+    createLicense_licenseMetadata,+    createLicense_licenseName,+    createLicense_productName,+    createLicense_productSKU,+    createLicense_issuer,+    createLicense_homeRegion,+    createLicense_validity,+    createLicense_entitlements,+    createLicense_beneficiary,+    createLicense_consumptionConfiguration,+    createLicense_clientToken,++    -- * Destructuring the Response+    CreateLicenseResponse (..),+    newCreateLicenseResponse,++    -- * Response Lenses+    createLicenseResponse_licenseArn,+    createLicenseResponse_status,+    createLicenseResponse_version,+    createLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLicense' smart constructor.+data CreateLicense = CreateLicense'+  { -- | Information about the license.+    licenseMetadata :: Prelude.Maybe [Metadata],+    -- | License name.+    licenseName :: Prelude.Text,+    -- | Product name.+    productName :: Prelude.Text,+    -- | Product SKU.+    productSKU :: Prelude.Text,+    -- | License issuer.+    issuer :: Issuer,+    -- | Home Region for the license.+    homeRegion :: Prelude.Text,+    -- | Date and time range during which the license is valid, in ISO8601-UTC+    -- format.+    validity :: DatetimeRange,+    -- | License entitlements.+    entitlements :: [Entitlement],+    -- | License beneficiary.+    beneficiary :: Prelude.Text,+    -- | Configuration for consumption of the license. Choose a provisional+    -- configuration for workloads running with continuous connectivity. Choose+    -- a borrow configuration for workloads with offline usage.+    consumptionConfiguration :: ConsumptionConfiguration,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLicense' 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:+--+-- 'licenseMetadata', 'createLicense_licenseMetadata' - Information about the license.+--+-- 'licenseName', 'createLicense_licenseName' - License name.+--+-- 'productName', 'createLicense_productName' - Product name.+--+-- 'productSKU', 'createLicense_productSKU' - Product SKU.+--+-- 'issuer', 'createLicense_issuer' - License issuer.+--+-- 'homeRegion', 'createLicense_homeRegion' - Home Region for the license.+--+-- 'validity', 'createLicense_validity' - Date and time range during which the license is valid, in ISO8601-UTC+-- format.+--+-- 'entitlements', 'createLicense_entitlements' - License entitlements.+--+-- 'beneficiary', 'createLicense_beneficiary' - License beneficiary.+--+-- 'consumptionConfiguration', 'createLicense_consumptionConfiguration' - Configuration for consumption of the license. Choose a provisional+-- configuration for workloads running with continuous connectivity. Choose+-- a borrow configuration for workloads with offline usage.+--+-- 'clientToken', 'createLicense_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newCreateLicense ::+  -- | 'licenseName'+  Prelude.Text ->+  -- | 'productName'+  Prelude.Text ->+  -- | 'productSKU'+  Prelude.Text ->+  -- | 'issuer'+  Issuer ->+  -- | 'homeRegion'+  Prelude.Text ->+  -- | 'validity'+  DatetimeRange ->+  -- | 'beneficiary'+  Prelude.Text ->+  -- | 'consumptionConfiguration'+  ConsumptionConfiguration ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateLicense+newCreateLicense+  pLicenseName_+  pProductName_+  pProductSKU_+  pIssuer_+  pHomeRegion_+  pValidity_+  pBeneficiary_+  pConsumptionConfiguration_+  pClientToken_ =+    CreateLicense'+      { licenseMetadata = Prelude.Nothing,+        licenseName = pLicenseName_,+        productName = pProductName_,+        productSKU = pProductSKU_,+        issuer = pIssuer_,+        homeRegion = pHomeRegion_,+        validity = pValidity_,+        entitlements = Prelude.mempty,+        beneficiary = pBeneficiary_,+        consumptionConfiguration =+          pConsumptionConfiguration_,+        clientToken = pClientToken_+      }++-- | Information about the license.+createLicense_licenseMetadata :: Lens.Lens' CreateLicense (Prelude.Maybe [Metadata])+createLicense_licenseMetadata = Lens.lens (\CreateLicense' {licenseMetadata} -> licenseMetadata) (\s@CreateLicense' {} a -> s {licenseMetadata = a} :: CreateLicense) Prelude.. Lens.mapping Lens.coerced++-- | License name.+createLicense_licenseName :: Lens.Lens' CreateLicense Prelude.Text+createLicense_licenseName = Lens.lens (\CreateLicense' {licenseName} -> licenseName) (\s@CreateLicense' {} a -> s {licenseName = a} :: CreateLicense)++-- | Product name.+createLicense_productName :: Lens.Lens' CreateLicense Prelude.Text+createLicense_productName = Lens.lens (\CreateLicense' {productName} -> productName) (\s@CreateLicense' {} a -> s {productName = a} :: CreateLicense)++-- | Product SKU.+createLicense_productSKU :: Lens.Lens' CreateLicense Prelude.Text+createLicense_productSKU = Lens.lens (\CreateLicense' {productSKU} -> productSKU) (\s@CreateLicense' {} a -> s {productSKU = a} :: CreateLicense)++-- | License issuer.+createLicense_issuer :: Lens.Lens' CreateLicense Issuer+createLicense_issuer = Lens.lens (\CreateLicense' {issuer} -> issuer) (\s@CreateLicense' {} a -> s {issuer = a} :: CreateLicense)++-- | Home Region for the license.+createLicense_homeRegion :: Lens.Lens' CreateLicense Prelude.Text+createLicense_homeRegion = Lens.lens (\CreateLicense' {homeRegion} -> homeRegion) (\s@CreateLicense' {} a -> s {homeRegion = a} :: CreateLicense)++-- | Date and time range during which the license is valid, in ISO8601-UTC+-- format.+createLicense_validity :: Lens.Lens' CreateLicense DatetimeRange+createLicense_validity = Lens.lens (\CreateLicense' {validity} -> validity) (\s@CreateLicense' {} a -> s {validity = a} :: CreateLicense)++-- | License entitlements.+createLicense_entitlements :: Lens.Lens' CreateLicense [Entitlement]+createLicense_entitlements = Lens.lens (\CreateLicense' {entitlements} -> entitlements) (\s@CreateLicense' {} a -> s {entitlements = a} :: CreateLicense) Prelude.. Lens.coerced++-- | License beneficiary.+createLicense_beneficiary :: Lens.Lens' CreateLicense Prelude.Text+createLicense_beneficiary = Lens.lens (\CreateLicense' {beneficiary} -> beneficiary) (\s@CreateLicense' {} a -> s {beneficiary = a} :: CreateLicense)++-- | Configuration for consumption of the license. Choose a provisional+-- configuration for workloads running with continuous connectivity. Choose+-- a borrow configuration for workloads with offline usage.+createLicense_consumptionConfiguration :: Lens.Lens' CreateLicense ConsumptionConfiguration+createLicense_consumptionConfiguration = Lens.lens (\CreateLicense' {consumptionConfiguration} -> consumptionConfiguration) (\s@CreateLicense' {} a -> s {consumptionConfiguration = a} :: CreateLicense)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createLicense_clientToken :: Lens.Lens' CreateLicense Prelude.Text+createLicense_clientToken = Lens.lens (\CreateLicense' {clientToken} -> clientToken) (\s@CreateLicense' {} a -> s {clientToken = a} :: CreateLicense)++instance Core.AWSRequest CreateLicense where+  type+    AWSResponse CreateLicense =+      CreateLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLicenseResponse'+            Prelude.<$> (x Data..?> "LicenseArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLicense where+  hashWithSalt _salt CreateLicense' {..} =+    _salt+      `Prelude.hashWithSalt` licenseMetadata+      `Prelude.hashWithSalt` licenseName+      `Prelude.hashWithSalt` productName+      `Prelude.hashWithSalt` productSKU+      `Prelude.hashWithSalt` issuer+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` validity+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` beneficiary+      `Prelude.hashWithSalt` consumptionConfiguration+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateLicense where+  rnf CreateLicense' {..} =+    Prelude.rnf licenseMetadata+      `Prelude.seq` Prelude.rnf licenseName+      `Prelude.seq` Prelude.rnf productName+      `Prelude.seq` Prelude.rnf productSKU+      `Prelude.seq` Prelude.rnf issuer+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf validity+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf beneficiary+      `Prelude.seq` Prelude.rnf consumptionConfiguration+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLicense where+  toJSON CreateLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LicenseMetadata" Data..=)+              Prelude.<$> licenseMetadata,+            Prelude.Just ("LicenseName" Data..= licenseName),+            Prelude.Just ("ProductName" Data..= productName),+            Prelude.Just ("ProductSKU" Data..= productSKU),+            Prelude.Just ("Issuer" Data..= issuer),+            Prelude.Just ("HomeRegion" Data..= homeRegion),+            Prelude.Just ("Validity" Data..= validity),+            Prelude.Just ("Entitlements" Data..= entitlements),+            Prelude.Just ("Beneficiary" Data..= beneficiary),+            Prelude.Just+              ( "ConsumptionConfiguration"+                  Data..= consumptionConfiguration+              ),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CreateLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLicenseResponse' smart constructor.+data CreateLicenseResponse = CreateLicenseResponse'+  { -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | License status.+    status :: Prelude.Maybe LicenseStatus,+    -- | License version.+    version :: 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 'CreateLicenseResponse' 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:+--+-- 'licenseArn', 'createLicenseResponse_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'status', 'createLicenseResponse_status' - License status.+--+-- 'version', 'createLicenseResponse_version' - License version.+--+-- 'httpStatus', 'createLicenseResponse_httpStatus' - The response's http status code.+newCreateLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLicenseResponse+newCreateLicenseResponse pHttpStatus_ =+  CreateLicenseResponse'+    { licenseArn =+        Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Amazon Resource Name (ARN) of the license.+createLicenseResponse_licenseArn :: Lens.Lens' CreateLicenseResponse (Prelude.Maybe Prelude.Text)+createLicenseResponse_licenseArn = Lens.lens (\CreateLicenseResponse' {licenseArn} -> licenseArn) (\s@CreateLicenseResponse' {} a -> s {licenseArn = a} :: CreateLicenseResponse)++-- | License status.+createLicenseResponse_status :: Lens.Lens' CreateLicenseResponse (Prelude.Maybe LicenseStatus)+createLicenseResponse_status = Lens.lens (\CreateLicenseResponse' {status} -> status) (\s@CreateLicenseResponse' {} a -> s {status = a} :: CreateLicenseResponse)++-- | License version.+createLicenseResponse_version :: Lens.Lens' CreateLicenseResponse (Prelude.Maybe Prelude.Text)+createLicenseResponse_version = Lens.lens (\CreateLicenseResponse' {version} -> version) (\s@CreateLicenseResponse' {} a -> s {version = a} :: CreateLicenseResponse)++-- | The response's http status code.+createLicenseResponse_httpStatus :: Lens.Lens' CreateLicenseResponse Prelude.Int+createLicenseResponse_httpStatus = Lens.lens (\CreateLicenseResponse' {httpStatus} -> httpStatus) (\s@CreateLicenseResponse' {} a -> s {httpStatus = a} :: CreateLicenseResponse)++instance Prelude.NFData CreateLicenseResponse where+  rnf CreateLicenseResponse' {..} =+    Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateLicenseConfiguration.hs view
@@ -0,0 +1,360 @@+{-# 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.LicenseManager.CreateLicenseConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a license configuration.+--+-- A license configuration is an abstraction of a customer license+-- agreement that can be consumed and enforced by License Manager.+-- Components include specifications for the license type (licensing by+-- instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy,+-- Dedicated Instance, Dedicated Host, or all of these), license affinity+-- to host (how long a license must be associated with a host), and the+-- number of licenses purchased and used.+module Amazonka.LicenseManager.CreateLicenseConfiguration+  ( -- * Creating a Request+    CreateLicenseConfiguration (..),+    newCreateLicenseConfiguration,++    -- * Request Lenses+    createLicenseConfiguration_description,+    createLicenseConfiguration_disassociateWhenNotFound,+    createLicenseConfiguration_licenseCount,+    createLicenseConfiguration_licenseCountHardLimit,+    createLicenseConfiguration_licenseRules,+    createLicenseConfiguration_productInformationList,+    createLicenseConfiguration_tags,+    createLicenseConfiguration_name,+    createLicenseConfiguration_licenseCountingType,++    -- * Destructuring the Response+    CreateLicenseConfigurationResponse (..),+    newCreateLicenseConfigurationResponse,++    -- * Response Lenses+    createLicenseConfigurationResponse_licenseConfigurationArn,+    createLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLicenseConfiguration' smart constructor.+data CreateLicenseConfiguration = CreateLicenseConfiguration'+  { -- | Description of the license configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | When true, disassociates a resource when software is uninstalled.+    disassociateWhenNotFound :: Prelude.Maybe Prelude.Bool,+    -- | Number of licenses managed by the license configuration.+    licenseCount :: Prelude.Maybe Prelude.Integer,+    -- | Indicates whether hard or soft license enforcement is used. Exceeding a+    -- hard limit blocks the launch of new instances.+    licenseCountHardLimit :: Prelude.Maybe Prelude.Bool,+    -- | License rules. The syntax is #name=value (for example,+    -- #allowedTenancy=EC2-DedicatedHost). The available rules vary by+    -- dimension, as follows.+    --+    -- -   @Cores@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+    --     @maximumCores@ | @minimumCores@+    --+    -- -   @Instances@ dimension: @allowedTenancy@ | @maximumCores@ |+    --     @minimumCores@ | @maximumSockets@ | @minimumSockets@ |+    --     @maximumVcpus@ | @minimumVcpus@+    --+    -- -   @Sockets@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+    --     @maximumSockets@ | @minimumSockets@+    --+    -- -   @vCPUs@ dimension: @allowedTenancy@ | @honorVcpuOptimization@ |+    --     @maximumVcpus@ | @minimumVcpus@+    --+    -- The unit for @licenseAffinityToHost@ is days and the range is 1 to 180.+    -- The possible values for @allowedTenancy@ are @EC2-Default@,+    -- @EC2-DedicatedHost@, and @EC2-DedicatedInstance@. The possible values+    -- for @honorVcpuOptimization@ are @True@ and @False@.+    licenseRules :: Prelude.Maybe [Prelude.Text],+    -- | Product information.+    productInformationList :: Prelude.Maybe [ProductInformation],+    -- | Tags to add to the license configuration.+    tags :: Prelude.Maybe [Tag],+    -- | Name of the license configuration.+    name :: Prelude.Text,+    -- | Dimension used to track the license inventory.+    licenseCountingType :: LicenseCountingType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLicenseConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createLicenseConfiguration_description' - Description of the license configuration.+--+-- 'disassociateWhenNotFound', 'createLicenseConfiguration_disassociateWhenNotFound' - When true, disassociates a resource when software is uninstalled.+--+-- 'licenseCount', 'createLicenseConfiguration_licenseCount' - Number of licenses managed by the license configuration.+--+-- 'licenseCountHardLimit', 'createLicenseConfiguration_licenseCountHardLimit' - Indicates whether hard or soft license enforcement is used. Exceeding a+-- hard limit blocks the launch of new instances.+--+-- 'licenseRules', 'createLicenseConfiguration_licenseRules' - License rules. The syntax is #name=value (for example,+-- #allowedTenancy=EC2-DedicatedHost). The available rules vary by+-- dimension, as follows.+--+-- -   @Cores@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+--     @maximumCores@ | @minimumCores@+--+-- -   @Instances@ dimension: @allowedTenancy@ | @maximumCores@ |+--     @minimumCores@ | @maximumSockets@ | @minimumSockets@ |+--     @maximumVcpus@ | @minimumVcpus@+--+-- -   @Sockets@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+--     @maximumSockets@ | @minimumSockets@+--+-- -   @vCPUs@ dimension: @allowedTenancy@ | @honorVcpuOptimization@ |+--     @maximumVcpus@ | @minimumVcpus@+--+-- The unit for @licenseAffinityToHost@ is days and the range is 1 to 180.+-- The possible values for @allowedTenancy@ are @EC2-Default@,+-- @EC2-DedicatedHost@, and @EC2-DedicatedInstance@. The possible values+-- for @honorVcpuOptimization@ are @True@ and @False@.+--+-- 'productInformationList', 'createLicenseConfiguration_productInformationList' - Product information.+--+-- 'tags', 'createLicenseConfiguration_tags' - Tags to add to the license configuration.+--+-- 'name', 'createLicenseConfiguration_name' - Name of the license configuration.+--+-- 'licenseCountingType', 'createLicenseConfiguration_licenseCountingType' - Dimension used to track the license inventory.+newCreateLicenseConfiguration ::+  -- | 'name'+  Prelude.Text ->+  -- | 'licenseCountingType'+  LicenseCountingType ->+  CreateLicenseConfiguration+newCreateLicenseConfiguration+  pName_+  pLicenseCountingType_ =+    CreateLicenseConfiguration'+      { description =+          Prelude.Nothing,+        disassociateWhenNotFound = Prelude.Nothing,+        licenseCount = Prelude.Nothing,+        licenseCountHardLimit = Prelude.Nothing,+        licenseRules = Prelude.Nothing,+        productInformationList = Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        licenseCountingType = pLicenseCountingType_+      }++-- | Description of the license configuration.+createLicenseConfiguration_description :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe Prelude.Text)+createLicenseConfiguration_description = Lens.lens (\CreateLicenseConfiguration' {description} -> description) (\s@CreateLicenseConfiguration' {} a -> s {description = a} :: CreateLicenseConfiguration)++-- | When true, disassociates a resource when software is uninstalled.+createLicenseConfiguration_disassociateWhenNotFound :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe Prelude.Bool)+createLicenseConfiguration_disassociateWhenNotFound = Lens.lens (\CreateLicenseConfiguration' {disassociateWhenNotFound} -> disassociateWhenNotFound) (\s@CreateLicenseConfiguration' {} a -> s {disassociateWhenNotFound = a} :: CreateLicenseConfiguration)++-- | Number of licenses managed by the license configuration.+createLicenseConfiguration_licenseCount :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe Prelude.Integer)+createLicenseConfiguration_licenseCount = Lens.lens (\CreateLicenseConfiguration' {licenseCount} -> licenseCount) (\s@CreateLicenseConfiguration' {} a -> s {licenseCount = a} :: CreateLicenseConfiguration)++-- | Indicates whether hard or soft license enforcement is used. Exceeding a+-- hard limit blocks the launch of new instances.+createLicenseConfiguration_licenseCountHardLimit :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe Prelude.Bool)+createLicenseConfiguration_licenseCountHardLimit = Lens.lens (\CreateLicenseConfiguration' {licenseCountHardLimit} -> licenseCountHardLimit) (\s@CreateLicenseConfiguration' {} a -> s {licenseCountHardLimit = a} :: CreateLicenseConfiguration)++-- | License rules. The syntax is #name=value (for example,+-- #allowedTenancy=EC2-DedicatedHost). The available rules vary by+-- dimension, as follows.+--+-- -   @Cores@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+--     @maximumCores@ | @minimumCores@+--+-- -   @Instances@ dimension: @allowedTenancy@ | @maximumCores@ |+--     @minimumCores@ | @maximumSockets@ | @minimumSockets@ |+--     @maximumVcpus@ | @minimumVcpus@+--+-- -   @Sockets@ dimension: @allowedTenancy@ | @licenseAffinityToHost@ |+--     @maximumSockets@ | @minimumSockets@+--+-- -   @vCPUs@ dimension: @allowedTenancy@ | @honorVcpuOptimization@ |+--     @maximumVcpus@ | @minimumVcpus@+--+-- The unit for @licenseAffinityToHost@ is days and the range is 1 to 180.+-- The possible values for @allowedTenancy@ are @EC2-Default@,+-- @EC2-DedicatedHost@, and @EC2-DedicatedInstance@. The possible values+-- for @honorVcpuOptimization@ are @True@ and @False@.+createLicenseConfiguration_licenseRules :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe [Prelude.Text])+createLicenseConfiguration_licenseRules = Lens.lens (\CreateLicenseConfiguration' {licenseRules} -> licenseRules) (\s@CreateLicenseConfiguration' {} a -> s {licenseRules = a} :: CreateLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Product information.+createLicenseConfiguration_productInformationList :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe [ProductInformation])+createLicenseConfiguration_productInformationList = Lens.lens (\CreateLicenseConfiguration' {productInformationList} -> productInformationList) (\s@CreateLicenseConfiguration' {} a -> s {productInformationList = a} :: CreateLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Tags to add to the license configuration.+createLicenseConfiguration_tags :: Lens.Lens' CreateLicenseConfiguration (Prelude.Maybe [Tag])+createLicenseConfiguration_tags = Lens.lens (\CreateLicenseConfiguration' {tags} -> tags) (\s@CreateLicenseConfiguration' {} a -> s {tags = a} :: CreateLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Name of the license configuration.+createLicenseConfiguration_name :: Lens.Lens' CreateLicenseConfiguration Prelude.Text+createLicenseConfiguration_name = Lens.lens (\CreateLicenseConfiguration' {name} -> name) (\s@CreateLicenseConfiguration' {} a -> s {name = a} :: CreateLicenseConfiguration)++-- | Dimension used to track the license inventory.+createLicenseConfiguration_licenseCountingType :: Lens.Lens' CreateLicenseConfiguration LicenseCountingType+createLicenseConfiguration_licenseCountingType = Lens.lens (\CreateLicenseConfiguration' {licenseCountingType} -> licenseCountingType) (\s@CreateLicenseConfiguration' {} a -> s {licenseCountingType = a} :: CreateLicenseConfiguration)++instance Core.AWSRequest CreateLicenseConfiguration where+  type+    AWSResponse CreateLicenseConfiguration =+      CreateLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLicenseConfigurationResponse'+            Prelude.<$> (x Data..?> "LicenseConfigurationArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLicenseConfiguration where+  hashWithSalt _salt CreateLicenseConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` disassociateWhenNotFound+      `Prelude.hashWithSalt` licenseCount+      `Prelude.hashWithSalt` licenseCountHardLimit+      `Prelude.hashWithSalt` licenseRules+      `Prelude.hashWithSalt` productInformationList+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` licenseCountingType++instance Prelude.NFData CreateLicenseConfiguration where+  rnf CreateLicenseConfiguration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf disassociateWhenNotFound+      `Prelude.seq` Prelude.rnf licenseCount+      `Prelude.seq` Prelude.rnf licenseCountHardLimit+      `Prelude.seq` Prelude.rnf licenseRules+      `Prelude.seq` Prelude.rnf productInformationList+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf licenseCountingType++instance Data.ToHeaders CreateLicenseConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLicenseConfiguration where+  toJSON CreateLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("DisassociateWhenNotFound" Data..=)+              Prelude.<$> disassociateWhenNotFound,+            ("LicenseCount" Data..=) Prelude.<$> licenseCount,+            ("LicenseCountHardLimit" Data..=)+              Prelude.<$> licenseCountHardLimit,+            ("LicenseRules" Data..=) Prelude.<$> licenseRules,+            ("ProductInformationList" Data..=)+              Prelude.<$> productInformationList,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("LicenseCountingType" Data..= licenseCountingType)+          ]+      )++instance Data.ToPath CreateLicenseConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateLicenseConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLicenseConfigurationResponse' smart constructor.+data CreateLicenseConfigurationResponse = CreateLicenseConfigurationResponse'+  { -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: 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 'CreateLicenseConfigurationResponse' 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:+--+-- 'licenseConfigurationArn', 'createLicenseConfigurationResponse_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+--+-- 'httpStatus', 'createLicenseConfigurationResponse_httpStatus' - The response's http status code.+newCreateLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLicenseConfigurationResponse+newCreateLicenseConfigurationResponse pHttpStatus_ =+  CreateLicenseConfigurationResponse'+    { licenseConfigurationArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Amazon Resource Name (ARN) of the license configuration.+createLicenseConfigurationResponse_licenseConfigurationArn :: Lens.Lens' CreateLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+createLicenseConfigurationResponse_licenseConfigurationArn = Lens.lens (\CreateLicenseConfigurationResponse' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@CreateLicenseConfigurationResponse' {} a -> s {licenseConfigurationArn = a} :: CreateLicenseConfigurationResponse)++-- | The response's http status code.+createLicenseConfigurationResponse_httpStatus :: Lens.Lens' CreateLicenseConfigurationResponse Prelude.Int+createLicenseConfigurationResponse_httpStatus = Lens.lens (\CreateLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: CreateLicenseConfigurationResponse)++instance+  Prelude.NFData+    CreateLicenseConfigurationResponse+  where+  rnf CreateLicenseConfigurationResponse' {..} =+    Prelude.rnf licenseConfigurationArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateLicenseConversionTaskForResource.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.CreateLicenseConversionTaskForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new license conversion task.+module Amazonka.LicenseManager.CreateLicenseConversionTaskForResource+  ( -- * Creating a Request+    CreateLicenseConversionTaskForResource (..),+    newCreateLicenseConversionTaskForResource,++    -- * Request Lenses+    createLicenseConversionTaskForResource_resourceArn,+    createLicenseConversionTaskForResource_sourceLicenseContext,+    createLicenseConversionTaskForResource_destinationLicenseContext,++    -- * Destructuring the Response+    CreateLicenseConversionTaskForResourceResponse (..),+    newCreateLicenseConversionTaskForResourceResponse,++    -- * Response Lenses+    createLicenseConversionTaskForResourceResponse_licenseConversionTaskId,+    createLicenseConversionTaskForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLicenseConversionTaskForResource' smart constructor.+data CreateLicenseConversionTaskForResource = CreateLicenseConversionTaskForResource'+  { -- | Amazon Resource Name (ARN) of the resource you are converting the+    -- license type for.+    resourceArn :: Prelude.Text,+    -- | Information that identifies the license type you are converting from.+    -- For the structure of the source license, see+    -- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+    -- in the /License Manager User Guide/.+    sourceLicenseContext :: LicenseConversionContext,+    -- | Information that identifies the license type you are converting to. For+    -- the structure of the destination license, see+    -- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+    -- in the /License Manager User Guide/.+    destinationLicenseContext :: LicenseConversionContext+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLicenseConversionTaskForResource' 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', 'createLicenseConversionTaskForResource_resourceArn' - Amazon Resource Name (ARN) of the resource you are converting the+-- license type for.+--+-- 'sourceLicenseContext', 'createLicenseConversionTaskForResource_sourceLicenseContext' - Information that identifies the license type you are converting from.+-- For the structure of the source license, see+-- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+-- in the /License Manager User Guide/.+--+-- 'destinationLicenseContext', 'createLicenseConversionTaskForResource_destinationLicenseContext' - Information that identifies the license type you are converting to. For+-- the structure of the destination license, see+-- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+-- in the /License Manager User Guide/.+newCreateLicenseConversionTaskForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'sourceLicenseContext'+  LicenseConversionContext ->+  -- | 'destinationLicenseContext'+  LicenseConversionContext ->+  CreateLicenseConversionTaskForResource+newCreateLicenseConversionTaskForResource+  pResourceArn_+  pSourceLicenseContext_+  pDestinationLicenseContext_ =+    CreateLicenseConversionTaskForResource'+      { resourceArn =+          pResourceArn_,+        sourceLicenseContext =+          pSourceLicenseContext_,+        destinationLicenseContext =+          pDestinationLicenseContext_+      }++-- | Amazon Resource Name (ARN) of the resource you are converting the+-- license type for.+createLicenseConversionTaskForResource_resourceArn :: Lens.Lens' CreateLicenseConversionTaskForResource Prelude.Text+createLicenseConversionTaskForResource_resourceArn = Lens.lens (\CreateLicenseConversionTaskForResource' {resourceArn} -> resourceArn) (\s@CreateLicenseConversionTaskForResource' {} a -> s {resourceArn = a} :: CreateLicenseConversionTaskForResource)++-- | Information that identifies the license type you are converting from.+-- For the structure of the source license, see+-- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+-- in the /License Manager User Guide/.+createLicenseConversionTaskForResource_sourceLicenseContext :: Lens.Lens' CreateLicenseConversionTaskForResource LicenseConversionContext+createLicenseConversionTaskForResource_sourceLicenseContext = Lens.lens (\CreateLicenseConversionTaskForResource' {sourceLicenseContext} -> sourceLicenseContext) (\s@CreateLicenseConversionTaskForResource' {} a -> s {sourceLicenseContext = a} :: CreateLicenseConversionTaskForResource)++-- | Information that identifies the license type you are converting to. For+-- the structure of the destination license, see+-- <https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-procedures.html#conversion-cli Convert a license type using the Amazon Web Services CLI>+-- in the /License Manager User Guide/.+createLicenseConversionTaskForResource_destinationLicenseContext :: Lens.Lens' CreateLicenseConversionTaskForResource LicenseConversionContext+createLicenseConversionTaskForResource_destinationLicenseContext = Lens.lens (\CreateLicenseConversionTaskForResource' {destinationLicenseContext} -> destinationLicenseContext) (\s@CreateLicenseConversionTaskForResource' {} a -> s {destinationLicenseContext = a} :: CreateLicenseConversionTaskForResource)++instance+  Core.AWSRequest+    CreateLicenseConversionTaskForResource+  where+  type+    AWSResponse+      CreateLicenseConversionTaskForResource =+      CreateLicenseConversionTaskForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLicenseConversionTaskForResourceResponse'+            Prelude.<$> (x Data..?> "LicenseConversionTaskId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateLicenseConversionTaskForResource+  where+  hashWithSalt+    _salt+    CreateLicenseConversionTaskForResource' {..} =+      _salt+        `Prelude.hashWithSalt` resourceArn+        `Prelude.hashWithSalt` sourceLicenseContext+        `Prelude.hashWithSalt` destinationLicenseContext++instance+  Prelude.NFData+    CreateLicenseConversionTaskForResource+  where+  rnf CreateLicenseConversionTaskForResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf sourceLicenseContext+      `Prelude.seq` Prelude.rnf destinationLicenseContext++instance+  Data.ToHeaders+    CreateLicenseConversionTaskForResource+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateLicenseConversionTaskForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    CreateLicenseConversionTaskForResource+  where+  toJSON CreateLicenseConversionTaskForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just+              ( "SourceLicenseContext"+                  Data..= sourceLicenseContext+              ),+            Prelude.Just+              ( "DestinationLicenseContext"+                  Data..= destinationLicenseContext+              )+          ]+      )++instance+  Data.ToPath+    CreateLicenseConversionTaskForResource+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    CreateLicenseConversionTaskForResource+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLicenseConversionTaskForResourceResponse' smart constructor.+data CreateLicenseConversionTaskForResourceResponse = CreateLicenseConversionTaskForResourceResponse'+  { -- | The ID of the created license type conversion task.+    licenseConversionTaskId :: 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 'CreateLicenseConversionTaskForResourceResponse' 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:+--+-- 'licenseConversionTaskId', 'createLicenseConversionTaskForResourceResponse_licenseConversionTaskId' - The ID of the created license type conversion task.+--+-- 'httpStatus', 'createLicenseConversionTaskForResourceResponse_httpStatus' - The response's http status code.+newCreateLicenseConversionTaskForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLicenseConversionTaskForResourceResponse+newCreateLicenseConversionTaskForResourceResponse+  pHttpStatus_ =+    CreateLicenseConversionTaskForResourceResponse'+      { licenseConversionTaskId =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The ID of the created license type conversion task.+createLicenseConversionTaskForResourceResponse_licenseConversionTaskId :: Lens.Lens' CreateLicenseConversionTaskForResourceResponse (Prelude.Maybe Prelude.Text)+createLicenseConversionTaskForResourceResponse_licenseConversionTaskId = Lens.lens (\CreateLicenseConversionTaskForResourceResponse' {licenseConversionTaskId} -> licenseConversionTaskId) (\s@CreateLicenseConversionTaskForResourceResponse' {} a -> s {licenseConversionTaskId = a} :: CreateLicenseConversionTaskForResourceResponse)++-- | The response's http status code.+createLicenseConversionTaskForResourceResponse_httpStatus :: Lens.Lens' CreateLicenseConversionTaskForResourceResponse Prelude.Int+createLicenseConversionTaskForResourceResponse_httpStatus = Lens.lens (\CreateLicenseConversionTaskForResourceResponse' {httpStatus} -> httpStatus) (\s@CreateLicenseConversionTaskForResourceResponse' {} a -> s {httpStatus = a} :: CreateLicenseConversionTaskForResourceResponse)++instance+  Prelude.NFData+    CreateLicenseConversionTaskForResourceResponse+  where+  rnf+    CreateLicenseConversionTaskForResourceResponse' {..} =+      Prelude.rnf licenseConversionTaskId+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateLicenseManagerReportGenerator.hs view
@@ -0,0 +1,316 @@+{-# 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.LicenseManager.CreateLicenseManagerReportGenerator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a report generator.+module Amazonka.LicenseManager.CreateLicenseManagerReportGenerator+  ( -- * Creating a Request+    CreateLicenseManagerReportGenerator (..),+    newCreateLicenseManagerReportGenerator,++    -- * Request Lenses+    createLicenseManagerReportGenerator_description,+    createLicenseManagerReportGenerator_tags,+    createLicenseManagerReportGenerator_reportGeneratorName,+    createLicenseManagerReportGenerator_type,+    createLicenseManagerReportGenerator_reportContext,+    createLicenseManagerReportGenerator_reportFrequency,+    createLicenseManagerReportGenerator_clientToken,++    -- * Destructuring the Response+    CreateLicenseManagerReportGeneratorResponse (..),+    newCreateLicenseManagerReportGeneratorResponse,++    -- * Response Lenses+    createLicenseManagerReportGeneratorResponse_licenseManagerReportGeneratorArn,+    createLicenseManagerReportGeneratorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLicenseManagerReportGenerator' smart constructor.+data CreateLicenseManagerReportGenerator = CreateLicenseManagerReportGenerator'+  { -- | Description of the report generator.+    description :: Prelude.Maybe Prelude.Text,+    -- | Tags to add to the report generator.+    tags :: Prelude.Maybe [Tag],+    -- | Name of the report generator.+    reportGeneratorName :: Prelude.Text,+    -- | Type of reports to generate. The following report types an be generated:+    --+    -- -   License configuration report - Reports the number and details of+    --     consumed licenses for a license configuration.+    --+    -- -   Resource report - Reports the tracked licenses and resource+    --     consumption for a license configuration.+    type' :: [ReportType],+    -- | Defines the type of license configuration the report generator tracks.+    reportContext :: ReportContext,+    -- | Frequency by which reports are generated. Reports can be generated+    -- daily, monthly, or weekly.+    reportFrequency :: ReportFrequency,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLicenseManagerReportGenerator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createLicenseManagerReportGenerator_description' - Description of the report generator.+--+-- 'tags', 'createLicenseManagerReportGenerator_tags' - Tags to add to the report generator.+--+-- 'reportGeneratorName', 'createLicenseManagerReportGenerator_reportGeneratorName' - Name of the report generator.+--+-- 'type'', 'createLicenseManagerReportGenerator_type' - Type of reports to generate. The following report types an be generated:+--+-- -   License configuration report - Reports the number and details of+--     consumed licenses for a license configuration.+--+-- -   Resource report - Reports the tracked licenses and resource+--     consumption for a license configuration.+--+-- 'reportContext', 'createLicenseManagerReportGenerator_reportContext' - Defines the type of license configuration the report generator tracks.+--+-- 'reportFrequency', 'createLicenseManagerReportGenerator_reportFrequency' - Frequency by which reports are generated. Reports can be generated+-- daily, monthly, or weekly.+--+-- 'clientToken', 'createLicenseManagerReportGenerator_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newCreateLicenseManagerReportGenerator ::+  -- | 'reportGeneratorName'+  Prelude.Text ->+  -- | 'reportContext'+  ReportContext ->+  -- | 'reportFrequency'+  ReportFrequency ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateLicenseManagerReportGenerator+newCreateLicenseManagerReportGenerator+  pReportGeneratorName_+  pReportContext_+  pReportFrequency_+  pClientToken_ =+    CreateLicenseManagerReportGenerator'+      { description =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        reportGeneratorName =+          pReportGeneratorName_,+        type' = Prelude.mempty,+        reportContext = pReportContext_,+        reportFrequency = pReportFrequency_,+        clientToken = pClientToken_+      }++-- | Description of the report generator.+createLicenseManagerReportGenerator_description :: Lens.Lens' CreateLicenseManagerReportGenerator (Prelude.Maybe Prelude.Text)+createLicenseManagerReportGenerator_description = Lens.lens (\CreateLicenseManagerReportGenerator' {description} -> description) (\s@CreateLicenseManagerReportGenerator' {} a -> s {description = a} :: CreateLicenseManagerReportGenerator)++-- | Tags to add to the report generator.+createLicenseManagerReportGenerator_tags :: Lens.Lens' CreateLicenseManagerReportGenerator (Prelude.Maybe [Tag])+createLicenseManagerReportGenerator_tags = Lens.lens (\CreateLicenseManagerReportGenerator' {tags} -> tags) (\s@CreateLicenseManagerReportGenerator' {} a -> s {tags = a} :: CreateLicenseManagerReportGenerator) Prelude.. Lens.mapping Lens.coerced++-- | Name of the report generator.+createLicenseManagerReportGenerator_reportGeneratorName :: Lens.Lens' CreateLicenseManagerReportGenerator Prelude.Text+createLicenseManagerReportGenerator_reportGeneratorName = Lens.lens (\CreateLicenseManagerReportGenerator' {reportGeneratorName} -> reportGeneratorName) (\s@CreateLicenseManagerReportGenerator' {} a -> s {reportGeneratorName = a} :: CreateLicenseManagerReportGenerator)++-- | Type of reports to generate. The following report types an be generated:+--+-- -   License configuration report - Reports the number and details of+--     consumed licenses for a license configuration.+--+-- -   Resource report - Reports the tracked licenses and resource+--     consumption for a license configuration.+createLicenseManagerReportGenerator_type :: Lens.Lens' CreateLicenseManagerReportGenerator [ReportType]+createLicenseManagerReportGenerator_type = Lens.lens (\CreateLicenseManagerReportGenerator' {type'} -> type') (\s@CreateLicenseManagerReportGenerator' {} a -> s {type' = a} :: CreateLicenseManagerReportGenerator) Prelude.. Lens.coerced++-- | Defines the type of license configuration the report generator tracks.+createLicenseManagerReportGenerator_reportContext :: Lens.Lens' CreateLicenseManagerReportGenerator ReportContext+createLicenseManagerReportGenerator_reportContext = Lens.lens (\CreateLicenseManagerReportGenerator' {reportContext} -> reportContext) (\s@CreateLicenseManagerReportGenerator' {} a -> s {reportContext = a} :: CreateLicenseManagerReportGenerator)++-- | Frequency by which reports are generated. Reports can be generated+-- daily, monthly, or weekly.+createLicenseManagerReportGenerator_reportFrequency :: Lens.Lens' CreateLicenseManagerReportGenerator ReportFrequency+createLicenseManagerReportGenerator_reportFrequency = Lens.lens (\CreateLicenseManagerReportGenerator' {reportFrequency} -> reportFrequency) (\s@CreateLicenseManagerReportGenerator' {} a -> s {reportFrequency = a} :: CreateLicenseManagerReportGenerator)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createLicenseManagerReportGenerator_clientToken :: Lens.Lens' CreateLicenseManagerReportGenerator Prelude.Text+createLicenseManagerReportGenerator_clientToken = Lens.lens (\CreateLicenseManagerReportGenerator' {clientToken} -> clientToken) (\s@CreateLicenseManagerReportGenerator' {} a -> s {clientToken = a} :: CreateLicenseManagerReportGenerator)++instance+  Core.AWSRequest+    CreateLicenseManagerReportGenerator+  where+  type+    AWSResponse CreateLicenseManagerReportGenerator =+      CreateLicenseManagerReportGeneratorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLicenseManagerReportGeneratorResponse'+            Prelude.<$> (x Data..?> "LicenseManagerReportGeneratorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateLicenseManagerReportGenerator+  where+  hashWithSalt+    _salt+    CreateLicenseManagerReportGenerator' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` reportGeneratorName+        `Prelude.hashWithSalt` type'+        `Prelude.hashWithSalt` reportContext+        `Prelude.hashWithSalt` reportFrequency+        `Prelude.hashWithSalt` clientToken++instance+  Prelude.NFData+    CreateLicenseManagerReportGenerator+  where+  rnf CreateLicenseManagerReportGenerator' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf reportGeneratorName+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf reportContext+      `Prelude.seq` Prelude.rnf reportFrequency+      `Prelude.seq` Prelude.rnf clientToken++instance+  Data.ToHeaders+    CreateLicenseManagerReportGenerator+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateLicenseManagerReportGenerator" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    CreateLicenseManagerReportGenerator+  where+  toJSON CreateLicenseManagerReportGenerator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ReportGeneratorName" Data..= reportGeneratorName),+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("ReportContext" Data..= reportContext),+            Prelude.Just+              ("ReportFrequency" Data..= reportFrequency),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance+  Data.ToPath+    CreateLicenseManagerReportGenerator+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    CreateLicenseManagerReportGenerator+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLicenseManagerReportGeneratorResponse' smart constructor.+data CreateLicenseManagerReportGeneratorResponse = CreateLicenseManagerReportGeneratorResponse'+  { -- | The Amazon Resource Name (ARN) of the new report generator.+    licenseManagerReportGeneratorArn :: 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 'CreateLicenseManagerReportGeneratorResponse' 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:+--+-- 'licenseManagerReportGeneratorArn', 'createLicenseManagerReportGeneratorResponse_licenseManagerReportGeneratorArn' - The Amazon Resource Name (ARN) of the new report generator.+--+-- 'httpStatus', 'createLicenseManagerReportGeneratorResponse_httpStatus' - The response's http status code.+newCreateLicenseManagerReportGeneratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLicenseManagerReportGeneratorResponse+newCreateLicenseManagerReportGeneratorResponse+  pHttpStatus_ =+    CreateLicenseManagerReportGeneratorResponse'+      { licenseManagerReportGeneratorArn =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name (ARN) of the new report generator.+createLicenseManagerReportGeneratorResponse_licenseManagerReportGeneratorArn :: Lens.Lens' CreateLicenseManagerReportGeneratorResponse (Prelude.Maybe Prelude.Text)+createLicenseManagerReportGeneratorResponse_licenseManagerReportGeneratorArn = Lens.lens (\CreateLicenseManagerReportGeneratorResponse' {licenseManagerReportGeneratorArn} -> licenseManagerReportGeneratorArn) (\s@CreateLicenseManagerReportGeneratorResponse' {} a -> s {licenseManagerReportGeneratorArn = a} :: CreateLicenseManagerReportGeneratorResponse)++-- | The response's http status code.+createLicenseManagerReportGeneratorResponse_httpStatus :: Lens.Lens' CreateLicenseManagerReportGeneratorResponse Prelude.Int+createLicenseManagerReportGeneratorResponse_httpStatus = Lens.lens (\CreateLicenseManagerReportGeneratorResponse' {httpStatus} -> httpStatus) (\s@CreateLicenseManagerReportGeneratorResponse' {} a -> s {httpStatus = a} :: CreateLicenseManagerReportGeneratorResponse)++instance+  Prelude.NFData+    CreateLicenseManagerReportGeneratorResponse+  where+  rnf CreateLicenseManagerReportGeneratorResponse' {..} =+    Prelude.rnf licenseManagerReportGeneratorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateLicenseVersion.hs view
@@ -0,0 +1,383 @@+{-# 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.LicenseManager.CreateLicenseVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new version of the specified license.+module Amazonka.LicenseManager.CreateLicenseVersion+  ( -- * Creating a Request+    CreateLicenseVersion (..),+    newCreateLicenseVersion,++    -- * Request Lenses+    createLicenseVersion_licenseMetadata,+    createLicenseVersion_sourceVersion,+    createLicenseVersion_licenseArn,+    createLicenseVersion_licenseName,+    createLicenseVersion_productName,+    createLicenseVersion_issuer,+    createLicenseVersion_homeRegion,+    createLicenseVersion_validity,+    createLicenseVersion_entitlements,+    createLicenseVersion_consumptionConfiguration,+    createLicenseVersion_status,+    createLicenseVersion_clientToken,++    -- * Destructuring the Response+    CreateLicenseVersionResponse (..),+    newCreateLicenseVersionResponse,++    -- * Response Lenses+    createLicenseVersionResponse_licenseArn,+    createLicenseVersionResponse_status,+    createLicenseVersionResponse_version,+    createLicenseVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLicenseVersion' smart constructor.+data CreateLicenseVersion = CreateLicenseVersion'+  { -- | Information about the license.+    licenseMetadata :: Prelude.Maybe [Metadata],+    -- | Current version of the license.+    sourceVersion :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text,+    -- | License name.+    licenseName :: Prelude.Text,+    -- | Product name.+    productName :: Prelude.Text,+    -- | License issuer.+    issuer :: Issuer,+    -- | Home Region of the license.+    homeRegion :: Prelude.Text,+    -- | Date and time range during which the license is valid, in ISO8601-UTC+    -- format.+    validity :: DatetimeRange,+    -- | License entitlements.+    entitlements :: [Entitlement],+    -- | Configuration for consumption of the license. Choose a provisional+    -- configuration for workloads running with continuous connectivity. Choose+    -- a borrow configuration for workloads with offline usage.+    consumptionConfiguration :: ConsumptionConfiguration,+    -- | License status.+    status :: LicenseStatus,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLicenseVersion' 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:+--+-- 'licenseMetadata', 'createLicenseVersion_licenseMetadata' - Information about the license.+--+-- 'sourceVersion', 'createLicenseVersion_sourceVersion' - Current version of the license.+--+-- 'licenseArn', 'createLicenseVersion_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'licenseName', 'createLicenseVersion_licenseName' - License name.+--+-- 'productName', 'createLicenseVersion_productName' - Product name.+--+-- 'issuer', 'createLicenseVersion_issuer' - License issuer.+--+-- 'homeRegion', 'createLicenseVersion_homeRegion' - Home Region of the license.+--+-- 'validity', 'createLicenseVersion_validity' - Date and time range during which the license is valid, in ISO8601-UTC+-- format.+--+-- 'entitlements', 'createLicenseVersion_entitlements' - License entitlements.+--+-- 'consumptionConfiguration', 'createLicenseVersion_consumptionConfiguration' - Configuration for consumption of the license. Choose a provisional+-- configuration for workloads running with continuous connectivity. Choose+-- a borrow configuration for workloads with offline usage.+--+-- 'status', 'createLicenseVersion_status' - License status.+--+-- 'clientToken', 'createLicenseVersion_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newCreateLicenseVersion ::+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'licenseName'+  Prelude.Text ->+  -- | 'productName'+  Prelude.Text ->+  -- | 'issuer'+  Issuer ->+  -- | 'homeRegion'+  Prelude.Text ->+  -- | 'validity'+  DatetimeRange ->+  -- | 'consumptionConfiguration'+  ConsumptionConfiguration ->+  -- | 'status'+  LicenseStatus ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateLicenseVersion+newCreateLicenseVersion+  pLicenseArn_+  pLicenseName_+  pProductName_+  pIssuer_+  pHomeRegion_+  pValidity_+  pConsumptionConfiguration_+  pStatus_+  pClientToken_ =+    CreateLicenseVersion'+      { licenseMetadata =+          Prelude.Nothing,+        sourceVersion = Prelude.Nothing,+        licenseArn = pLicenseArn_,+        licenseName = pLicenseName_,+        productName = pProductName_,+        issuer = pIssuer_,+        homeRegion = pHomeRegion_,+        validity = pValidity_,+        entitlements = Prelude.mempty,+        consumptionConfiguration =+          pConsumptionConfiguration_,+        status = pStatus_,+        clientToken = pClientToken_+      }++-- | Information about the license.+createLicenseVersion_licenseMetadata :: Lens.Lens' CreateLicenseVersion (Prelude.Maybe [Metadata])+createLicenseVersion_licenseMetadata = Lens.lens (\CreateLicenseVersion' {licenseMetadata} -> licenseMetadata) (\s@CreateLicenseVersion' {} a -> s {licenseMetadata = a} :: CreateLicenseVersion) Prelude.. Lens.mapping Lens.coerced++-- | Current version of the license.+createLicenseVersion_sourceVersion :: Lens.Lens' CreateLicenseVersion (Prelude.Maybe Prelude.Text)+createLicenseVersion_sourceVersion = Lens.lens (\CreateLicenseVersion' {sourceVersion} -> sourceVersion) (\s@CreateLicenseVersion' {} a -> s {sourceVersion = a} :: CreateLicenseVersion)++-- | Amazon Resource Name (ARN) of the license.+createLicenseVersion_licenseArn :: Lens.Lens' CreateLicenseVersion Prelude.Text+createLicenseVersion_licenseArn = Lens.lens (\CreateLicenseVersion' {licenseArn} -> licenseArn) (\s@CreateLicenseVersion' {} a -> s {licenseArn = a} :: CreateLicenseVersion)++-- | License name.+createLicenseVersion_licenseName :: Lens.Lens' CreateLicenseVersion Prelude.Text+createLicenseVersion_licenseName = Lens.lens (\CreateLicenseVersion' {licenseName} -> licenseName) (\s@CreateLicenseVersion' {} a -> s {licenseName = a} :: CreateLicenseVersion)++-- | Product name.+createLicenseVersion_productName :: Lens.Lens' CreateLicenseVersion Prelude.Text+createLicenseVersion_productName = Lens.lens (\CreateLicenseVersion' {productName} -> productName) (\s@CreateLicenseVersion' {} a -> s {productName = a} :: CreateLicenseVersion)++-- | License issuer.+createLicenseVersion_issuer :: Lens.Lens' CreateLicenseVersion Issuer+createLicenseVersion_issuer = Lens.lens (\CreateLicenseVersion' {issuer} -> issuer) (\s@CreateLicenseVersion' {} a -> s {issuer = a} :: CreateLicenseVersion)++-- | Home Region of the license.+createLicenseVersion_homeRegion :: Lens.Lens' CreateLicenseVersion Prelude.Text+createLicenseVersion_homeRegion = Lens.lens (\CreateLicenseVersion' {homeRegion} -> homeRegion) (\s@CreateLicenseVersion' {} a -> s {homeRegion = a} :: CreateLicenseVersion)++-- | Date and time range during which the license is valid, in ISO8601-UTC+-- format.+createLicenseVersion_validity :: Lens.Lens' CreateLicenseVersion DatetimeRange+createLicenseVersion_validity = Lens.lens (\CreateLicenseVersion' {validity} -> validity) (\s@CreateLicenseVersion' {} a -> s {validity = a} :: CreateLicenseVersion)++-- | License entitlements.+createLicenseVersion_entitlements :: Lens.Lens' CreateLicenseVersion [Entitlement]+createLicenseVersion_entitlements = Lens.lens (\CreateLicenseVersion' {entitlements} -> entitlements) (\s@CreateLicenseVersion' {} a -> s {entitlements = a} :: CreateLicenseVersion) Prelude.. Lens.coerced++-- | Configuration for consumption of the license. Choose a provisional+-- configuration for workloads running with continuous connectivity. Choose+-- a borrow configuration for workloads with offline usage.+createLicenseVersion_consumptionConfiguration :: Lens.Lens' CreateLicenseVersion ConsumptionConfiguration+createLicenseVersion_consumptionConfiguration = Lens.lens (\CreateLicenseVersion' {consumptionConfiguration} -> consumptionConfiguration) (\s@CreateLicenseVersion' {} a -> s {consumptionConfiguration = a} :: CreateLicenseVersion)++-- | License status.+createLicenseVersion_status :: Lens.Lens' CreateLicenseVersion LicenseStatus+createLicenseVersion_status = Lens.lens (\CreateLicenseVersion' {status} -> status) (\s@CreateLicenseVersion' {} a -> s {status = a} :: CreateLicenseVersion)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createLicenseVersion_clientToken :: Lens.Lens' CreateLicenseVersion Prelude.Text+createLicenseVersion_clientToken = Lens.lens (\CreateLicenseVersion' {clientToken} -> clientToken) (\s@CreateLicenseVersion' {} a -> s {clientToken = a} :: CreateLicenseVersion)++instance Core.AWSRequest CreateLicenseVersion where+  type+    AWSResponse CreateLicenseVersion =+      CreateLicenseVersionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLicenseVersionResponse'+            Prelude.<$> (x Data..?> "LicenseArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLicenseVersion where+  hashWithSalt _salt CreateLicenseVersion' {..} =+    _salt+      `Prelude.hashWithSalt` licenseMetadata+      `Prelude.hashWithSalt` sourceVersion+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` licenseName+      `Prelude.hashWithSalt` productName+      `Prelude.hashWithSalt` issuer+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` validity+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` consumptionConfiguration+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateLicenseVersion where+  rnf CreateLicenseVersion' {..} =+    Prelude.rnf licenseMetadata+      `Prelude.seq` Prelude.rnf sourceVersion+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf licenseName+      `Prelude.seq` Prelude.rnf productName+      `Prelude.seq` Prelude.rnf issuer+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf validity+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf consumptionConfiguration+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateLicenseVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateLicenseVersion" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLicenseVersion where+  toJSON CreateLicenseVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LicenseMetadata" Data..=)+              Prelude.<$> licenseMetadata,+            ("SourceVersion" Data..=) Prelude.<$> sourceVersion,+            Prelude.Just ("LicenseArn" Data..= licenseArn),+            Prelude.Just ("LicenseName" Data..= licenseName),+            Prelude.Just ("ProductName" Data..= productName),+            Prelude.Just ("Issuer" Data..= issuer),+            Prelude.Just ("HomeRegion" Data..= homeRegion),+            Prelude.Just ("Validity" Data..= validity),+            Prelude.Just ("Entitlements" Data..= entitlements),+            Prelude.Just+              ( "ConsumptionConfiguration"+                  Data..= consumptionConfiguration+              ),+            Prelude.Just ("Status" Data..= status),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CreateLicenseVersion where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateLicenseVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLicenseVersionResponse' smart constructor.+data CreateLicenseVersionResponse = CreateLicenseVersionResponse'+  { -- | License ARN.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | License status.+    status :: Prelude.Maybe LicenseStatus,+    -- | New version of the license.+    version :: 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 'CreateLicenseVersionResponse' 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:+--+-- 'licenseArn', 'createLicenseVersionResponse_licenseArn' - License ARN.+--+-- 'status', 'createLicenseVersionResponse_status' - License status.+--+-- 'version', 'createLicenseVersionResponse_version' - New version of the license.+--+-- 'httpStatus', 'createLicenseVersionResponse_httpStatus' - The response's http status code.+newCreateLicenseVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLicenseVersionResponse+newCreateLicenseVersionResponse pHttpStatus_ =+  CreateLicenseVersionResponse'+    { licenseArn =+        Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | License ARN.+createLicenseVersionResponse_licenseArn :: Lens.Lens' CreateLicenseVersionResponse (Prelude.Maybe Prelude.Text)+createLicenseVersionResponse_licenseArn = Lens.lens (\CreateLicenseVersionResponse' {licenseArn} -> licenseArn) (\s@CreateLicenseVersionResponse' {} a -> s {licenseArn = a} :: CreateLicenseVersionResponse)++-- | License status.+createLicenseVersionResponse_status :: Lens.Lens' CreateLicenseVersionResponse (Prelude.Maybe LicenseStatus)+createLicenseVersionResponse_status = Lens.lens (\CreateLicenseVersionResponse' {status} -> status) (\s@CreateLicenseVersionResponse' {} a -> s {status = a} :: CreateLicenseVersionResponse)++-- | New version of the license.+createLicenseVersionResponse_version :: Lens.Lens' CreateLicenseVersionResponse (Prelude.Maybe Prelude.Text)+createLicenseVersionResponse_version = Lens.lens (\CreateLicenseVersionResponse' {version} -> version) (\s@CreateLicenseVersionResponse' {} a -> s {version = a} :: CreateLicenseVersionResponse)++-- | The response's http status code.+createLicenseVersionResponse_httpStatus :: Lens.Lens' CreateLicenseVersionResponse Prelude.Int+createLicenseVersionResponse_httpStatus = Lens.lens (\CreateLicenseVersionResponse' {httpStatus} -> httpStatus) (\s@CreateLicenseVersionResponse' {} a -> s {httpStatus = a} :: CreateLicenseVersionResponse)++instance Prelude.NFData CreateLicenseVersionResponse where+  rnf CreateLicenseVersionResponse' {..} =+    Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/CreateToken.hs view
@@ -0,0 +1,267 @@+{-# 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.LicenseManager.CreateToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a long-lived token.+--+-- A refresh token is a JWT token used to get an access token. With an+-- access token, you can call AssumeRoleWithWebIdentity to get role+-- credentials that you can use to call License Manager to manage the+-- specified license.+module Amazonka.LicenseManager.CreateToken+  ( -- * Creating a Request+    CreateToken (..),+    newCreateToken,++    -- * Request Lenses+    createToken_expirationInDays,+    createToken_roleArns,+    createToken_tokenProperties,+    createToken_licenseArn,+    createToken_clientToken,++    -- * Destructuring the Response+    CreateTokenResponse (..),+    newCreateTokenResponse,++    -- * Response Lenses+    createTokenResponse_token,+    createTokenResponse_tokenId,+    createTokenResponse_tokenType,+    createTokenResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateToken' smart constructor.+data CreateToken = CreateToken'+  { -- | Token expiration, in days, counted from token creation. The default is+    -- 365 days.+    expirationInDays :: Prelude.Maybe Prelude.Int,+    -- | Amazon Resource Name (ARN) of the IAM roles to embed in the token.+    -- License Manager does not check whether the roles are in use.+    roleArns :: Prelude.Maybe [Prelude.Text],+    -- | Data specified by the caller to be included in the JWT token. The data+    -- is mapped to the amr claim of the JWT token.+    tokenProperties :: Prelude.Maybe [Prelude.Text],+    -- | Amazon Resource Name (ARN) of the license. The ARN is mapped to the aud+    -- claim of the JWT token.+    licenseArn :: Prelude.Text,+    -- | Idempotency token, valid for 10 minutes.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateToken' 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:+--+-- 'expirationInDays', 'createToken_expirationInDays' - Token expiration, in days, counted from token creation. The default is+-- 365 days.+--+-- 'roleArns', 'createToken_roleArns' - Amazon Resource Name (ARN) of the IAM roles to embed in the token.+-- License Manager does not check whether the roles are in use.+--+-- 'tokenProperties', 'createToken_tokenProperties' - Data specified by the caller to be included in the JWT token. The data+-- is mapped to the amr claim of the JWT token.+--+-- 'licenseArn', 'createToken_licenseArn' - Amazon Resource Name (ARN) of the license. The ARN is mapped to the aud+-- claim of the JWT token.+--+-- 'clientToken', 'createToken_clientToken' - Idempotency token, valid for 10 minutes.+newCreateToken ::+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateToken+newCreateToken pLicenseArn_ pClientToken_ =+  CreateToken'+    { expirationInDays = Prelude.Nothing,+      roleArns = Prelude.Nothing,+      tokenProperties = Prelude.Nothing,+      licenseArn = pLicenseArn_,+      clientToken = pClientToken_+    }++-- | Token expiration, in days, counted from token creation. The default is+-- 365 days.+createToken_expirationInDays :: Lens.Lens' CreateToken (Prelude.Maybe Prelude.Int)+createToken_expirationInDays = Lens.lens (\CreateToken' {expirationInDays} -> expirationInDays) (\s@CreateToken' {} a -> s {expirationInDays = a} :: CreateToken)++-- | Amazon Resource Name (ARN) of the IAM roles to embed in the token.+-- License Manager does not check whether the roles are in use.+createToken_roleArns :: Lens.Lens' CreateToken (Prelude.Maybe [Prelude.Text])+createToken_roleArns = Lens.lens (\CreateToken' {roleArns} -> roleArns) (\s@CreateToken' {} a -> s {roleArns = a} :: CreateToken) Prelude.. Lens.mapping Lens.coerced++-- | Data specified by the caller to be included in the JWT token. The data+-- is mapped to the amr claim of the JWT token.+createToken_tokenProperties :: Lens.Lens' CreateToken (Prelude.Maybe [Prelude.Text])+createToken_tokenProperties = Lens.lens (\CreateToken' {tokenProperties} -> tokenProperties) (\s@CreateToken' {} a -> s {tokenProperties = a} :: CreateToken) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Name (ARN) of the license. The ARN is mapped to the aud+-- claim of the JWT token.+createToken_licenseArn :: Lens.Lens' CreateToken Prelude.Text+createToken_licenseArn = Lens.lens (\CreateToken' {licenseArn} -> licenseArn) (\s@CreateToken' {} a -> s {licenseArn = a} :: CreateToken)++-- | Idempotency token, valid for 10 minutes.+createToken_clientToken :: Lens.Lens' CreateToken Prelude.Text+createToken_clientToken = Lens.lens (\CreateToken' {clientToken} -> clientToken) (\s@CreateToken' {} a -> s {clientToken = a} :: CreateToken)++instance Core.AWSRequest CreateToken where+  type AWSResponse CreateToken = CreateTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTokenResponse'+            Prelude.<$> (x Data..?> "Token")+            Prelude.<*> (x Data..?> "TokenId")+            Prelude.<*> (x Data..?> "TokenType")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateToken where+  hashWithSalt _salt CreateToken' {..} =+    _salt+      `Prelude.hashWithSalt` expirationInDays+      `Prelude.hashWithSalt` roleArns+      `Prelude.hashWithSalt` tokenProperties+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateToken where+  rnf CreateToken' {..} =+    Prelude.rnf expirationInDays+      `Prelude.seq` Prelude.rnf roleArns+      `Prelude.seq` Prelude.rnf tokenProperties+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.CreateToken" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateToken where+  toJSON CreateToken' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExpirationInDays" Data..=)+              Prelude.<$> expirationInDays,+            ("RoleArns" Data..=) Prelude.<$> roleArns,+            ("TokenProperties" Data..=)+              Prelude.<$> tokenProperties,+            Prelude.Just ("LicenseArn" Data..= licenseArn),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CreateToken where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTokenResponse' smart constructor.+data CreateTokenResponse = CreateTokenResponse'+  { -- | Refresh token, encoded as a JWT token.+    token :: Prelude.Maybe Prelude.Text,+    -- | Token ID.+    tokenId :: Prelude.Maybe Prelude.Text,+    -- | Token type.+    tokenType :: Prelude.Maybe TokenType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTokenResponse' 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:+--+-- 'token', 'createTokenResponse_token' - Refresh token, encoded as a JWT token.+--+-- 'tokenId', 'createTokenResponse_tokenId' - Token ID.+--+-- 'tokenType', 'createTokenResponse_tokenType' - Token type.+--+-- 'httpStatus', 'createTokenResponse_httpStatus' - The response's http status code.+newCreateTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateTokenResponse+newCreateTokenResponse pHttpStatus_ =+  CreateTokenResponse'+    { token = Prelude.Nothing,+      tokenId = Prelude.Nothing,+      tokenType = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Refresh token, encoded as a JWT token.+createTokenResponse_token :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_token = Lens.lens (\CreateTokenResponse' {token} -> token) (\s@CreateTokenResponse' {} a -> s {token = a} :: CreateTokenResponse)++-- | Token ID.+createTokenResponse_tokenId :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_tokenId = Lens.lens (\CreateTokenResponse' {tokenId} -> tokenId) (\s@CreateTokenResponse' {} a -> s {tokenId = a} :: CreateTokenResponse)++-- | Token type.+createTokenResponse_tokenType :: Lens.Lens' CreateTokenResponse (Prelude.Maybe TokenType)+createTokenResponse_tokenType = Lens.lens (\CreateTokenResponse' {tokenType} -> tokenType) (\s@CreateTokenResponse' {} a -> s {tokenType = a} :: CreateTokenResponse)++-- | The response's http status code.+createTokenResponse_httpStatus :: Lens.Lens' CreateTokenResponse Prelude.Int+createTokenResponse_httpStatus = Lens.lens (\CreateTokenResponse' {httpStatus} -> httpStatus) (\s@CreateTokenResponse' {} a -> s {httpStatus = a} :: CreateTokenResponse)++instance Prelude.NFData CreateTokenResponse where+  rnf CreateTokenResponse' {..} =+    Prelude.rnf token+      `Prelude.seq` Prelude.rnf tokenId+      `Prelude.seq` Prelude.rnf tokenType+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/DeleteGrant.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.DeleteGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified grant.+module Amazonka.LicenseManager.DeleteGrant+  ( -- * Creating a Request+    DeleteGrant (..),+    newDeleteGrant,++    -- * Request Lenses+    deleteGrant_statusReason,+    deleteGrant_grantArn,+    deleteGrant_version,++    -- * Destructuring the Response+    DeleteGrantResponse (..),+    newDeleteGrantResponse,++    -- * Response Lenses+    deleteGrantResponse_grantArn,+    deleteGrantResponse_status,+    deleteGrantResponse_version,+    deleteGrantResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGrant' smart constructor.+data DeleteGrant = DeleteGrant'+  { -- | The Status reason for the delete request.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text,+    -- | Current version of the grant.+    version :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGrant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statusReason', 'deleteGrant_statusReason' - The Status reason for the delete request.+--+-- 'grantArn', 'deleteGrant_grantArn' - Amazon Resource Name (ARN) of the grant.+--+-- 'version', 'deleteGrant_version' - Current version of the grant.+newDeleteGrant ::+  -- | 'grantArn'+  Prelude.Text ->+  -- | 'version'+  Prelude.Text ->+  DeleteGrant+newDeleteGrant pGrantArn_ pVersion_ =+  DeleteGrant'+    { statusReason = Prelude.Nothing,+      grantArn = pGrantArn_,+      version = pVersion_+    }++-- | The Status reason for the delete request.+deleteGrant_statusReason :: Lens.Lens' DeleteGrant (Prelude.Maybe Prelude.Text)+deleteGrant_statusReason = Lens.lens (\DeleteGrant' {statusReason} -> statusReason) (\s@DeleteGrant' {} a -> s {statusReason = a} :: DeleteGrant)++-- | Amazon Resource Name (ARN) of the grant.+deleteGrant_grantArn :: Lens.Lens' DeleteGrant Prelude.Text+deleteGrant_grantArn = Lens.lens (\DeleteGrant' {grantArn} -> grantArn) (\s@DeleteGrant' {} a -> s {grantArn = a} :: DeleteGrant)++-- | Current version of the grant.+deleteGrant_version :: Lens.Lens' DeleteGrant Prelude.Text+deleteGrant_version = Lens.lens (\DeleteGrant' {version} -> version) (\s@DeleteGrant' {} a -> s {version = a} :: DeleteGrant)++instance Core.AWSRequest DeleteGrant where+  type AWSResponse DeleteGrant = DeleteGrantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteGrantResponse'+            Prelude.<$> (x Data..?> "GrantArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGrant where+  hashWithSalt _salt DeleteGrant' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` grantArn+      `Prelude.hashWithSalt` version++instance Prelude.NFData DeleteGrant where+  rnf DeleteGrant' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf version++instance Data.ToHeaders DeleteGrant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.DeleteGrant" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteGrant where+  toJSON DeleteGrant' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("StatusReason" Data..=) Prelude.<$> statusReason,+            Prelude.Just ("GrantArn" Data..= grantArn),+            Prelude.Just ("Version" Data..= version)+          ]+      )++instance Data.ToPath DeleteGrant where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteGrant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGrantResponse' smart constructor.+data DeleteGrantResponse = DeleteGrantResponse'+  { -- | Grant ARN.+    grantArn :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | Grant version.+    version :: 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 'DeleteGrantResponse' 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:+--+-- 'grantArn', 'deleteGrantResponse_grantArn' - Grant ARN.+--+-- 'status', 'deleteGrantResponse_status' - Grant status.+--+-- 'version', 'deleteGrantResponse_version' - Grant version.+--+-- 'httpStatus', 'deleteGrantResponse_httpStatus' - The response's http status code.+newDeleteGrantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteGrantResponse+newDeleteGrantResponse pHttpStatus_ =+  DeleteGrantResponse'+    { grantArn = Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant ARN.+deleteGrantResponse_grantArn :: Lens.Lens' DeleteGrantResponse (Prelude.Maybe Prelude.Text)+deleteGrantResponse_grantArn = Lens.lens (\DeleteGrantResponse' {grantArn} -> grantArn) (\s@DeleteGrantResponse' {} a -> s {grantArn = a} :: DeleteGrantResponse)++-- | Grant status.+deleteGrantResponse_status :: Lens.Lens' DeleteGrantResponse (Prelude.Maybe GrantStatus)+deleteGrantResponse_status = Lens.lens (\DeleteGrantResponse' {status} -> status) (\s@DeleteGrantResponse' {} a -> s {status = a} :: DeleteGrantResponse)++-- | Grant version.+deleteGrantResponse_version :: Lens.Lens' DeleteGrantResponse (Prelude.Maybe Prelude.Text)+deleteGrantResponse_version = Lens.lens (\DeleteGrantResponse' {version} -> version) (\s@DeleteGrantResponse' {} a -> s {version = a} :: DeleteGrantResponse)++-- | The response's http status code.+deleteGrantResponse_httpStatus :: Lens.Lens' DeleteGrantResponse Prelude.Int+deleteGrantResponse_httpStatus = Lens.lens (\DeleteGrantResponse' {httpStatus} -> httpStatus) (\s@DeleteGrantResponse' {} a -> s {httpStatus = a} :: DeleteGrantResponse)++instance Prelude.NFData DeleteGrantResponse where+  rnf DeleteGrantResponse' {..} =+    Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/DeleteLicense.hs view
@@ -0,0 +1,201 @@+{-# 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.LicenseManager.DeleteLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified license.+module Amazonka.LicenseManager.DeleteLicense+  ( -- * Creating a Request+    DeleteLicense (..),+    newDeleteLicense,++    -- * Request Lenses+    deleteLicense_licenseArn,+    deleteLicense_sourceVersion,++    -- * Destructuring the Response+    DeleteLicenseResponse (..),+    newDeleteLicenseResponse,++    -- * Response Lenses+    deleteLicenseResponse_deletionDate,+    deleteLicenseResponse_status,+    deleteLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLicense' smart constructor.+data DeleteLicense = DeleteLicense'+  { -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text,+    -- | Current version of the license.+    sourceVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicense' 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:+--+-- 'licenseArn', 'deleteLicense_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'sourceVersion', 'deleteLicense_sourceVersion' - Current version of the license.+newDeleteLicense ::+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'sourceVersion'+  Prelude.Text ->+  DeleteLicense+newDeleteLicense pLicenseArn_ pSourceVersion_ =+  DeleteLicense'+    { licenseArn = pLicenseArn_,+      sourceVersion = pSourceVersion_+    }++-- | Amazon Resource Name (ARN) of the license.+deleteLicense_licenseArn :: Lens.Lens' DeleteLicense Prelude.Text+deleteLicense_licenseArn = Lens.lens (\DeleteLicense' {licenseArn} -> licenseArn) (\s@DeleteLicense' {} a -> s {licenseArn = a} :: DeleteLicense)++-- | Current version of the license.+deleteLicense_sourceVersion :: Lens.Lens' DeleteLicense Prelude.Text+deleteLicense_sourceVersion = Lens.lens (\DeleteLicense' {sourceVersion} -> sourceVersion) (\s@DeleteLicense' {} a -> s {sourceVersion = a} :: DeleteLicense)++instance Core.AWSRequest DeleteLicense where+  type+    AWSResponse DeleteLicense =+      DeleteLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteLicenseResponse'+            Prelude.<$> (x Data..?> "DeletionDate")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteLicense where+  hashWithSalt _salt DeleteLicense' {..} =+    _salt+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` sourceVersion++instance Prelude.NFData DeleteLicense where+  rnf DeleteLicense' {..} =+    Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf sourceVersion++instance Data.ToHeaders DeleteLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.DeleteLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteLicense where+  toJSON DeleteLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LicenseArn" Data..= licenseArn),+            Prelude.Just+              ("SourceVersion" Data..= sourceVersion)+          ]+      )++instance Data.ToPath DeleteLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLicenseResponse' smart constructor.+data DeleteLicenseResponse = DeleteLicenseResponse'+  { -- | Date when the license is deleted.+    deletionDate :: Prelude.Maybe Prelude.Text,+    -- | License status.+    status :: Prelude.Maybe LicenseDeletionStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicenseResponse' 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:+--+-- 'deletionDate', 'deleteLicenseResponse_deletionDate' - Date when the license is deleted.+--+-- 'status', 'deleteLicenseResponse_status' - License status.+--+-- 'httpStatus', 'deleteLicenseResponse_httpStatus' - The response's http status code.+newDeleteLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteLicenseResponse+newDeleteLicenseResponse pHttpStatus_ =+  DeleteLicenseResponse'+    { deletionDate =+        Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Date when the license is deleted.+deleteLicenseResponse_deletionDate :: Lens.Lens' DeleteLicenseResponse (Prelude.Maybe Prelude.Text)+deleteLicenseResponse_deletionDate = Lens.lens (\DeleteLicenseResponse' {deletionDate} -> deletionDate) (\s@DeleteLicenseResponse' {} a -> s {deletionDate = a} :: DeleteLicenseResponse)++-- | License status.+deleteLicenseResponse_status :: Lens.Lens' DeleteLicenseResponse (Prelude.Maybe LicenseDeletionStatus)+deleteLicenseResponse_status = Lens.lens (\DeleteLicenseResponse' {status} -> status) (\s@DeleteLicenseResponse' {} a -> s {status = a} :: DeleteLicenseResponse)++-- | The response's http status code.+deleteLicenseResponse_httpStatus :: Lens.Lens' DeleteLicenseResponse Prelude.Int+deleteLicenseResponse_httpStatus = Lens.lens (\DeleteLicenseResponse' {httpStatus} -> httpStatus) (\s@DeleteLicenseResponse' {} a -> s {httpStatus = a} :: DeleteLicenseResponse)++instance Prelude.NFData DeleteLicenseResponse where+  rnf DeleteLicenseResponse' {..} =+    Prelude.rnf deletionDate+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/DeleteLicenseConfiguration.hs view
@@ -0,0 +1,171 @@+{-# 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.LicenseManager.DeleteLicenseConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified license configuration.+--+-- You cannot delete a license configuration that is in use.+module Amazonka.LicenseManager.DeleteLicenseConfiguration+  ( -- * Creating a Request+    DeleteLicenseConfiguration (..),+    newDeleteLicenseConfiguration,++    -- * Request Lenses+    deleteLicenseConfiguration_licenseConfigurationArn,++    -- * Destructuring the Response+    DeleteLicenseConfigurationResponse (..),+    newDeleteLicenseConfigurationResponse,++    -- * Response Lenses+    deleteLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLicenseConfiguration' smart constructor.+data DeleteLicenseConfiguration = DeleteLicenseConfiguration'+  { -- | ID of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicenseConfiguration' 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:+--+-- 'licenseConfigurationArn', 'deleteLicenseConfiguration_licenseConfigurationArn' - ID of the license configuration.+newDeleteLicenseConfiguration ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  DeleteLicenseConfiguration+newDeleteLicenseConfiguration+  pLicenseConfigurationArn_ =+    DeleteLicenseConfiguration'+      { licenseConfigurationArn =+          pLicenseConfigurationArn_+      }++-- | ID of the license configuration.+deleteLicenseConfiguration_licenseConfigurationArn :: Lens.Lens' DeleteLicenseConfiguration Prelude.Text+deleteLicenseConfiguration_licenseConfigurationArn = Lens.lens (\DeleteLicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@DeleteLicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: DeleteLicenseConfiguration)++instance Core.AWSRequest DeleteLicenseConfiguration where+  type+    AWSResponse DeleteLicenseConfiguration =+      DeleteLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteLicenseConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteLicenseConfiguration where+  hashWithSalt _salt DeleteLicenseConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` licenseConfigurationArn++instance Prelude.NFData DeleteLicenseConfiguration where+  rnf DeleteLicenseConfiguration' {..} =+    Prelude.rnf licenseConfigurationArn++instance Data.ToHeaders DeleteLicenseConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.DeleteLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteLicenseConfiguration where+  toJSON DeleteLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )++instance Data.ToPath DeleteLicenseConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteLicenseConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLicenseConfigurationResponse' smart constructor.+data DeleteLicenseConfigurationResponse = DeleteLicenseConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicenseConfigurationResponse' 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', 'deleteLicenseConfigurationResponse_httpStatus' - The response's http status code.+newDeleteLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteLicenseConfigurationResponse+newDeleteLicenseConfigurationResponse pHttpStatus_ =+  DeleteLicenseConfigurationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteLicenseConfigurationResponse_httpStatus :: Lens.Lens' DeleteLicenseConfigurationResponse Prelude.Int+deleteLicenseConfigurationResponse_httpStatus = Lens.lens (\DeleteLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteLicenseConfigurationResponse)++instance+  Prelude.NFData+    DeleteLicenseConfigurationResponse+  where+  rnf DeleteLicenseConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/DeleteLicenseManagerReportGenerator.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.DeleteLicenseManagerReportGenerator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified report generator.+--+-- This action deletes the report generator, which stops it from generating+-- future reports. The action cannot be reversed. It has no effect on the+-- previous reports from this generator.+module Amazonka.LicenseManager.DeleteLicenseManagerReportGenerator+  ( -- * Creating a Request+    DeleteLicenseManagerReportGenerator (..),+    newDeleteLicenseManagerReportGenerator,++    -- * Request Lenses+    deleteLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,++    -- * Destructuring the Response+    DeleteLicenseManagerReportGeneratorResponse (..),+    newDeleteLicenseManagerReportGeneratorResponse,++    -- * Response Lenses+    deleteLicenseManagerReportGeneratorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLicenseManagerReportGenerator' smart constructor.+data DeleteLicenseManagerReportGenerator = DeleteLicenseManagerReportGenerator'+  { -- | Amazon Resource Name (ARN) of the report generator to be deleted.+    licenseManagerReportGeneratorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicenseManagerReportGenerator' 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:+--+-- 'licenseManagerReportGeneratorArn', 'deleteLicenseManagerReportGenerator_licenseManagerReportGeneratorArn' - Amazon Resource Name (ARN) of the report generator to be deleted.+newDeleteLicenseManagerReportGenerator ::+  -- | 'licenseManagerReportGeneratorArn'+  Prelude.Text ->+  DeleteLicenseManagerReportGenerator+newDeleteLicenseManagerReportGenerator+  pLicenseManagerReportGeneratorArn_ =+    DeleteLicenseManagerReportGenerator'+      { licenseManagerReportGeneratorArn =+          pLicenseManagerReportGeneratorArn_+      }++-- | Amazon Resource Name (ARN) of the report generator to be deleted.+deleteLicenseManagerReportGenerator_licenseManagerReportGeneratorArn :: Lens.Lens' DeleteLicenseManagerReportGenerator Prelude.Text+deleteLicenseManagerReportGenerator_licenseManagerReportGeneratorArn = Lens.lens (\DeleteLicenseManagerReportGenerator' {licenseManagerReportGeneratorArn} -> licenseManagerReportGeneratorArn) (\s@DeleteLicenseManagerReportGenerator' {} a -> s {licenseManagerReportGeneratorArn = a} :: DeleteLicenseManagerReportGenerator)++instance+  Core.AWSRequest+    DeleteLicenseManagerReportGenerator+  where+  type+    AWSResponse DeleteLicenseManagerReportGenerator =+      DeleteLicenseManagerReportGeneratorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteLicenseManagerReportGeneratorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteLicenseManagerReportGenerator+  where+  hashWithSalt+    _salt+    DeleteLicenseManagerReportGenerator' {..} =+      _salt+        `Prelude.hashWithSalt` licenseManagerReportGeneratorArn++instance+  Prelude.NFData+    DeleteLicenseManagerReportGenerator+  where+  rnf DeleteLicenseManagerReportGenerator' {..} =+    Prelude.rnf licenseManagerReportGeneratorArn++instance+  Data.ToHeaders+    DeleteLicenseManagerReportGenerator+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.DeleteLicenseManagerReportGenerator" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DeleteLicenseManagerReportGenerator+  where+  toJSON DeleteLicenseManagerReportGenerator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LicenseManagerReportGeneratorArn"+                  Data..= licenseManagerReportGeneratorArn+              )+          ]+      )++instance+  Data.ToPath+    DeleteLicenseManagerReportGenerator+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DeleteLicenseManagerReportGenerator+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLicenseManagerReportGeneratorResponse' smart constructor.+data DeleteLicenseManagerReportGeneratorResponse = DeleteLicenseManagerReportGeneratorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLicenseManagerReportGeneratorResponse' 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', 'deleteLicenseManagerReportGeneratorResponse_httpStatus' - The response's http status code.+newDeleteLicenseManagerReportGeneratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteLicenseManagerReportGeneratorResponse+newDeleteLicenseManagerReportGeneratorResponse+  pHttpStatus_ =+    DeleteLicenseManagerReportGeneratorResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+deleteLicenseManagerReportGeneratorResponse_httpStatus :: Lens.Lens' DeleteLicenseManagerReportGeneratorResponse Prelude.Int+deleteLicenseManagerReportGeneratorResponse_httpStatus = Lens.lens (\DeleteLicenseManagerReportGeneratorResponse' {httpStatus} -> httpStatus) (\s@DeleteLicenseManagerReportGeneratorResponse' {} a -> s {httpStatus = a} :: DeleteLicenseManagerReportGeneratorResponse)++instance+  Prelude.NFData+    DeleteLicenseManagerReportGeneratorResponse+  where+  rnf DeleteLicenseManagerReportGeneratorResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/DeleteToken.hs view
@@ -0,0 +1,150 @@+{-# 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.LicenseManager.DeleteToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified token. Must be called in the license home Region.+module Amazonka.LicenseManager.DeleteToken+  ( -- * Creating a Request+    DeleteToken (..),+    newDeleteToken,++    -- * Request Lenses+    deleteToken_tokenId,++    -- * Destructuring the Response+    DeleteTokenResponse (..),+    newDeleteTokenResponse,++    -- * Response Lenses+    deleteTokenResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteToken' smart constructor.+data DeleteToken = DeleteToken'+  { -- | Token ID.+    tokenId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteToken' 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:+--+-- 'tokenId', 'deleteToken_tokenId' - Token ID.+newDeleteToken ::+  -- | 'tokenId'+  Prelude.Text ->+  DeleteToken+newDeleteToken pTokenId_ =+  DeleteToken' {tokenId = pTokenId_}++-- | Token ID.+deleteToken_tokenId :: Lens.Lens' DeleteToken Prelude.Text+deleteToken_tokenId = Lens.lens (\DeleteToken' {tokenId} -> tokenId) (\s@DeleteToken' {} a -> s {tokenId = a} :: DeleteToken)++instance Core.AWSRequest DeleteToken where+  type AWSResponse DeleteToken = DeleteTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteTokenResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteToken where+  hashWithSalt _salt DeleteToken' {..} =+    _salt `Prelude.hashWithSalt` tokenId++instance Prelude.NFData DeleteToken where+  rnf DeleteToken' {..} = Prelude.rnf tokenId++instance Data.ToHeaders DeleteToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.DeleteToken" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteToken where+  toJSON DeleteToken' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("TokenId" Data..= tokenId)]+      )++instance Data.ToPath DeleteToken where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTokenResponse' smart constructor.+data DeleteTokenResponse = DeleteTokenResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTokenResponse' 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', 'deleteTokenResponse_httpStatus' - The response's http status code.+newDeleteTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteTokenResponse+newDeleteTokenResponse pHttpStatus_ =+  DeleteTokenResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteTokenResponse_httpStatus :: Lens.Lens' DeleteTokenResponse Prelude.Int+deleteTokenResponse_httpStatus = Lens.lens (\DeleteTokenResponse' {httpStatus} -> httpStatus) (\s@DeleteTokenResponse' {} a -> s {httpStatus = a} :: DeleteTokenResponse)++instance Prelude.NFData DeleteTokenResponse where+  rnf DeleteTokenResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ExtendLicenseConsumption.hs view
@@ -0,0 +1,211 @@+{-# 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.LicenseManager.ExtendLicenseConsumption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Extends the expiration date for license consumption.+module Amazonka.LicenseManager.ExtendLicenseConsumption+  ( -- * Creating a Request+    ExtendLicenseConsumption (..),+    newExtendLicenseConsumption,++    -- * Request Lenses+    extendLicenseConsumption_dryRun,+    extendLicenseConsumption_licenseConsumptionToken,++    -- * Destructuring the Response+    ExtendLicenseConsumptionResponse (..),+    newExtendLicenseConsumptionResponse,++    -- * Response Lenses+    extendLicenseConsumptionResponse_expiration,+    extendLicenseConsumptionResponse_licenseConsumptionToken,+    extendLicenseConsumptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newExtendLicenseConsumption' smart constructor.+data ExtendLicenseConsumption = ExtendLicenseConsumption'+  { -- | Checks whether you have the required permissions for the action, without+    -- actually making the request. Provides an error response if you do not+    -- have the required permissions.+    dryRun :: Prelude.Maybe Prelude.Bool,+    -- | License consumption token.+    licenseConsumptionToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtendLicenseConsumption' 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:+--+-- 'dryRun', 'extendLicenseConsumption_dryRun' - Checks whether you have the required permissions for the action, without+-- actually making the request. Provides an error response if you do not+-- have the required permissions.+--+-- 'licenseConsumptionToken', 'extendLicenseConsumption_licenseConsumptionToken' - License consumption token.+newExtendLicenseConsumption ::+  -- | 'licenseConsumptionToken'+  Prelude.Text ->+  ExtendLicenseConsumption+newExtendLicenseConsumption pLicenseConsumptionToken_ =+  ExtendLicenseConsumption'+    { dryRun = Prelude.Nothing,+      licenseConsumptionToken =+        pLicenseConsumptionToken_+    }++-- | Checks whether you have the required permissions for the action, without+-- actually making the request. Provides an error response if you do not+-- have the required permissions.+extendLicenseConsumption_dryRun :: Lens.Lens' ExtendLicenseConsumption (Prelude.Maybe Prelude.Bool)+extendLicenseConsumption_dryRun = Lens.lens (\ExtendLicenseConsumption' {dryRun} -> dryRun) (\s@ExtendLicenseConsumption' {} a -> s {dryRun = a} :: ExtendLicenseConsumption)++-- | License consumption token.+extendLicenseConsumption_licenseConsumptionToken :: Lens.Lens' ExtendLicenseConsumption Prelude.Text+extendLicenseConsumption_licenseConsumptionToken = Lens.lens (\ExtendLicenseConsumption' {licenseConsumptionToken} -> licenseConsumptionToken) (\s@ExtendLicenseConsumption' {} a -> s {licenseConsumptionToken = a} :: ExtendLicenseConsumption)++instance Core.AWSRequest ExtendLicenseConsumption where+  type+    AWSResponse ExtendLicenseConsumption =+      ExtendLicenseConsumptionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExtendLicenseConsumptionResponse'+            Prelude.<$> (x Data..?> "Expiration")+            Prelude.<*> (x Data..?> "LicenseConsumptionToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ExtendLicenseConsumption where+  hashWithSalt _salt ExtendLicenseConsumption' {..} =+    _salt+      `Prelude.hashWithSalt` dryRun+      `Prelude.hashWithSalt` licenseConsumptionToken++instance Prelude.NFData ExtendLicenseConsumption where+  rnf ExtendLicenseConsumption' {..} =+    Prelude.rnf dryRun+      `Prelude.seq` Prelude.rnf licenseConsumptionToken++instance Data.ToHeaders ExtendLicenseConsumption where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ExtendLicenseConsumption" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ExtendLicenseConsumption where+  toJSON ExtendLicenseConsumption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DryRun" Data..=) Prelude.<$> dryRun,+            Prelude.Just+              ( "LicenseConsumptionToken"+                  Data..= licenseConsumptionToken+              )+          ]+      )++instance Data.ToPath ExtendLicenseConsumption where+  toPath = Prelude.const "/"++instance Data.ToQuery ExtendLicenseConsumption where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExtendLicenseConsumptionResponse' smart constructor.+data ExtendLicenseConsumptionResponse = ExtendLicenseConsumptionResponse'+  { -- | Date and time at which the license consumption expires.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | License consumption token.+    licenseConsumptionToken :: 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 'ExtendLicenseConsumptionResponse' 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:+--+-- 'expiration', 'extendLicenseConsumptionResponse_expiration' - Date and time at which the license consumption expires.+--+-- 'licenseConsumptionToken', 'extendLicenseConsumptionResponse_licenseConsumptionToken' - License consumption token.+--+-- 'httpStatus', 'extendLicenseConsumptionResponse_httpStatus' - The response's http status code.+newExtendLicenseConsumptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ExtendLicenseConsumptionResponse+newExtendLicenseConsumptionResponse pHttpStatus_ =+  ExtendLicenseConsumptionResponse'+    { expiration =+        Prelude.Nothing,+      licenseConsumptionToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Date and time at which the license consumption expires.+extendLicenseConsumptionResponse_expiration :: Lens.Lens' ExtendLicenseConsumptionResponse (Prelude.Maybe Prelude.Text)+extendLicenseConsumptionResponse_expiration = Lens.lens (\ExtendLicenseConsumptionResponse' {expiration} -> expiration) (\s@ExtendLicenseConsumptionResponse' {} a -> s {expiration = a} :: ExtendLicenseConsumptionResponse)++-- | License consumption token.+extendLicenseConsumptionResponse_licenseConsumptionToken :: Lens.Lens' ExtendLicenseConsumptionResponse (Prelude.Maybe Prelude.Text)+extendLicenseConsumptionResponse_licenseConsumptionToken = Lens.lens (\ExtendLicenseConsumptionResponse' {licenseConsumptionToken} -> licenseConsumptionToken) (\s@ExtendLicenseConsumptionResponse' {} a -> s {licenseConsumptionToken = a} :: ExtendLicenseConsumptionResponse)++-- | The response's http status code.+extendLicenseConsumptionResponse_httpStatus :: Lens.Lens' ExtendLicenseConsumptionResponse Prelude.Int+extendLicenseConsumptionResponse_httpStatus = Lens.lens (\ExtendLicenseConsumptionResponse' {httpStatus} -> httpStatus) (\s@ExtendLicenseConsumptionResponse' {} a -> s {httpStatus = a} :: ExtendLicenseConsumptionResponse)++instance+  Prelude.NFData+    ExtendLicenseConsumptionResponse+  where+  rnf ExtendLicenseConsumptionResponse' {..} =+    Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf licenseConsumptionToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetAccessToken.hs view
@@ -0,0 +1,188 @@+{-# 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.LicenseManager.GetAccessToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a temporary access token to use with AssumeRoleWithWebIdentity.+-- Access tokens are valid for one hour.+module Amazonka.LicenseManager.GetAccessToken+  ( -- * Creating a Request+    GetAccessToken (..),+    newGetAccessToken,++    -- * Request Lenses+    getAccessToken_tokenProperties,+    getAccessToken_token,++    -- * Destructuring the Response+    GetAccessTokenResponse (..),+    newGetAccessTokenResponse,++    -- * Response Lenses+    getAccessTokenResponse_accessToken,+    getAccessTokenResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAccessToken' smart constructor.+data GetAccessToken = GetAccessToken'+  { -- | Token properties to validate against those present in the JWT token.+    tokenProperties :: Prelude.Maybe [Prelude.Text],+    -- | Refresh token, encoded as a JWT token.+    token :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccessToken' 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:+--+-- 'tokenProperties', 'getAccessToken_tokenProperties' - Token properties to validate against those present in the JWT token.+--+-- 'token', 'getAccessToken_token' - Refresh token, encoded as a JWT token.+newGetAccessToken ::+  -- | 'token'+  Prelude.Text ->+  GetAccessToken+newGetAccessToken pToken_ =+  GetAccessToken'+    { tokenProperties = Prelude.Nothing,+      token = pToken_+    }++-- | Token properties to validate against those present in the JWT token.+getAccessToken_tokenProperties :: Lens.Lens' GetAccessToken (Prelude.Maybe [Prelude.Text])+getAccessToken_tokenProperties = Lens.lens (\GetAccessToken' {tokenProperties} -> tokenProperties) (\s@GetAccessToken' {} a -> s {tokenProperties = a} :: GetAccessToken) Prelude.. Lens.mapping Lens.coerced++-- | Refresh token, encoded as a JWT token.+getAccessToken_token :: Lens.Lens' GetAccessToken Prelude.Text+getAccessToken_token = Lens.lens (\GetAccessToken' {token} -> token) (\s@GetAccessToken' {} a -> s {token = a} :: GetAccessToken)++instance Core.AWSRequest GetAccessToken where+  type+    AWSResponse GetAccessToken =+      GetAccessTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAccessTokenResponse'+            Prelude.<$> (x Data..?> "AccessToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAccessToken where+  hashWithSalt _salt GetAccessToken' {..} =+    _salt+      `Prelude.hashWithSalt` tokenProperties+      `Prelude.hashWithSalt` token++instance Prelude.NFData GetAccessToken where+  rnf GetAccessToken' {..} =+    Prelude.rnf tokenProperties+      `Prelude.seq` Prelude.rnf token++instance Data.ToHeaders GetAccessToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetAccessToken" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetAccessToken where+  toJSON GetAccessToken' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TokenProperties" Data..=)+              Prelude.<$> tokenProperties,+            Prelude.Just ("Token" Data..= token)+          ]+      )++instance Data.ToPath GetAccessToken where+  toPath = Prelude.const "/"++instance Data.ToQuery GetAccessToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccessTokenResponse' smart constructor.+data GetAccessTokenResponse = GetAccessTokenResponse'+  { -- | Temporary access token.+    accessToken :: 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 'GetAccessTokenResponse' 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:+--+-- 'accessToken', 'getAccessTokenResponse_accessToken' - Temporary access token.+--+-- 'httpStatus', 'getAccessTokenResponse_httpStatus' - The response's http status code.+newGetAccessTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAccessTokenResponse+newGetAccessTokenResponse pHttpStatus_ =+  GetAccessTokenResponse'+    { accessToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Temporary access token.+getAccessTokenResponse_accessToken :: Lens.Lens' GetAccessTokenResponse (Prelude.Maybe Prelude.Text)+getAccessTokenResponse_accessToken = Lens.lens (\GetAccessTokenResponse' {accessToken} -> accessToken) (\s@GetAccessTokenResponse' {} a -> s {accessToken = a} :: GetAccessTokenResponse)++-- | The response's http status code.+getAccessTokenResponse_httpStatus :: Lens.Lens' GetAccessTokenResponse Prelude.Int+getAccessTokenResponse_httpStatus = Lens.lens (\GetAccessTokenResponse' {httpStatus} -> httpStatus) (\s@GetAccessTokenResponse' {} a -> s {httpStatus = a} :: GetAccessTokenResponse)++instance Prelude.NFData GetAccessTokenResponse where+  rnf GetAccessTokenResponse' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetGrant.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.GetGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets detailed information about the specified grant.+module Amazonka.LicenseManager.GetGrant+  ( -- * Creating a Request+    GetGrant (..),+    newGetGrant,++    -- * Request Lenses+    getGrant_version,+    getGrant_grantArn,++    -- * Destructuring the Response+    GetGrantResponse (..),+    newGetGrantResponse,++    -- * Response Lenses+    getGrantResponse_grant,+    getGrantResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGrant' smart constructor.+data GetGrant = GetGrant'+  { -- | Grant version.+    version :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGrant' 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:+--+-- 'version', 'getGrant_version' - Grant version.+--+-- 'grantArn', 'getGrant_grantArn' - Amazon Resource Name (ARN) of the grant.+newGetGrant ::+  -- | 'grantArn'+  Prelude.Text ->+  GetGrant+newGetGrant pGrantArn_ =+  GetGrant'+    { version = Prelude.Nothing,+      grantArn = pGrantArn_+    }++-- | Grant version.+getGrant_version :: Lens.Lens' GetGrant (Prelude.Maybe Prelude.Text)+getGrant_version = Lens.lens (\GetGrant' {version} -> version) (\s@GetGrant' {} a -> s {version = a} :: GetGrant)++-- | Amazon Resource Name (ARN) of the grant.+getGrant_grantArn :: Lens.Lens' GetGrant Prelude.Text+getGrant_grantArn = Lens.lens (\GetGrant' {grantArn} -> grantArn) (\s@GetGrant' {} a -> s {grantArn = a} :: GetGrant)++instance Core.AWSRequest GetGrant where+  type AWSResponse GetGrant = GetGrantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetGrantResponse'+            Prelude.<$> (x Data..?> "Grant")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetGrant where+  hashWithSalt _salt GetGrant' {..} =+    _salt+      `Prelude.hashWithSalt` version+      `Prelude.hashWithSalt` grantArn++instance Prelude.NFData GetGrant where+  rnf GetGrant' {..} =+    Prelude.rnf version+      `Prelude.seq` Prelude.rnf grantArn++instance Data.ToHeaders GetGrant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AWSLicenseManager.GetGrant" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetGrant where+  toJSON GetGrant' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Version" Data..=) Prelude.<$> version,+            Prelude.Just ("GrantArn" Data..= grantArn)+          ]+      )++instance Data.ToPath GetGrant where+  toPath = Prelude.const "/"++instance Data.ToQuery GetGrant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGrantResponse' smart constructor.+data GetGrantResponse = GetGrantResponse'+  { -- | Grant details.+    grant :: Prelude.Maybe Grant,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGrantResponse' 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:+--+-- 'grant', 'getGrantResponse_grant' - Grant details.+--+-- 'httpStatus', 'getGrantResponse_httpStatus' - The response's http status code.+newGetGrantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetGrantResponse+newGetGrantResponse pHttpStatus_ =+  GetGrantResponse'+    { grant = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant details.+getGrantResponse_grant :: Lens.Lens' GetGrantResponse (Prelude.Maybe Grant)+getGrantResponse_grant = Lens.lens (\GetGrantResponse' {grant} -> grant) (\s@GetGrantResponse' {} a -> s {grant = a} :: GetGrantResponse)++-- | The response's http status code.+getGrantResponse_httpStatus :: Lens.Lens' GetGrantResponse Prelude.Int+getGrantResponse_httpStatus = Lens.lens (\GetGrantResponse' {httpStatus} -> httpStatus) (\s@GetGrantResponse' {} a -> s {httpStatus = a} :: GetGrantResponse)++instance Prelude.NFData GetGrantResponse where+  rnf GetGrantResponse' {..} =+    Prelude.rnf grant+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetLicense.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.GetLicense+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets detailed information about the specified license.+module Amazonka.LicenseManager.GetLicense+  ( -- * Creating a Request+    GetLicense (..),+    newGetLicense,++    -- * Request Lenses+    getLicense_version,+    getLicense_licenseArn,++    -- * Destructuring the Response+    GetLicenseResponse (..),+    newGetLicenseResponse,++    -- * Response Lenses+    getLicenseResponse_license,+    getLicenseResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLicense' smart constructor.+data GetLicense = GetLicense'+  { -- | License version.+    version :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicense' 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:+--+-- 'version', 'getLicense_version' - License version.+--+-- 'licenseArn', 'getLicense_licenseArn' - Amazon Resource Name (ARN) of the license.+newGetLicense ::+  -- | 'licenseArn'+  Prelude.Text ->+  GetLicense+newGetLicense pLicenseArn_ =+  GetLicense'+    { version = Prelude.Nothing,+      licenseArn = pLicenseArn_+    }++-- | License version.+getLicense_version :: Lens.Lens' GetLicense (Prelude.Maybe Prelude.Text)+getLicense_version = Lens.lens (\GetLicense' {version} -> version) (\s@GetLicense' {} a -> s {version = a} :: GetLicense)++-- | Amazon Resource Name (ARN) of the license.+getLicense_licenseArn :: Lens.Lens' GetLicense Prelude.Text+getLicense_licenseArn = Lens.lens (\GetLicense' {licenseArn} -> licenseArn) (\s@GetLicense' {} a -> s {licenseArn = a} :: GetLicense)++instance Core.AWSRequest GetLicense where+  type AWSResponse GetLicense = GetLicenseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLicenseResponse'+            Prelude.<$> (x Data..?> "License")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLicense where+  hashWithSalt _salt GetLicense' {..} =+    _salt+      `Prelude.hashWithSalt` version+      `Prelude.hashWithSalt` licenseArn++instance Prelude.NFData GetLicense where+  rnf GetLicense' {..} =+    Prelude.rnf version+      `Prelude.seq` Prelude.rnf licenseArn++instance Data.ToHeaders GetLicense where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetLicense" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetLicense where+  toJSON GetLicense' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Version" Data..=) Prelude.<$> version,+            Prelude.Just ("LicenseArn" Data..= licenseArn)+          ]+      )++instance Data.ToPath GetLicense where+  toPath = Prelude.const "/"++instance Data.ToQuery GetLicense where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLicenseResponse' smart constructor.+data GetLicenseResponse = GetLicenseResponse'+  { -- | License details.+    license :: Prelude.Maybe License,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseResponse' 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:+--+-- 'license', 'getLicenseResponse_license' - License details.+--+-- 'httpStatus', 'getLicenseResponse_httpStatus' - The response's http status code.+newGetLicenseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLicenseResponse+newGetLicenseResponse pHttpStatus_ =+  GetLicenseResponse'+    { license = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | License details.+getLicenseResponse_license :: Lens.Lens' GetLicenseResponse (Prelude.Maybe License)+getLicenseResponse_license = Lens.lens (\GetLicenseResponse' {license} -> license) (\s@GetLicenseResponse' {} a -> s {license = a} :: GetLicenseResponse)++-- | The response's http status code.+getLicenseResponse_httpStatus :: Lens.Lens' GetLicenseResponse Prelude.Int+getLicenseResponse_httpStatus = Lens.lens (\GetLicenseResponse' {httpStatus} -> httpStatus) (\s@GetLicenseResponse' {} a -> s {httpStatus = a} :: GetLicenseResponse)++instance Prelude.NFData GetLicenseResponse where+  rnf GetLicenseResponse' {..} =+    Prelude.rnf license+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetLicenseConfiguration.hs view
@@ -0,0 +1,383 @@+{-# 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.LicenseManager.GetLicenseConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets detailed information about the specified license configuration.+module Amazonka.LicenseManager.GetLicenseConfiguration+  ( -- * Creating a Request+    GetLicenseConfiguration (..),+    newGetLicenseConfiguration,++    -- * Request Lenses+    getLicenseConfiguration_licenseConfigurationArn,++    -- * Destructuring the Response+    GetLicenseConfigurationResponse (..),+    newGetLicenseConfigurationResponse,++    -- * Response Lenses+    getLicenseConfigurationResponse_automatedDiscoveryInformation,+    getLicenseConfigurationResponse_consumedLicenseSummaryList,+    getLicenseConfigurationResponse_consumedLicenses,+    getLicenseConfigurationResponse_description,+    getLicenseConfigurationResponse_disassociateWhenNotFound,+    getLicenseConfigurationResponse_licenseConfigurationArn,+    getLicenseConfigurationResponse_licenseConfigurationId,+    getLicenseConfigurationResponse_licenseCount,+    getLicenseConfigurationResponse_licenseCountHardLimit,+    getLicenseConfigurationResponse_licenseCountingType,+    getLicenseConfigurationResponse_licenseRules,+    getLicenseConfigurationResponse_managedResourceSummaryList,+    getLicenseConfigurationResponse_name,+    getLicenseConfigurationResponse_ownerAccountId,+    getLicenseConfigurationResponse_productInformationList,+    getLicenseConfigurationResponse_status,+    getLicenseConfigurationResponse_tags,+    getLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLicenseConfiguration' smart constructor.+data GetLicenseConfiguration = GetLicenseConfiguration'+  { -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseConfiguration' 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:+--+-- 'licenseConfigurationArn', 'getLicenseConfiguration_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+newGetLicenseConfiguration ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  GetLicenseConfiguration+newGetLicenseConfiguration pLicenseConfigurationArn_ =+  GetLicenseConfiguration'+    { licenseConfigurationArn =+        pLicenseConfigurationArn_+    }++-- | Amazon Resource Name (ARN) of the license configuration.+getLicenseConfiguration_licenseConfigurationArn :: Lens.Lens' GetLicenseConfiguration Prelude.Text+getLicenseConfiguration_licenseConfigurationArn = Lens.lens (\GetLicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@GetLicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: GetLicenseConfiguration)++instance Core.AWSRequest GetLicenseConfiguration where+  type+    AWSResponse GetLicenseConfiguration =+      GetLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLicenseConfigurationResponse'+            Prelude.<$> (x Data..?> "AutomatedDiscoveryInformation")+            Prelude.<*> ( x+                            Data..?> "ConsumedLicenseSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "ConsumedLicenses")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "DisassociateWhenNotFound")+            Prelude.<*> (x Data..?> "LicenseConfigurationArn")+            Prelude.<*> (x Data..?> "LicenseConfigurationId")+            Prelude.<*> (x Data..?> "LicenseCount")+            Prelude.<*> (x Data..?> "LicenseCountHardLimit")+            Prelude.<*> (x Data..?> "LicenseCountingType")+            Prelude.<*> (x Data..?> "LicenseRules" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "ManagedResourceSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> ( x+                            Data..?> "ProductInformationList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLicenseConfiguration where+  hashWithSalt _salt GetLicenseConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` licenseConfigurationArn++instance Prelude.NFData GetLicenseConfiguration where+  rnf GetLicenseConfiguration' {..} =+    Prelude.rnf licenseConfigurationArn++instance Data.ToHeaders GetLicenseConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetLicenseConfiguration where+  toJSON GetLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )++instance Data.ToPath GetLicenseConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery GetLicenseConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLicenseConfigurationResponse' smart constructor.+data GetLicenseConfigurationResponse = GetLicenseConfigurationResponse'+  { -- | Automated discovery information.+    automatedDiscoveryInformation :: Prelude.Maybe AutomatedDiscoveryInformation,+    -- | Summaries of the licenses consumed by resources.+    consumedLicenseSummaryList :: Prelude.Maybe [ConsumedLicenseSummary],+    -- | Number of licenses assigned to resources.+    consumedLicenses :: Prelude.Maybe Prelude.Integer,+    -- | Description of the license configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | When true, disassociates a resource when software is uninstalled.+    disassociateWhenNotFound :: Prelude.Maybe Prelude.Bool,+    -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | Unique ID for the license configuration.+    licenseConfigurationId :: Prelude.Maybe Prelude.Text,+    -- | Number of available licenses.+    licenseCount :: Prelude.Maybe Prelude.Integer,+    -- | Sets the number of available licenses as a hard limit.+    licenseCountHardLimit :: Prelude.Maybe Prelude.Bool,+    -- | Dimension for which the licenses are counted.+    licenseCountingType :: Prelude.Maybe LicenseCountingType,+    -- | License rules.+    licenseRules :: Prelude.Maybe [Prelude.Text],+    -- | Summaries of the managed resources.+    managedResourceSummaryList :: Prelude.Maybe [ManagedResourceSummary],+    -- | Name of the license configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | Account ID of the owner of the license configuration.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | Product information.+    productInformationList :: Prelude.Maybe [ProductInformation],+    -- | License configuration status.+    status :: Prelude.Maybe Prelude.Text,+    -- | Tags for the license configuration.+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseConfigurationResponse' 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:+--+-- 'automatedDiscoveryInformation', 'getLicenseConfigurationResponse_automatedDiscoveryInformation' - Automated discovery information.+--+-- 'consumedLicenseSummaryList', 'getLicenseConfigurationResponse_consumedLicenseSummaryList' - Summaries of the licenses consumed by resources.+--+-- 'consumedLicenses', 'getLicenseConfigurationResponse_consumedLicenses' - Number of licenses assigned to resources.+--+-- 'description', 'getLicenseConfigurationResponse_description' - Description of the license configuration.+--+-- 'disassociateWhenNotFound', 'getLicenseConfigurationResponse_disassociateWhenNotFound' - When true, disassociates a resource when software is uninstalled.+--+-- 'licenseConfigurationArn', 'getLicenseConfigurationResponse_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+--+-- 'licenseConfigurationId', 'getLicenseConfigurationResponse_licenseConfigurationId' - Unique ID for the license configuration.+--+-- 'licenseCount', 'getLicenseConfigurationResponse_licenseCount' - Number of available licenses.+--+-- 'licenseCountHardLimit', 'getLicenseConfigurationResponse_licenseCountHardLimit' - Sets the number of available licenses as a hard limit.+--+-- 'licenseCountingType', 'getLicenseConfigurationResponse_licenseCountingType' - Dimension for which the licenses are counted.+--+-- 'licenseRules', 'getLicenseConfigurationResponse_licenseRules' - License rules.+--+-- 'managedResourceSummaryList', 'getLicenseConfigurationResponse_managedResourceSummaryList' - Summaries of the managed resources.+--+-- 'name', 'getLicenseConfigurationResponse_name' - Name of the license configuration.+--+-- 'ownerAccountId', 'getLicenseConfigurationResponse_ownerAccountId' - Account ID of the owner of the license configuration.+--+-- 'productInformationList', 'getLicenseConfigurationResponse_productInformationList' - Product information.+--+-- 'status', 'getLicenseConfigurationResponse_status' - License configuration status.+--+-- 'tags', 'getLicenseConfigurationResponse_tags' - Tags for the license configuration.+--+-- 'httpStatus', 'getLicenseConfigurationResponse_httpStatus' - The response's http status code.+newGetLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLicenseConfigurationResponse+newGetLicenseConfigurationResponse pHttpStatus_ =+  GetLicenseConfigurationResponse'+    { automatedDiscoveryInformation =+        Prelude.Nothing,+      consumedLicenseSummaryList =+        Prelude.Nothing,+      consumedLicenses = Prelude.Nothing,+      description = Prelude.Nothing,+      disassociateWhenNotFound = Prelude.Nothing,+      licenseConfigurationArn = Prelude.Nothing,+      licenseConfigurationId = Prelude.Nothing,+      licenseCount = Prelude.Nothing,+      licenseCountHardLimit = Prelude.Nothing,+      licenseCountingType = Prelude.Nothing,+      licenseRules = Prelude.Nothing,+      managedResourceSummaryList =+        Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      productInformationList = Prelude.Nothing,+      status = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Automated discovery information.+getLicenseConfigurationResponse_automatedDiscoveryInformation :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe AutomatedDiscoveryInformation)+getLicenseConfigurationResponse_automatedDiscoveryInformation = Lens.lens (\GetLicenseConfigurationResponse' {automatedDiscoveryInformation} -> automatedDiscoveryInformation) (\s@GetLicenseConfigurationResponse' {} a -> s {automatedDiscoveryInformation = a} :: GetLicenseConfigurationResponse)++-- | Summaries of the licenses consumed by resources.+getLicenseConfigurationResponse_consumedLicenseSummaryList :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe [ConsumedLicenseSummary])+getLicenseConfigurationResponse_consumedLicenseSummaryList = Lens.lens (\GetLicenseConfigurationResponse' {consumedLicenseSummaryList} -> consumedLicenseSummaryList) (\s@GetLicenseConfigurationResponse' {} a -> s {consumedLicenseSummaryList = a} :: GetLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Number of licenses assigned to resources.+getLicenseConfigurationResponse_consumedLicenses :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Integer)+getLicenseConfigurationResponse_consumedLicenses = Lens.lens (\GetLicenseConfigurationResponse' {consumedLicenses} -> consumedLicenses) (\s@GetLicenseConfigurationResponse' {} a -> s {consumedLicenses = a} :: GetLicenseConfigurationResponse)++-- | Description of the license configuration.+getLicenseConfigurationResponse_description :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_description = Lens.lens (\GetLicenseConfigurationResponse' {description} -> description) (\s@GetLicenseConfigurationResponse' {} a -> s {description = a} :: GetLicenseConfigurationResponse)++-- | When true, disassociates a resource when software is uninstalled.+getLicenseConfigurationResponse_disassociateWhenNotFound :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Bool)+getLicenseConfigurationResponse_disassociateWhenNotFound = Lens.lens (\GetLicenseConfigurationResponse' {disassociateWhenNotFound} -> disassociateWhenNotFound) (\s@GetLicenseConfigurationResponse' {} a -> s {disassociateWhenNotFound = a} :: GetLicenseConfigurationResponse)++-- | Amazon Resource Name (ARN) of the license configuration.+getLicenseConfigurationResponse_licenseConfigurationArn :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_licenseConfigurationArn = Lens.lens (\GetLicenseConfigurationResponse' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseConfigurationArn = a} :: GetLicenseConfigurationResponse)++-- | Unique ID for the license configuration.+getLicenseConfigurationResponse_licenseConfigurationId :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_licenseConfigurationId = Lens.lens (\GetLicenseConfigurationResponse' {licenseConfigurationId} -> licenseConfigurationId) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseConfigurationId = a} :: GetLicenseConfigurationResponse)++-- | Number of available licenses.+getLicenseConfigurationResponse_licenseCount :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Integer)+getLicenseConfigurationResponse_licenseCount = Lens.lens (\GetLicenseConfigurationResponse' {licenseCount} -> licenseCount) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseCount = a} :: GetLicenseConfigurationResponse)++-- | Sets the number of available licenses as a hard limit.+getLicenseConfigurationResponse_licenseCountHardLimit :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Bool)+getLicenseConfigurationResponse_licenseCountHardLimit = Lens.lens (\GetLicenseConfigurationResponse' {licenseCountHardLimit} -> licenseCountHardLimit) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseCountHardLimit = a} :: GetLicenseConfigurationResponse)++-- | Dimension for which the licenses are counted.+getLicenseConfigurationResponse_licenseCountingType :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe LicenseCountingType)+getLicenseConfigurationResponse_licenseCountingType = Lens.lens (\GetLicenseConfigurationResponse' {licenseCountingType} -> licenseCountingType) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseCountingType = a} :: GetLicenseConfigurationResponse)++-- | License rules.+getLicenseConfigurationResponse_licenseRules :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe [Prelude.Text])+getLicenseConfigurationResponse_licenseRules = Lens.lens (\GetLicenseConfigurationResponse' {licenseRules} -> licenseRules) (\s@GetLicenseConfigurationResponse' {} a -> s {licenseRules = a} :: GetLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Summaries of the managed resources.+getLicenseConfigurationResponse_managedResourceSummaryList :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe [ManagedResourceSummary])+getLicenseConfigurationResponse_managedResourceSummaryList = Lens.lens (\GetLicenseConfigurationResponse' {managedResourceSummaryList} -> managedResourceSummaryList) (\s@GetLicenseConfigurationResponse' {} a -> s {managedResourceSummaryList = a} :: GetLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Name of the license configuration.+getLicenseConfigurationResponse_name :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_name = Lens.lens (\GetLicenseConfigurationResponse' {name} -> name) (\s@GetLicenseConfigurationResponse' {} a -> s {name = a} :: GetLicenseConfigurationResponse)++-- | Account ID of the owner of the license configuration.+getLicenseConfigurationResponse_ownerAccountId :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_ownerAccountId = Lens.lens (\GetLicenseConfigurationResponse' {ownerAccountId} -> ownerAccountId) (\s@GetLicenseConfigurationResponse' {} a -> s {ownerAccountId = a} :: GetLicenseConfigurationResponse)++-- | Product information.+getLicenseConfigurationResponse_productInformationList :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe [ProductInformation])+getLicenseConfigurationResponse_productInformationList = Lens.lens (\GetLicenseConfigurationResponse' {productInformationList} -> productInformationList) (\s@GetLicenseConfigurationResponse' {} a -> s {productInformationList = a} :: GetLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | License configuration status.+getLicenseConfigurationResponse_status :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+getLicenseConfigurationResponse_status = Lens.lens (\GetLicenseConfigurationResponse' {status} -> status) (\s@GetLicenseConfigurationResponse' {} a -> s {status = a} :: GetLicenseConfigurationResponse)++-- | Tags for the license configuration.+getLicenseConfigurationResponse_tags :: Lens.Lens' GetLicenseConfigurationResponse (Prelude.Maybe [Tag])+getLicenseConfigurationResponse_tags = Lens.lens (\GetLicenseConfigurationResponse' {tags} -> tags) (\s@GetLicenseConfigurationResponse' {} a -> s {tags = a} :: GetLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getLicenseConfigurationResponse_httpStatus :: Lens.Lens' GetLicenseConfigurationResponse Prelude.Int+getLicenseConfigurationResponse_httpStatus = Lens.lens (\GetLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: GetLicenseConfigurationResponse)++instance+  Prelude.NFData+    GetLicenseConfigurationResponse+  where+  rnf GetLicenseConfigurationResponse' {..} =+    Prelude.rnf automatedDiscoveryInformation+      `Prelude.seq` Prelude.rnf consumedLicenseSummaryList+      `Prelude.seq` Prelude.rnf consumedLicenses+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf disassociateWhenNotFound+      `Prelude.seq` Prelude.rnf licenseConfigurationArn+      `Prelude.seq` Prelude.rnf licenseConfigurationId+      `Prelude.seq` Prelude.rnf licenseCount+      `Prelude.seq` Prelude.rnf licenseCountHardLimit+      `Prelude.seq` Prelude.rnf licenseCountingType+      `Prelude.seq` Prelude.rnf licenseRules+      `Prelude.seq` Prelude.rnf managedResourceSummaryList+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf productInformationList+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetLicenseConversionTask.hs view
@@ -0,0 +1,279 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.GetLicenseConversionTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the specified license type conversion task.+module Amazonka.LicenseManager.GetLicenseConversionTask+  ( -- * Creating a Request+    GetLicenseConversionTask (..),+    newGetLicenseConversionTask,++    -- * Request Lenses+    getLicenseConversionTask_licenseConversionTaskId,++    -- * Destructuring the Response+    GetLicenseConversionTaskResponse (..),+    newGetLicenseConversionTaskResponse,++    -- * Response Lenses+    getLicenseConversionTaskResponse_destinationLicenseContext,+    getLicenseConversionTaskResponse_endTime,+    getLicenseConversionTaskResponse_licenseConversionTaskId,+    getLicenseConversionTaskResponse_licenseConversionTime,+    getLicenseConversionTaskResponse_resourceArn,+    getLicenseConversionTaskResponse_sourceLicenseContext,+    getLicenseConversionTaskResponse_startTime,+    getLicenseConversionTaskResponse_status,+    getLicenseConversionTaskResponse_statusMessage,+    getLicenseConversionTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLicenseConversionTask' smart constructor.+data GetLicenseConversionTask = GetLicenseConversionTask'+  { -- | ID of the license type conversion task to retrieve information on.+    licenseConversionTaskId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseConversionTask' 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:+--+-- 'licenseConversionTaskId', 'getLicenseConversionTask_licenseConversionTaskId' - ID of the license type conversion task to retrieve information on.+newGetLicenseConversionTask ::+  -- | 'licenseConversionTaskId'+  Prelude.Text ->+  GetLicenseConversionTask+newGetLicenseConversionTask pLicenseConversionTaskId_ =+  GetLicenseConversionTask'+    { licenseConversionTaskId =+        pLicenseConversionTaskId_+    }++-- | ID of the license type conversion task to retrieve information on.+getLicenseConversionTask_licenseConversionTaskId :: Lens.Lens' GetLicenseConversionTask Prelude.Text+getLicenseConversionTask_licenseConversionTaskId = Lens.lens (\GetLicenseConversionTask' {licenseConversionTaskId} -> licenseConversionTaskId) (\s@GetLicenseConversionTask' {} a -> s {licenseConversionTaskId = a} :: GetLicenseConversionTask)++instance Core.AWSRequest GetLicenseConversionTask where+  type+    AWSResponse GetLicenseConversionTask =+      GetLicenseConversionTaskResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLicenseConversionTaskResponse'+            Prelude.<$> (x Data..?> "DestinationLicenseContext")+            Prelude.<*> (x Data..?> "EndTime")+            Prelude.<*> (x Data..?> "LicenseConversionTaskId")+            Prelude.<*> (x Data..?> "LicenseConversionTime")+            Prelude.<*> (x Data..?> "ResourceArn")+            Prelude.<*> (x Data..?> "SourceLicenseContext")+            Prelude.<*> (x Data..?> "StartTime")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "StatusMessage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLicenseConversionTask where+  hashWithSalt _salt GetLicenseConversionTask' {..} =+    _salt+      `Prelude.hashWithSalt` licenseConversionTaskId++instance Prelude.NFData GetLicenseConversionTask where+  rnf GetLicenseConversionTask' {..} =+    Prelude.rnf licenseConversionTaskId++instance Data.ToHeaders GetLicenseConversionTask where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetLicenseConversionTask" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetLicenseConversionTask where+  toJSON GetLicenseConversionTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LicenseConversionTaskId"+                  Data..= licenseConversionTaskId+              )+          ]+      )++instance Data.ToPath GetLicenseConversionTask where+  toPath = Prelude.const "/"++instance Data.ToQuery GetLicenseConversionTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLicenseConversionTaskResponse' smart constructor.+data GetLicenseConversionTaskResponse = GetLicenseConversionTaskResponse'+  { -- | Information about the license type converted to.+    destinationLicenseContext :: Prelude.Maybe LicenseConversionContext,+    -- | Time at which the license type conversion task was completed.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | ID of the license type conversion task.+    licenseConversionTaskId :: Prelude.Maybe Prelude.Text,+    -- | Amount of time to complete the license type conversion.+    licenseConversionTime :: Prelude.Maybe Data.POSIX,+    -- | Amazon Resource Names (ARN) of the resources the license conversion task+    -- is associated with.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | Information about the license type converted from.+    sourceLicenseContext :: Prelude.Maybe LicenseConversionContext,+    -- | Time at which the license type conversion task was started .+    startTime :: Prelude.Maybe Data.POSIX,+    -- | Status of the license type conversion task.+    status :: Prelude.Maybe LicenseConversionTaskStatus,+    -- | The status message for the conversion task.+    statusMessage :: 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 'GetLicenseConversionTaskResponse' 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:+--+-- 'destinationLicenseContext', 'getLicenseConversionTaskResponse_destinationLicenseContext' - Information about the license type converted to.+--+-- 'endTime', 'getLicenseConversionTaskResponse_endTime' - Time at which the license type conversion task was completed.+--+-- 'licenseConversionTaskId', 'getLicenseConversionTaskResponse_licenseConversionTaskId' - ID of the license type conversion task.+--+-- 'licenseConversionTime', 'getLicenseConversionTaskResponse_licenseConversionTime' - Amount of time to complete the license type conversion.+--+-- 'resourceArn', 'getLicenseConversionTaskResponse_resourceArn' - Amazon Resource Names (ARN) of the resources the license conversion task+-- is associated with.+--+-- 'sourceLicenseContext', 'getLicenseConversionTaskResponse_sourceLicenseContext' - Information about the license type converted from.+--+-- 'startTime', 'getLicenseConversionTaskResponse_startTime' - Time at which the license type conversion task was started .+--+-- 'status', 'getLicenseConversionTaskResponse_status' - Status of the license type conversion task.+--+-- 'statusMessage', 'getLicenseConversionTaskResponse_statusMessage' - The status message for the conversion task.+--+-- 'httpStatus', 'getLicenseConversionTaskResponse_httpStatus' - The response's http status code.+newGetLicenseConversionTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLicenseConversionTaskResponse+newGetLicenseConversionTaskResponse pHttpStatus_ =+  GetLicenseConversionTaskResponse'+    { destinationLicenseContext =+        Prelude.Nothing,+      endTime = Prelude.Nothing,+      licenseConversionTaskId = Prelude.Nothing,+      licenseConversionTime = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      sourceLicenseContext = Prelude.Nothing,+      startTime = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the license type converted to.+getLicenseConversionTaskResponse_destinationLicenseContext :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe LicenseConversionContext)+getLicenseConversionTaskResponse_destinationLicenseContext = Lens.lens (\GetLicenseConversionTaskResponse' {destinationLicenseContext} -> destinationLicenseContext) (\s@GetLicenseConversionTaskResponse' {} a -> s {destinationLicenseContext = a} :: GetLicenseConversionTaskResponse)++-- | Time at which the license type conversion task was completed.+getLicenseConversionTaskResponse_endTime :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.UTCTime)+getLicenseConversionTaskResponse_endTime = Lens.lens (\GetLicenseConversionTaskResponse' {endTime} -> endTime) (\s@GetLicenseConversionTaskResponse' {} a -> s {endTime = a} :: GetLicenseConversionTaskResponse) Prelude.. Lens.mapping Data._Time++-- | ID of the license type conversion task.+getLicenseConversionTaskResponse_licenseConversionTaskId :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.Text)+getLicenseConversionTaskResponse_licenseConversionTaskId = Lens.lens (\GetLicenseConversionTaskResponse' {licenseConversionTaskId} -> licenseConversionTaskId) (\s@GetLicenseConversionTaskResponse' {} a -> s {licenseConversionTaskId = a} :: GetLicenseConversionTaskResponse)++-- | Amount of time to complete the license type conversion.+getLicenseConversionTaskResponse_licenseConversionTime :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.UTCTime)+getLicenseConversionTaskResponse_licenseConversionTime = Lens.lens (\GetLicenseConversionTaskResponse' {licenseConversionTime} -> licenseConversionTime) (\s@GetLicenseConversionTaskResponse' {} a -> s {licenseConversionTime = a} :: GetLicenseConversionTaskResponse) Prelude.. Lens.mapping Data._Time++-- | Amazon Resource Names (ARN) of the resources the license conversion task+-- is associated with.+getLicenseConversionTaskResponse_resourceArn :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.Text)+getLicenseConversionTaskResponse_resourceArn = Lens.lens (\GetLicenseConversionTaskResponse' {resourceArn} -> resourceArn) (\s@GetLicenseConversionTaskResponse' {} a -> s {resourceArn = a} :: GetLicenseConversionTaskResponse)++-- | Information about the license type converted from.+getLicenseConversionTaskResponse_sourceLicenseContext :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe LicenseConversionContext)+getLicenseConversionTaskResponse_sourceLicenseContext = Lens.lens (\GetLicenseConversionTaskResponse' {sourceLicenseContext} -> sourceLicenseContext) (\s@GetLicenseConversionTaskResponse' {} a -> s {sourceLicenseContext = a} :: GetLicenseConversionTaskResponse)++-- | Time at which the license type conversion task was started .+getLicenseConversionTaskResponse_startTime :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.UTCTime)+getLicenseConversionTaskResponse_startTime = Lens.lens (\GetLicenseConversionTaskResponse' {startTime} -> startTime) (\s@GetLicenseConversionTaskResponse' {} a -> s {startTime = a} :: GetLicenseConversionTaskResponse) Prelude.. Lens.mapping Data._Time++-- | Status of the license type conversion task.+getLicenseConversionTaskResponse_status :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe LicenseConversionTaskStatus)+getLicenseConversionTaskResponse_status = Lens.lens (\GetLicenseConversionTaskResponse' {status} -> status) (\s@GetLicenseConversionTaskResponse' {} a -> s {status = a} :: GetLicenseConversionTaskResponse)++-- | The status message for the conversion task.+getLicenseConversionTaskResponse_statusMessage :: Lens.Lens' GetLicenseConversionTaskResponse (Prelude.Maybe Prelude.Text)+getLicenseConversionTaskResponse_statusMessage = Lens.lens (\GetLicenseConversionTaskResponse' {statusMessage} -> statusMessage) (\s@GetLicenseConversionTaskResponse' {} a -> s {statusMessage = a} :: GetLicenseConversionTaskResponse)++-- | The response's http status code.+getLicenseConversionTaskResponse_httpStatus :: Lens.Lens' GetLicenseConversionTaskResponse Prelude.Int+getLicenseConversionTaskResponse_httpStatus = Lens.lens (\GetLicenseConversionTaskResponse' {httpStatus} -> httpStatus) (\s@GetLicenseConversionTaskResponse' {} a -> s {httpStatus = a} :: GetLicenseConversionTaskResponse)++instance+  Prelude.NFData+    GetLicenseConversionTaskResponse+  where+  rnf GetLicenseConversionTaskResponse' {..} =+    Prelude.rnf destinationLicenseContext+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf licenseConversionTaskId+      `Prelude.seq` Prelude.rnf licenseConversionTime+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf sourceLicenseContext+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetLicenseManagerReportGenerator.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.GetLicenseManagerReportGenerator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the specified report generator.+module Amazonka.LicenseManager.GetLicenseManagerReportGenerator+  ( -- * Creating a Request+    GetLicenseManagerReportGenerator (..),+    newGetLicenseManagerReportGenerator,++    -- * Request Lenses+    getLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,++    -- * Destructuring the Response+    GetLicenseManagerReportGeneratorResponse (..),+    newGetLicenseManagerReportGeneratorResponse,++    -- * Response Lenses+    getLicenseManagerReportGeneratorResponse_reportGenerator,+    getLicenseManagerReportGeneratorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLicenseManagerReportGenerator' smart constructor.+data GetLicenseManagerReportGenerator = GetLicenseManagerReportGenerator'+  { -- | Amazon Resource Name (ARN) of the report generator.+    licenseManagerReportGeneratorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseManagerReportGenerator' 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:+--+-- 'licenseManagerReportGeneratorArn', 'getLicenseManagerReportGenerator_licenseManagerReportGeneratorArn' - Amazon Resource Name (ARN) of the report generator.+newGetLicenseManagerReportGenerator ::+  -- | 'licenseManagerReportGeneratorArn'+  Prelude.Text ->+  GetLicenseManagerReportGenerator+newGetLicenseManagerReportGenerator+  pLicenseManagerReportGeneratorArn_ =+    GetLicenseManagerReportGenerator'+      { licenseManagerReportGeneratorArn =+          pLicenseManagerReportGeneratorArn_+      }++-- | Amazon Resource Name (ARN) of the report generator.+getLicenseManagerReportGenerator_licenseManagerReportGeneratorArn :: Lens.Lens' GetLicenseManagerReportGenerator Prelude.Text+getLicenseManagerReportGenerator_licenseManagerReportGeneratorArn = Lens.lens (\GetLicenseManagerReportGenerator' {licenseManagerReportGeneratorArn} -> licenseManagerReportGeneratorArn) (\s@GetLicenseManagerReportGenerator' {} a -> s {licenseManagerReportGeneratorArn = a} :: GetLicenseManagerReportGenerator)++instance+  Core.AWSRequest+    GetLicenseManagerReportGenerator+  where+  type+    AWSResponse GetLicenseManagerReportGenerator =+      GetLicenseManagerReportGeneratorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLicenseManagerReportGeneratorResponse'+            Prelude.<$> (x Data..?> "ReportGenerator")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetLicenseManagerReportGenerator+  where+  hashWithSalt+    _salt+    GetLicenseManagerReportGenerator' {..} =+      _salt+        `Prelude.hashWithSalt` licenseManagerReportGeneratorArn++instance+  Prelude.NFData+    GetLicenseManagerReportGenerator+  where+  rnf GetLicenseManagerReportGenerator' {..} =+    Prelude.rnf licenseManagerReportGeneratorArn++instance+  Data.ToHeaders+    GetLicenseManagerReportGenerator+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetLicenseManagerReportGenerator" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetLicenseManagerReportGenerator where+  toJSON GetLicenseManagerReportGenerator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "LicenseManagerReportGeneratorArn"+                  Data..= licenseManagerReportGeneratorArn+              )+          ]+      )++instance Data.ToPath GetLicenseManagerReportGenerator where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    GetLicenseManagerReportGenerator+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLicenseManagerReportGeneratorResponse' smart constructor.+data GetLicenseManagerReportGeneratorResponse = GetLicenseManagerReportGeneratorResponse'+  { -- | A report generator that creates periodic reports about your license+    -- configurations.+    reportGenerator :: Prelude.Maybe ReportGenerator,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseManagerReportGeneratorResponse' 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:+--+-- 'reportGenerator', 'getLicenseManagerReportGeneratorResponse_reportGenerator' - A report generator that creates periodic reports about your license+-- configurations.+--+-- 'httpStatus', 'getLicenseManagerReportGeneratorResponse_httpStatus' - The response's http status code.+newGetLicenseManagerReportGeneratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLicenseManagerReportGeneratorResponse+newGetLicenseManagerReportGeneratorResponse+  pHttpStatus_ =+    GetLicenseManagerReportGeneratorResponse'+      { reportGenerator =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A report generator that creates periodic reports about your license+-- configurations.+getLicenseManagerReportGeneratorResponse_reportGenerator :: Lens.Lens' GetLicenseManagerReportGeneratorResponse (Prelude.Maybe ReportGenerator)+getLicenseManagerReportGeneratorResponse_reportGenerator = Lens.lens (\GetLicenseManagerReportGeneratorResponse' {reportGenerator} -> reportGenerator) (\s@GetLicenseManagerReportGeneratorResponse' {} a -> s {reportGenerator = a} :: GetLicenseManagerReportGeneratorResponse)++-- | The response's http status code.+getLicenseManagerReportGeneratorResponse_httpStatus :: Lens.Lens' GetLicenseManagerReportGeneratorResponse Prelude.Int+getLicenseManagerReportGeneratorResponse_httpStatus = Lens.lens (\GetLicenseManagerReportGeneratorResponse' {httpStatus} -> httpStatus) (\s@GetLicenseManagerReportGeneratorResponse' {} a -> s {httpStatus = a} :: GetLicenseManagerReportGeneratorResponse)++instance+  Prelude.NFData+    GetLicenseManagerReportGeneratorResponse+  where+  rnf GetLicenseManagerReportGeneratorResponse' {..} =+    Prelude.rnf reportGenerator+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetLicenseUsage.hs view
@@ -0,0 +1,168 @@+{-# 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.LicenseManager.GetLicenseUsage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets detailed information about the usage of the specified license.+module Amazonka.LicenseManager.GetLicenseUsage+  ( -- * Creating a Request+    GetLicenseUsage (..),+    newGetLicenseUsage,++    -- * Request Lenses+    getLicenseUsage_licenseArn,++    -- * Destructuring the Response+    GetLicenseUsageResponse (..),+    newGetLicenseUsageResponse,++    -- * Response Lenses+    getLicenseUsageResponse_licenseUsage,+    getLicenseUsageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLicenseUsage' smart constructor.+data GetLicenseUsage = GetLicenseUsage'+  { -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseUsage' 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:+--+-- 'licenseArn', 'getLicenseUsage_licenseArn' - Amazon Resource Name (ARN) of the license.+newGetLicenseUsage ::+  -- | 'licenseArn'+  Prelude.Text ->+  GetLicenseUsage+newGetLicenseUsage pLicenseArn_ =+  GetLicenseUsage' {licenseArn = pLicenseArn_}++-- | Amazon Resource Name (ARN) of the license.+getLicenseUsage_licenseArn :: Lens.Lens' GetLicenseUsage Prelude.Text+getLicenseUsage_licenseArn = Lens.lens (\GetLicenseUsage' {licenseArn} -> licenseArn) (\s@GetLicenseUsage' {} a -> s {licenseArn = a} :: GetLicenseUsage)++instance Core.AWSRequest GetLicenseUsage where+  type+    AWSResponse GetLicenseUsage =+      GetLicenseUsageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLicenseUsageResponse'+            Prelude.<$> (x Data..?> "LicenseUsage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLicenseUsage where+  hashWithSalt _salt GetLicenseUsage' {..} =+    _salt `Prelude.hashWithSalt` licenseArn++instance Prelude.NFData GetLicenseUsage where+  rnf GetLicenseUsage' {..} = Prelude.rnf licenseArn++instance Data.ToHeaders GetLicenseUsage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetLicenseUsage" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetLicenseUsage where+  toJSON GetLicenseUsage' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("LicenseArn" Data..= licenseArn)]+      )++instance Data.ToPath GetLicenseUsage where+  toPath = Prelude.const "/"++instance Data.ToQuery GetLicenseUsage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLicenseUsageResponse' smart constructor.+data GetLicenseUsageResponse = GetLicenseUsageResponse'+  { -- | License usage details.+    licenseUsage :: Prelude.Maybe LicenseUsage,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLicenseUsageResponse' 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:+--+-- 'licenseUsage', 'getLicenseUsageResponse_licenseUsage' - License usage details.+--+-- 'httpStatus', 'getLicenseUsageResponse_httpStatus' - The response's http status code.+newGetLicenseUsageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLicenseUsageResponse+newGetLicenseUsageResponse pHttpStatus_ =+  GetLicenseUsageResponse'+    { licenseUsage =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | License usage details.+getLicenseUsageResponse_licenseUsage :: Lens.Lens' GetLicenseUsageResponse (Prelude.Maybe LicenseUsage)+getLicenseUsageResponse_licenseUsage = Lens.lens (\GetLicenseUsageResponse' {licenseUsage} -> licenseUsage) (\s@GetLicenseUsageResponse' {} a -> s {licenseUsage = a} :: GetLicenseUsageResponse)++-- | The response's http status code.+getLicenseUsageResponse_httpStatus :: Lens.Lens' GetLicenseUsageResponse Prelude.Int+getLicenseUsageResponse_httpStatus = Lens.lens (\GetLicenseUsageResponse' {httpStatus} -> httpStatus) (\s@GetLicenseUsageResponse' {} a -> s {httpStatus = a} :: GetLicenseUsageResponse)++instance Prelude.NFData GetLicenseUsageResponse where+  rnf GetLicenseUsageResponse' {..} =+    Prelude.rnf licenseUsage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/GetServiceSettings.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.GetServiceSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the License Manager settings for the current Region.+module Amazonka.LicenseManager.GetServiceSettings+  ( -- * Creating a Request+    GetServiceSettings (..),+    newGetServiceSettings,++    -- * Destructuring the Response+    GetServiceSettingsResponse (..),+    newGetServiceSettingsResponse,++    -- * Response Lenses+    getServiceSettingsResponse_enableCrossAccountsDiscovery,+    getServiceSettingsResponse_licenseManagerResourceShareArn,+    getServiceSettingsResponse_organizationConfiguration,+    getServiceSettingsResponse_s3BucketArn,+    getServiceSettingsResponse_snsTopicArn,+    getServiceSettingsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetServiceSettings' smart constructor.+data GetServiceSettings = GetServiceSettings'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServiceSettings' 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.+newGetServiceSettings ::+  GetServiceSettings+newGetServiceSettings = GetServiceSettings'++instance Core.AWSRequest GetServiceSettings where+  type+    AWSResponse GetServiceSettings =+      GetServiceSettingsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetServiceSettingsResponse'+            Prelude.<$> (x Data..?> "EnableCrossAccountsDiscovery")+            Prelude.<*> (x Data..?> "LicenseManagerResourceShareArn")+            Prelude.<*> (x Data..?> "OrganizationConfiguration")+            Prelude.<*> (x Data..?> "S3BucketArn")+            Prelude.<*> (x Data..?> "SnsTopicArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetServiceSettings where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetServiceSettings where+  rnf _ = ()++instance Data.ToHeaders GetServiceSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.GetServiceSettings" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetServiceSettings where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetServiceSettings where+  toPath = Prelude.const "/"++instance Data.ToQuery GetServiceSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetServiceSettingsResponse' smart constructor.+data GetServiceSettingsResponse = GetServiceSettingsResponse'+  { -- | Indicates whether cross-account discovery is enabled.+    enableCrossAccountsDiscovery :: Prelude.Maybe Prelude.Bool,+    -- | Amazon Resource Name (ARN) of the resource share. The License Manager+    -- management account provides member accounts with access to this share.+    licenseManagerResourceShareArn :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether Organizations is integrated with License Manager for+    -- cross-account discovery.+    organizationConfiguration :: Prelude.Maybe OrganizationConfiguration,+    -- | Regional S3 bucket path for storing reports, license trail event data,+    -- discovery data, and so on.+    s3BucketArn :: Prelude.Maybe Prelude.Text,+    -- | SNS topic configured to receive notifications from License Manager.+    snsTopicArn :: 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 'GetServiceSettingsResponse' 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:+--+-- 'enableCrossAccountsDiscovery', 'getServiceSettingsResponse_enableCrossAccountsDiscovery' - Indicates whether cross-account discovery is enabled.+--+-- 'licenseManagerResourceShareArn', 'getServiceSettingsResponse_licenseManagerResourceShareArn' - Amazon Resource Name (ARN) of the resource share. The License Manager+-- management account provides member accounts with access to this share.+--+-- 'organizationConfiguration', 'getServiceSettingsResponse_organizationConfiguration' - Indicates whether Organizations is integrated with License Manager for+-- cross-account discovery.+--+-- 's3BucketArn', 'getServiceSettingsResponse_s3BucketArn' - Regional S3 bucket path for storing reports, license trail event data,+-- discovery data, and so on.+--+-- 'snsTopicArn', 'getServiceSettingsResponse_snsTopicArn' - SNS topic configured to receive notifications from License Manager.+--+-- 'httpStatus', 'getServiceSettingsResponse_httpStatus' - The response's http status code.+newGetServiceSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetServiceSettingsResponse+newGetServiceSettingsResponse pHttpStatus_ =+  GetServiceSettingsResponse'+    { enableCrossAccountsDiscovery =+        Prelude.Nothing,+      licenseManagerResourceShareArn =+        Prelude.Nothing,+      organizationConfiguration = Prelude.Nothing,+      s3BucketArn = Prelude.Nothing,+      snsTopicArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether cross-account discovery is enabled.+getServiceSettingsResponse_enableCrossAccountsDiscovery :: Lens.Lens' GetServiceSettingsResponse (Prelude.Maybe Prelude.Bool)+getServiceSettingsResponse_enableCrossAccountsDiscovery = Lens.lens (\GetServiceSettingsResponse' {enableCrossAccountsDiscovery} -> enableCrossAccountsDiscovery) (\s@GetServiceSettingsResponse' {} a -> s {enableCrossAccountsDiscovery = a} :: GetServiceSettingsResponse)++-- | Amazon Resource Name (ARN) of the resource share. The License Manager+-- management account provides member accounts with access to this share.+getServiceSettingsResponse_licenseManagerResourceShareArn :: Lens.Lens' GetServiceSettingsResponse (Prelude.Maybe Prelude.Text)+getServiceSettingsResponse_licenseManagerResourceShareArn = Lens.lens (\GetServiceSettingsResponse' {licenseManagerResourceShareArn} -> licenseManagerResourceShareArn) (\s@GetServiceSettingsResponse' {} a -> s {licenseManagerResourceShareArn = a} :: GetServiceSettingsResponse)++-- | Indicates whether Organizations is integrated with License Manager for+-- cross-account discovery.+getServiceSettingsResponse_organizationConfiguration :: Lens.Lens' GetServiceSettingsResponse (Prelude.Maybe OrganizationConfiguration)+getServiceSettingsResponse_organizationConfiguration = Lens.lens (\GetServiceSettingsResponse' {organizationConfiguration} -> organizationConfiguration) (\s@GetServiceSettingsResponse' {} a -> s {organizationConfiguration = a} :: GetServiceSettingsResponse)++-- | Regional S3 bucket path for storing reports, license trail event data,+-- discovery data, and so on.+getServiceSettingsResponse_s3BucketArn :: Lens.Lens' GetServiceSettingsResponse (Prelude.Maybe Prelude.Text)+getServiceSettingsResponse_s3BucketArn = Lens.lens (\GetServiceSettingsResponse' {s3BucketArn} -> s3BucketArn) (\s@GetServiceSettingsResponse' {} a -> s {s3BucketArn = a} :: GetServiceSettingsResponse)++-- | SNS topic configured to receive notifications from License Manager.+getServiceSettingsResponse_snsTopicArn :: Lens.Lens' GetServiceSettingsResponse (Prelude.Maybe Prelude.Text)+getServiceSettingsResponse_snsTopicArn = Lens.lens (\GetServiceSettingsResponse' {snsTopicArn} -> snsTopicArn) (\s@GetServiceSettingsResponse' {} a -> s {snsTopicArn = a} :: GetServiceSettingsResponse)++-- | The response's http status code.+getServiceSettingsResponse_httpStatus :: Lens.Lens' GetServiceSettingsResponse Prelude.Int+getServiceSettingsResponse_httpStatus = Lens.lens (\GetServiceSettingsResponse' {httpStatus} -> httpStatus) (\s@GetServiceSettingsResponse' {} a -> s {httpStatus = a} :: GetServiceSettingsResponse)++instance Prelude.NFData GetServiceSettingsResponse where+  rnf GetServiceSettingsResponse' {..} =+    Prelude.rnf enableCrossAccountsDiscovery+      `Prelude.seq` Prelude.rnf licenseManagerResourceShareArn+      `Prelude.seq` Prelude.rnf organizationConfiguration+      `Prelude.seq` Prelude.rnf s3BucketArn+      `Prelude.seq` Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/Lens.hs view
@@ -0,0 +1,795 @@+{-# 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.LicenseManager.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.LicenseManager.Lens+  ( -- * Operations++    -- ** AcceptGrant+    acceptGrant_grantArn,+    acceptGrantResponse_grantArn,+    acceptGrantResponse_status,+    acceptGrantResponse_version,+    acceptGrantResponse_httpStatus,++    -- ** CheckInLicense+    checkInLicense_beneficiary,+    checkInLicense_licenseConsumptionToken,+    checkInLicenseResponse_httpStatus,++    -- ** CheckoutBorrowLicense+    checkoutBorrowLicense_checkoutMetadata,+    checkoutBorrowLicense_nodeId,+    checkoutBorrowLicense_licenseArn,+    checkoutBorrowLicense_entitlements,+    checkoutBorrowLicense_digitalSignatureMethod,+    checkoutBorrowLicense_clientToken,+    checkoutBorrowLicenseResponse_checkoutMetadata,+    checkoutBorrowLicenseResponse_entitlementsAllowed,+    checkoutBorrowLicenseResponse_expiration,+    checkoutBorrowLicenseResponse_issuedAt,+    checkoutBorrowLicenseResponse_licenseArn,+    checkoutBorrowLicenseResponse_licenseConsumptionToken,+    checkoutBorrowLicenseResponse_nodeId,+    checkoutBorrowLicenseResponse_signedToken,+    checkoutBorrowLicenseResponse_httpStatus,++    -- ** CheckoutLicense+    checkoutLicense_beneficiary,+    checkoutLicense_nodeId,+    checkoutLicense_productSKU,+    checkoutLicense_checkoutType,+    checkoutLicense_keyFingerprint,+    checkoutLicense_entitlements,+    checkoutLicense_clientToken,+    checkoutLicenseResponse_checkoutType,+    checkoutLicenseResponse_entitlementsAllowed,+    checkoutLicenseResponse_expiration,+    checkoutLicenseResponse_issuedAt,+    checkoutLicenseResponse_licenseArn,+    checkoutLicenseResponse_licenseConsumptionToken,+    checkoutLicenseResponse_nodeId,+    checkoutLicenseResponse_signedToken,+    checkoutLicenseResponse_httpStatus,++    -- ** CreateGrant+    createGrant_clientToken,+    createGrant_grantName,+    createGrant_licenseArn,+    createGrant_principals,+    createGrant_homeRegion,+    createGrant_allowedOperations,+    createGrantResponse_grantArn,+    createGrantResponse_status,+    createGrantResponse_version,+    createGrantResponse_httpStatus,++    -- ** CreateGrantVersion+    createGrantVersion_allowedOperations,+    createGrantVersion_grantName,+    createGrantVersion_sourceVersion,+    createGrantVersion_status,+    createGrantVersion_statusReason,+    createGrantVersion_clientToken,+    createGrantVersion_grantArn,+    createGrantVersionResponse_grantArn,+    createGrantVersionResponse_status,+    createGrantVersionResponse_version,+    createGrantVersionResponse_httpStatus,++    -- ** CreateLicense+    createLicense_licenseMetadata,+    createLicense_licenseName,+    createLicense_productName,+    createLicense_productSKU,+    createLicense_issuer,+    createLicense_homeRegion,+    createLicense_validity,+    createLicense_entitlements,+    createLicense_beneficiary,+    createLicense_consumptionConfiguration,+    createLicense_clientToken,+    createLicenseResponse_licenseArn,+    createLicenseResponse_status,+    createLicenseResponse_version,+    createLicenseResponse_httpStatus,++    -- ** CreateLicenseConfiguration+    createLicenseConfiguration_description,+    createLicenseConfiguration_disassociateWhenNotFound,+    createLicenseConfiguration_licenseCount,+    createLicenseConfiguration_licenseCountHardLimit,+    createLicenseConfiguration_licenseRules,+    createLicenseConfiguration_productInformationList,+    createLicenseConfiguration_tags,+    createLicenseConfiguration_name,+    createLicenseConfiguration_licenseCountingType,+    createLicenseConfigurationResponse_licenseConfigurationArn,+    createLicenseConfigurationResponse_httpStatus,++    -- ** CreateLicenseConversionTaskForResource+    createLicenseConversionTaskForResource_resourceArn,+    createLicenseConversionTaskForResource_sourceLicenseContext,+    createLicenseConversionTaskForResource_destinationLicenseContext,+    createLicenseConversionTaskForResourceResponse_licenseConversionTaskId,+    createLicenseConversionTaskForResourceResponse_httpStatus,++    -- ** CreateLicenseManagerReportGenerator+    createLicenseManagerReportGenerator_description,+    createLicenseManagerReportGenerator_tags,+    createLicenseManagerReportGenerator_reportGeneratorName,+    createLicenseManagerReportGenerator_type,+    createLicenseManagerReportGenerator_reportContext,+    createLicenseManagerReportGenerator_reportFrequency,+    createLicenseManagerReportGenerator_clientToken,+    createLicenseManagerReportGeneratorResponse_licenseManagerReportGeneratorArn,+    createLicenseManagerReportGeneratorResponse_httpStatus,++    -- ** CreateLicenseVersion+    createLicenseVersion_licenseMetadata,+    createLicenseVersion_sourceVersion,+    createLicenseVersion_licenseArn,+    createLicenseVersion_licenseName,+    createLicenseVersion_productName,+    createLicenseVersion_issuer,+    createLicenseVersion_homeRegion,+    createLicenseVersion_validity,+    createLicenseVersion_entitlements,+    createLicenseVersion_consumptionConfiguration,+    createLicenseVersion_status,+    createLicenseVersion_clientToken,+    createLicenseVersionResponse_licenseArn,+    createLicenseVersionResponse_status,+    createLicenseVersionResponse_version,+    createLicenseVersionResponse_httpStatus,++    -- ** CreateToken+    createToken_expirationInDays,+    createToken_roleArns,+    createToken_tokenProperties,+    createToken_licenseArn,+    createToken_clientToken,+    createTokenResponse_token,+    createTokenResponse_tokenId,+    createTokenResponse_tokenType,+    createTokenResponse_httpStatus,++    -- ** DeleteGrant+    deleteGrant_statusReason,+    deleteGrant_grantArn,+    deleteGrant_version,+    deleteGrantResponse_grantArn,+    deleteGrantResponse_status,+    deleteGrantResponse_version,+    deleteGrantResponse_httpStatus,++    -- ** DeleteLicense+    deleteLicense_licenseArn,+    deleteLicense_sourceVersion,+    deleteLicenseResponse_deletionDate,+    deleteLicenseResponse_status,+    deleteLicenseResponse_httpStatus,++    -- ** DeleteLicenseConfiguration+    deleteLicenseConfiguration_licenseConfigurationArn,+    deleteLicenseConfigurationResponse_httpStatus,++    -- ** DeleteLicenseManagerReportGenerator+    deleteLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,+    deleteLicenseManagerReportGeneratorResponse_httpStatus,++    -- ** DeleteToken+    deleteToken_tokenId,+    deleteTokenResponse_httpStatus,++    -- ** ExtendLicenseConsumption+    extendLicenseConsumption_dryRun,+    extendLicenseConsumption_licenseConsumptionToken,+    extendLicenseConsumptionResponse_expiration,+    extendLicenseConsumptionResponse_licenseConsumptionToken,+    extendLicenseConsumptionResponse_httpStatus,++    -- ** GetAccessToken+    getAccessToken_tokenProperties,+    getAccessToken_token,+    getAccessTokenResponse_accessToken,+    getAccessTokenResponse_httpStatus,++    -- ** GetGrant+    getGrant_version,+    getGrant_grantArn,+    getGrantResponse_grant,+    getGrantResponse_httpStatus,++    -- ** GetLicense+    getLicense_version,+    getLicense_licenseArn,+    getLicenseResponse_license,+    getLicenseResponse_httpStatus,++    -- ** GetLicenseConfiguration+    getLicenseConfiguration_licenseConfigurationArn,+    getLicenseConfigurationResponse_automatedDiscoveryInformation,+    getLicenseConfigurationResponse_consumedLicenseSummaryList,+    getLicenseConfigurationResponse_consumedLicenses,+    getLicenseConfigurationResponse_description,+    getLicenseConfigurationResponse_disassociateWhenNotFound,+    getLicenseConfigurationResponse_licenseConfigurationArn,+    getLicenseConfigurationResponse_licenseConfigurationId,+    getLicenseConfigurationResponse_licenseCount,+    getLicenseConfigurationResponse_licenseCountHardLimit,+    getLicenseConfigurationResponse_licenseCountingType,+    getLicenseConfigurationResponse_licenseRules,+    getLicenseConfigurationResponse_managedResourceSummaryList,+    getLicenseConfigurationResponse_name,+    getLicenseConfigurationResponse_ownerAccountId,+    getLicenseConfigurationResponse_productInformationList,+    getLicenseConfigurationResponse_status,+    getLicenseConfigurationResponse_tags,+    getLicenseConfigurationResponse_httpStatus,++    -- ** GetLicenseConversionTask+    getLicenseConversionTask_licenseConversionTaskId,+    getLicenseConversionTaskResponse_destinationLicenseContext,+    getLicenseConversionTaskResponse_endTime,+    getLicenseConversionTaskResponse_licenseConversionTaskId,+    getLicenseConversionTaskResponse_licenseConversionTime,+    getLicenseConversionTaskResponse_resourceArn,+    getLicenseConversionTaskResponse_sourceLicenseContext,+    getLicenseConversionTaskResponse_startTime,+    getLicenseConversionTaskResponse_status,+    getLicenseConversionTaskResponse_statusMessage,+    getLicenseConversionTaskResponse_httpStatus,++    -- ** GetLicenseManagerReportGenerator+    getLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,+    getLicenseManagerReportGeneratorResponse_reportGenerator,+    getLicenseManagerReportGeneratorResponse_httpStatus,++    -- ** GetLicenseUsage+    getLicenseUsage_licenseArn,+    getLicenseUsageResponse_licenseUsage,+    getLicenseUsageResponse_httpStatus,++    -- ** GetServiceSettings+    getServiceSettingsResponse_enableCrossAccountsDiscovery,+    getServiceSettingsResponse_licenseManagerResourceShareArn,+    getServiceSettingsResponse_organizationConfiguration,+    getServiceSettingsResponse_s3BucketArn,+    getServiceSettingsResponse_snsTopicArn,+    getServiceSettingsResponse_httpStatus,++    -- ** ListAssociationsForLicenseConfiguration+    listAssociationsForLicenseConfiguration_maxResults,+    listAssociationsForLicenseConfiguration_nextToken,+    listAssociationsForLicenseConfiguration_licenseConfigurationArn,+    listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations,+    listAssociationsForLicenseConfigurationResponse_nextToken,+    listAssociationsForLicenseConfigurationResponse_httpStatus,++    -- ** ListDistributedGrants+    listDistributedGrants_filters,+    listDistributedGrants_grantArns,+    listDistributedGrants_maxResults,+    listDistributedGrants_nextToken,+    listDistributedGrantsResponse_grants,+    listDistributedGrantsResponse_nextToken,+    listDistributedGrantsResponse_httpStatus,++    -- ** ListFailuresForLicenseConfigurationOperations+    listFailuresForLicenseConfigurationOperations_maxResults,+    listFailuresForLicenseConfigurationOperations_nextToken,+    listFailuresForLicenseConfigurationOperations_licenseConfigurationArn,+    listFailuresForLicenseConfigurationOperationsResponse_licenseOperationFailureList,+    listFailuresForLicenseConfigurationOperationsResponse_nextToken,+    listFailuresForLicenseConfigurationOperationsResponse_httpStatus,++    -- ** ListLicenseConfigurations+    listLicenseConfigurations_filters,+    listLicenseConfigurations_licenseConfigurationArns,+    listLicenseConfigurations_maxResults,+    listLicenseConfigurations_nextToken,+    listLicenseConfigurationsResponse_licenseConfigurations,+    listLicenseConfigurationsResponse_nextToken,+    listLicenseConfigurationsResponse_httpStatus,++    -- ** ListLicenseConversionTasks+    listLicenseConversionTasks_filters,+    listLicenseConversionTasks_maxResults,+    listLicenseConversionTasks_nextToken,+    listLicenseConversionTasksResponse_licenseConversionTasks,+    listLicenseConversionTasksResponse_nextToken,+    listLicenseConversionTasksResponse_httpStatus,++    -- ** ListLicenseManagerReportGenerators+    listLicenseManagerReportGenerators_filters,+    listLicenseManagerReportGenerators_maxResults,+    listLicenseManagerReportGenerators_nextToken,+    listLicenseManagerReportGeneratorsResponse_nextToken,+    listLicenseManagerReportGeneratorsResponse_reportGenerators,+    listLicenseManagerReportGeneratorsResponse_httpStatus,++    -- ** ListLicenseSpecificationsForResource+    listLicenseSpecificationsForResource_maxResults,+    listLicenseSpecificationsForResource_nextToken,+    listLicenseSpecificationsForResource_resourceArn,+    listLicenseSpecificationsForResourceResponse_licenseSpecifications,+    listLicenseSpecificationsForResourceResponse_nextToken,+    listLicenseSpecificationsForResourceResponse_httpStatus,++    -- ** ListLicenseVersions+    listLicenseVersions_maxResults,+    listLicenseVersions_nextToken,+    listLicenseVersions_licenseArn,+    listLicenseVersionsResponse_licenses,+    listLicenseVersionsResponse_nextToken,+    listLicenseVersionsResponse_httpStatus,++    -- ** ListLicenses+    listLicenses_filters,+    listLicenses_licenseArns,+    listLicenses_maxResults,+    listLicenses_nextToken,+    listLicensesResponse_licenses,+    listLicensesResponse_nextToken,+    listLicensesResponse_httpStatus,++    -- ** ListReceivedGrants+    listReceivedGrants_filters,+    listReceivedGrants_grantArns,+    listReceivedGrants_maxResults,+    listReceivedGrants_nextToken,+    listReceivedGrantsResponse_grants,+    listReceivedGrantsResponse_nextToken,+    listReceivedGrantsResponse_httpStatus,++    -- ** ListReceivedGrantsForOrganization+    listReceivedGrantsForOrganization_filters,+    listReceivedGrantsForOrganization_maxResults,+    listReceivedGrantsForOrganization_nextToken,+    listReceivedGrantsForOrganization_licenseArn,+    listReceivedGrantsForOrganizationResponse_grants,+    listReceivedGrantsForOrganizationResponse_nextToken,+    listReceivedGrantsForOrganizationResponse_httpStatus,++    -- ** ListReceivedLicenses+    listReceivedLicenses_filters,+    listReceivedLicenses_licenseArns,+    listReceivedLicenses_maxResults,+    listReceivedLicenses_nextToken,+    listReceivedLicensesResponse_licenses,+    listReceivedLicensesResponse_nextToken,+    listReceivedLicensesResponse_httpStatus,++    -- ** ListReceivedLicensesForOrganization+    listReceivedLicensesForOrganization_filters,+    listReceivedLicensesForOrganization_maxResults,+    listReceivedLicensesForOrganization_nextToken,+    listReceivedLicensesForOrganizationResponse_licenses,+    listReceivedLicensesForOrganizationResponse_nextToken,+    listReceivedLicensesForOrganizationResponse_httpStatus,++    -- ** ListResourceInventory+    listResourceInventory_filters,+    listResourceInventory_maxResults,+    listResourceInventory_nextToken,+    listResourceInventoryResponse_nextToken,+    listResourceInventoryResponse_resourceInventoryList,+    listResourceInventoryResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListTokens+    listTokens_filters,+    listTokens_maxResults,+    listTokens_nextToken,+    listTokens_tokenIds,+    listTokensResponse_nextToken,+    listTokensResponse_tokens,+    listTokensResponse_httpStatus,++    -- ** ListUsageForLicenseConfiguration+    listUsageForLicenseConfiguration_filters,+    listUsageForLicenseConfiguration_maxResults,+    listUsageForLicenseConfiguration_nextToken,+    listUsageForLicenseConfiguration_licenseConfigurationArn,+    listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList,+    listUsageForLicenseConfigurationResponse_nextToken,+    listUsageForLicenseConfigurationResponse_httpStatus,++    -- ** RejectGrant+    rejectGrant_grantArn,+    rejectGrantResponse_grantArn,+    rejectGrantResponse_status,+    rejectGrantResponse_version,+    rejectGrantResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateLicenseConfiguration+    updateLicenseConfiguration_description,+    updateLicenseConfiguration_disassociateWhenNotFound,+    updateLicenseConfiguration_licenseConfigurationStatus,+    updateLicenseConfiguration_licenseCount,+    updateLicenseConfiguration_licenseCountHardLimit,+    updateLicenseConfiguration_licenseRules,+    updateLicenseConfiguration_name,+    updateLicenseConfiguration_productInformationList,+    updateLicenseConfiguration_licenseConfigurationArn,+    updateLicenseConfigurationResponse_httpStatus,++    -- ** UpdateLicenseManagerReportGenerator+    updateLicenseManagerReportGenerator_description,+    updateLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,+    updateLicenseManagerReportGenerator_reportGeneratorName,+    updateLicenseManagerReportGenerator_type,+    updateLicenseManagerReportGenerator_reportContext,+    updateLicenseManagerReportGenerator_reportFrequency,+    updateLicenseManagerReportGenerator_clientToken,+    updateLicenseManagerReportGeneratorResponse_httpStatus,++    -- ** UpdateLicenseSpecificationsForResource+    updateLicenseSpecificationsForResource_addLicenseSpecifications,+    updateLicenseSpecificationsForResource_removeLicenseSpecifications,+    updateLicenseSpecificationsForResource_resourceArn,+    updateLicenseSpecificationsForResourceResponse_httpStatus,++    -- ** UpdateServiceSettings+    updateServiceSettings_enableCrossAccountsDiscovery,+    updateServiceSettings_organizationConfiguration,+    updateServiceSettings_s3BucketArn,+    updateServiceSettings_snsTopicArn,+    updateServiceSettingsResponse_httpStatus,++    -- * Types++    -- ** AutomatedDiscoveryInformation+    automatedDiscoveryInformation_lastRunTime,++    -- ** BorrowConfiguration+    borrowConfiguration_allowEarlyCheckIn,+    borrowConfiguration_maxTimeToLiveInMinutes,++    -- ** ConsumedLicenseSummary+    consumedLicenseSummary_consumedLicenses,+    consumedLicenseSummary_resourceType,++    -- ** ConsumptionConfiguration+    consumptionConfiguration_borrowConfiguration,+    consumptionConfiguration_provisionalConfiguration,+    consumptionConfiguration_renewType,++    -- ** DatetimeRange+    datetimeRange_end,+    datetimeRange_begin,++    -- ** Entitlement+    entitlement_allowCheckIn,+    entitlement_maxCount,+    entitlement_overage,+    entitlement_value,+    entitlement_name,+    entitlement_unit,++    -- ** EntitlementData+    entitlementData_value,+    entitlementData_name,+    entitlementData_unit,++    -- ** EntitlementUsage+    entitlementUsage_maxCount,+    entitlementUsage_name,+    entitlementUsage_consumedValue,+    entitlementUsage_unit,++    -- ** Filter+    filter_name,+    filter_values,++    -- ** Grant+    grant_statusReason,+    grant_grantArn,+    grant_grantName,+    grant_parentArn,+    grant_licenseArn,+    grant_granteePrincipalArn,+    grant_homeRegion,+    grant_grantStatus,+    grant_version,+    grant_grantedOperations,++    -- ** GrantedLicense+    grantedLicense_beneficiary,+    grantedLicense_consumptionConfiguration,+    grantedLicense_createTime,+    grantedLicense_entitlements,+    grantedLicense_homeRegion,+    grantedLicense_issuer,+    grantedLicense_licenseArn,+    grantedLicense_licenseMetadata,+    grantedLicense_licenseName,+    grantedLicense_productName,+    grantedLicense_productSKU,+    grantedLicense_receivedMetadata,+    grantedLicense_status,+    grantedLicense_validity,+    grantedLicense_version,++    -- ** InventoryFilter+    inventoryFilter_value,+    inventoryFilter_name,+    inventoryFilter_condition,++    -- ** Issuer+    issuer_signKey,+    issuer_name,++    -- ** IssuerDetails+    issuerDetails_keyFingerprint,+    issuerDetails_name,+    issuerDetails_signKey,++    -- ** License+    license_beneficiary,+    license_consumptionConfiguration,+    license_createTime,+    license_entitlements,+    license_homeRegion,+    license_issuer,+    license_licenseArn,+    license_licenseMetadata,+    license_licenseName,+    license_productName,+    license_productSKU,+    license_status,+    license_validity,+    license_version,++    -- ** LicenseConfiguration+    licenseConfiguration_automatedDiscoveryInformation,+    licenseConfiguration_consumedLicenseSummaryList,+    licenseConfiguration_consumedLicenses,+    licenseConfiguration_description,+    licenseConfiguration_disassociateWhenNotFound,+    licenseConfiguration_licenseConfigurationArn,+    licenseConfiguration_licenseConfigurationId,+    licenseConfiguration_licenseCount,+    licenseConfiguration_licenseCountHardLimit,+    licenseConfiguration_licenseCountingType,+    licenseConfiguration_licenseRules,+    licenseConfiguration_managedResourceSummaryList,+    licenseConfiguration_name,+    licenseConfiguration_ownerAccountId,+    licenseConfiguration_productInformationList,+    licenseConfiguration_status,++    -- ** LicenseConfigurationAssociation+    licenseConfigurationAssociation_amiAssociationScope,+    licenseConfigurationAssociation_associationTime,+    licenseConfigurationAssociation_resourceArn,+    licenseConfigurationAssociation_resourceOwnerId,+    licenseConfigurationAssociation_resourceType,++    -- ** LicenseConfigurationUsage+    licenseConfigurationUsage_associationTime,+    licenseConfigurationUsage_consumedLicenses,+    licenseConfigurationUsage_resourceArn,+    licenseConfigurationUsage_resourceOwnerId,+    licenseConfigurationUsage_resourceStatus,+    licenseConfigurationUsage_resourceType,++    -- ** LicenseConversionContext+    licenseConversionContext_usageOperation,++    -- ** LicenseConversionTask+    licenseConversionTask_destinationLicenseContext,+    licenseConversionTask_endTime,+    licenseConversionTask_licenseConversionTaskId,+    licenseConversionTask_licenseConversionTime,+    licenseConversionTask_resourceArn,+    licenseConversionTask_sourceLicenseContext,+    licenseConversionTask_startTime,+    licenseConversionTask_status,+    licenseConversionTask_statusMessage,++    -- ** LicenseOperationFailure+    licenseOperationFailure_errorMessage,+    licenseOperationFailure_failureTime,+    licenseOperationFailure_metadataList,+    licenseOperationFailure_operationName,+    licenseOperationFailure_operationRequestedBy,+    licenseOperationFailure_resourceArn,+    licenseOperationFailure_resourceOwnerId,+    licenseOperationFailure_resourceType,++    -- ** LicenseSpecification+    licenseSpecification_amiAssociationScope,+    licenseSpecification_licenseConfigurationArn,++    -- ** LicenseUsage+    licenseUsage_entitlementUsages,++    -- ** ManagedResourceSummary+    managedResourceSummary_associationCount,+    managedResourceSummary_resourceType,++    -- ** Metadata+    metadata_name,+    metadata_value,++    -- ** OrganizationConfiguration+    organizationConfiguration_enableIntegration,++    -- ** ProductInformation+    productInformation_resourceType,+    productInformation_productInformationFilterList,++    -- ** ProductInformationFilter+    productInformationFilter_productInformationFilterValue,+    productInformationFilter_productInformationFilterName,+    productInformationFilter_productInformationFilterComparator,++    -- ** ProvisionalConfiguration+    provisionalConfiguration_maxTimeToLiveInMinutes,++    -- ** ReceivedMetadata+    receivedMetadata_allowedOperations,+    receivedMetadata_receivedStatus,+    receivedMetadata_receivedStatusReason,++    -- ** ReportContext+    reportContext_licenseConfigurationArns,++    -- ** ReportFrequency+    reportFrequency_period,+    reportFrequency_value,++    -- ** ReportGenerator+    reportGenerator_createTime,+    reportGenerator_description,+    reportGenerator_lastReportGenerationTime,+    reportGenerator_lastRunFailureReason,+    reportGenerator_lastRunStatus,+    reportGenerator_licenseManagerReportGeneratorArn,+    reportGenerator_reportContext,+    reportGenerator_reportCreatorAccount,+    reportGenerator_reportFrequency,+    reportGenerator_reportGeneratorName,+    reportGenerator_reportType,+    reportGenerator_s3Location,+    reportGenerator_tags,++    -- ** ResourceInventory+    resourceInventory_platform,+    resourceInventory_platformVersion,+    resourceInventory_resourceArn,+    resourceInventory_resourceId,+    resourceInventory_resourceOwningAccountId,+    resourceInventory_resourceType,++    -- ** S3Location+    s3Location_bucket,+    s3Location_keyPrefix,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TokenData+    tokenData_expirationTime,+    tokenData_licenseArn,+    tokenData_roleArns,+    tokenData_status,+    tokenData_tokenId,+    tokenData_tokenProperties,+    tokenData_tokenType,+  )+where++import Amazonka.LicenseManager.AcceptGrant+import Amazonka.LicenseManager.CheckInLicense+import Amazonka.LicenseManager.CheckoutBorrowLicense+import Amazonka.LicenseManager.CheckoutLicense+import Amazonka.LicenseManager.CreateGrant+import Amazonka.LicenseManager.CreateGrantVersion+import Amazonka.LicenseManager.CreateLicense+import Amazonka.LicenseManager.CreateLicenseConfiguration+import Amazonka.LicenseManager.CreateLicenseConversionTaskForResource+import Amazonka.LicenseManager.CreateLicenseManagerReportGenerator+import Amazonka.LicenseManager.CreateLicenseVersion+import Amazonka.LicenseManager.CreateToken+import Amazonka.LicenseManager.DeleteGrant+import Amazonka.LicenseManager.DeleteLicense+import Amazonka.LicenseManager.DeleteLicenseConfiguration+import Amazonka.LicenseManager.DeleteLicenseManagerReportGenerator+import Amazonka.LicenseManager.DeleteToken+import Amazonka.LicenseManager.ExtendLicenseConsumption+import Amazonka.LicenseManager.GetAccessToken+import Amazonka.LicenseManager.GetGrant+import Amazonka.LicenseManager.GetLicense+import Amazonka.LicenseManager.GetLicenseConfiguration+import Amazonka.LicenseManager.GetLicenseConversionTask+import Amazonka.LicenseManager.GetLicenseManagerReportGenerator+import Amazonka.LicenseManager.GetLicenseUsage+import Amazonka.LicenseManager.GetServiceSettings+import Amazonka.LicenseManager.ListAssociationsForLicenseConfiguration+import Amazonka.LicenseManager.ListDistributedGrants+import Amazonka.LicenseManager.ListFailuresForLicenseConfigurationOperations+import Amazonka.LicenseManager.ListLicenseConfigurations+import Amazonka.LicenseManager.ListLicenseConversionTasks+import Amazonka.LicenseManager.ListLicenseManagerReportGenerators+import Amazonka.LicenseManager.ListLicenseSpecificationsForResource+import Amazonka.LicenseManager.ListLicenseVersions+import Amazonka.LicenseManager.ListLicenses+import Amazonka.LicenseManager.ListReceivedGrants+import Amazonka.LicenseManager.ListReceivedGrantsForOrganization+import Amazonka.LicenseManager.ListReceivedLicenses+import Amazonka.LicenseManager.ListReceivedLicensesForOrganization+import Amazonka.LicenseManager.ListResourceInventory+import Amazonka.LicenseManager.ListTagsForResource+import Amazonka.LicenseManager.ListTokens+import Amazonka.LicenseManager.ListUsageForLicenseConfiguration+import Amazonka.LicenseManager.RejectGrant+import Amazonka.LicenseManager.TagResource+import Amazonka.LicenseManager.Types.AutomatedDiscoveryInformation+import Amazonka.LicenseManager.Types.BorrowConfiguration+import Amazonka.LicenseManager.Types.ConsumedLicenseSummary+import Amazonka.LicenseManager.Types.ConsumptionConfiguration+import Amazonka.LicenseManager.Types.DatetimeRange+import Amazonka.LicenseManager.Types.Entitlement+import Amazonka.LicenseManager.Types.EntitlementData+import Amazonka.LicenseManager.Types.EntitlementUsage+import Amazonka.LicenseManager.Types.Filter+import Amazonka.LicenseManager.Types.Grant+import Amazonka.LicenseManager.Types.GrantedLicense+import Amazonka.LicenseManager.Types.InventoryFilter+import Amazonka.LicenseManager.Types.Issuer+import Amazonka.LicenseManager.Types.IssuerDetails+import Amazonka.LicenseManager.Types.License+import Amazonka.LicenseManager.Types.LicenseConfiguration+import Amazonka.LicenseManager.Types.LicenseConfigurationAssociation+import Amazonka.LicenseManager.Types.LicenseConfigurationUsage+import Amazonka.LicenseManager.Types.LicenseConversionContext+import Amazonka.LicenseManager.Types.LicenseConversionTask+import Amazonka.LicenseManager.Types.LicenseOperationFailure+import Amazonka.LicenseManager.Types.LicenseSpecification+import Amazonka.LicenseManager.Types.LicenseUsage+import Amazonka.LicenseManager.Types.ManagedResourceSummary+import Amazonka.LicenseManager.Types.Metadata+import Amazonka.LicenseManager.Types.OrganizationConfiguration+import Amazonka.LicenseManager.Types.ProductInformation+import Amazonka.LicenseManager.Types.ProductInformationFilter+import Amazonka.LicenseManager.Types.ProvisionalConfiguration+import Amazonka.LicenseManager.Types.ReceivedMetadata+import Amazonka.LicenseManager.Types.ReportContext+import Amazonka.LicenseManager.Types.ReportFrequency+import Amazonka.LicenseManager.Types.ReportGenerator+import Amazonka.LicenseManager.Types.ResourceInventory+import Amazonka.LicenseManager.Types.S3Location+import Amazonka.LicenseManager.Types.Tag+import Amazonka.LicenseManager.Types.TokenData+import Amazonka.LicenseManager.UntagResource+import Amazonka.LicenseManager.UpdateLicenseConfiguration+import Amazonka.LicenseManager.UpdateLicenseManagerReportGenerator+import Amazonka.LicenseManager.UpdateLicenseSpecificationsForResource+import Amazonka.LicenseManager.UpdateServiceSettings
+ gen/Amazonka/LicenseManager/ListAssociationsForLicenseConfiguration.hs view
@@ -0,0 +1,281 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.ListAssociationsForLicenseConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the resource associations for the specified license configuration.+--+-- Resource associations need not consume licenses from a license+-- configuration. For example, an AMI or a stopped instance might not+-- consume a license (depending on the license rules).+--+-- This operation returns paginated results.+module Amazonka.LicenseManager.ListAssociationsForLicenseConfiguration+  ( -- * Creating a Request+    ListAssociationsForLicenseConfiguration (..),+    newListAssociationsForLicenseConfiguration,++    -- * Request Lenses+    listAssociationsForLicenseConfiguration_maxResults,+    listAssociationsForLicenseConfiguration_nextToken,+    listAssociationsForLicenseConfiguration_licenseConfigurationArn,++    -- * Destructuring the Response+    ListAssociationsForLicenseConfigurationResponse (..),+    newListAssociationsForLicenseConfigurationResponse,++    -- * Response Lenses+    listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations,+    listAssociationsForLicenseConfigurationResponse_nextToken,+    listAssociationsForLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssociationsForLicenseConfiguration' smart constructor.+data ListAssociationsForLicenseConfiguration = ListAssociationsForLicenseConfiguration'+  { -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of a license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociationsForLicenseConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAssociationsForLicenseConfiguration_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listAssociationsForLicenseConfiguration_nextToken' - Token for the next set of results.+--+-- 'licenseConfigurationArn', 'listAssociationsForLicenseConfiguration_licenseConfigurationArn' - Amazon Resource Name (ARN) of a license configuration.+newListAssociationsForLicenseConfiguration ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  ListAssociationsForLicenseConfiguration+newListAssociationsForLicenseConfiguration+  pLicenseConfigurationArn_ =+    ListAssociationsForLicenseConfiguration'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        licenseConfigurationArn =+          pLicenseConfigurationArn_+      }++-- | Maximum number of results to return in a single call.+listAssociationsForLicenseConfiguration_maxResults :: Lens.Lens' ListAssociationsForLicenseConfiguration (Prelude.Maybe Prelude.Int)+listAssociationsForLicenseConfiguration_maxResults = Lens.lens (\ListAssociationsForLicenseConfiguration' {maxResults} -> maxResults) (\s@ListAssociationsForLicenseConfiguration' {} a -> s {maxResults = a} :: ListAssociationsForLicenseConfiguration)++-- | Token for the next set of results.+listAssociationsForLicenseConfiguration_nextToken :: Lens.Lens' ListAssociationsForLicenseConfiguration (Prelude.Maybe Prelude.Text)+listAssociationsForLicenseConfiguration_nextToken = Lens.lens (\ListAssociationsForLicenseConfiguration' {nextToken} -> nextToken) (\s@ListAssociationsForLicenseConfiguration' {} a -> s {nextToken = a} :: ListAssociationsForLicenseConfiguration)++-- | Amazon Resource Name (ARN) of a license configuration.+listAssociationsForLicenseConfiguration_licenseConfigurationArn :: Lens.Lens' ListAssociationsForLicenseConfiguration Prelude.Text+listAssociationsForLicenseConfiguration_licenseConfigurationArn = Lens.lens (\ListAssociationsForLicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@ListAssociationsForLicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: ListAssociationsForLicenseConfiguration)++instance+  Core.AWSPager+    ListAssociationsForLicenseConfiguration+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAssociationsForLicenseConfigurationResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAssociationsForLicenseConfiguration_nextToken+          Lens..~ rs+          Lens.^? listAssociationsForLicenseConfigurationResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListAssociationsForLicenseConfiguration+  where+  type+    AWSResponse+      ListAssociationsForLicenseConfiguration =+      ListAssociationsForLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssociationsForLicenseConfigurationResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseConfigurationAssociations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListAssociationsForLicenseConfiguration+  where+  hashWithSalt+    _salt+    ListAssociationsForLicenseConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` licenseConfigurationArn++instance+  Prelude.NFData+    ListAssociationsForLicenseConfiguration+  where+  rnf ListAssociationsForLicenseConfiguration' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf licenseConfigurationArn++instance+  Data.ToHeaders+    ListAssociationsForLicenseConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListAssociationsForLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListAssociationsForLicenseConfiguration+  where+  toJSON ListAssociationsForLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )++instance+  Data.ToPath+    ListAssociationsForLicenseConfiguration+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListAssociationsForLicenseConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAssociationsForLicenseConfigurationResponse' smart constructor.+data ListAssociationsForLicenseConfigurationResponse = ListAssociationsForLicenseConfigurationResponse'+  { -- | Information about the associations for the license configuration.+    licenseConfigurationAssociations :: Prelude.Maybe [LicenseConfigurationAssociation],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociationsForLicenseConfigurationResponse' 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:+--+-- 'licenseConfigurationAssociations', 'listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations' - Information about the associations for the license configuration.+--+-- 'nextToken', 'listAssociationsForLicenseConfigurationResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listAssociationsForLicenseConfigurationResponse_httpStatus' - The response's http status code.+newListAssociationsForLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssociationsForLicenseConfigurationResponse+newListAssociationsForLicenseConfigurationResponse+  pHttpStatus_ =+    ListAssociationsForLicenseConfigurationResponse'+      { licenseConfigurationAssociations =+          Prelude.Nothing,+        nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Information about the associations for the license configuration.+listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations :: Lens.Lens' ListAssociationsForLicenseConfigurationResponse (Prelude.Maybe [LicenseConfigurationAssociation])+listAssociationsForLicenseConfigurationResponse_licenseConfigurationAssociations = Lens.lens (\ListAssociationsForLicenseConfigurationResponse' {licenseConfigurationAssociations} -> licenseConfigurationAssociations) (\s@ListAssociationsForLicenseConfigurationResponse' {} a -> s {licenseConfigurationAssociations = a} :: ListAssociationsForLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listAssociationsForLicenseConfigurationResponse_nextToken :: Lens.Lens' ListAssociationsForLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+listAssociationsForLicenseConfigurationResponse_nextToken = Lens.lens (\ListAssociationsForLicenseConfigurationResponse' {nextToken} -> nextToken) (\s@ListAssociationsForLicenseConfigurationResponse' {} a -> s {nextToken = a} :: ListAssociationsForLicenseConfigurationResponse)++-- | The response's http status code.+listAssociationsForLicenseConfigurationResponse_httpStatus :: Lens.Lens' ListAssociationsForLicenseConfigurationResponse Prelude.Int+listAssociationsForLicenseConfigurationResponse_httpStatus = Lens.lens (\ListAssociationsForLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@ListAssociationsForLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: ListAssociationsForLicenseConfigurationResponse)++instance+  Prelude.NFData+    ListAssociationsForLicenseConfigurationResponse+  where+  rnf+    ListAssociationsForLicenseConfigurationResponse' {..} =+      Prelude.rnf licenseConfigurationAssociations+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListDistributedGrants.hs view
@@ -0,0 +1,252 @@+{-# 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.LicenseManager.ListDistributedGrants+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the grants distributed for the specified license.+module Amazonka.LicenseManager.ListDistributedGrants+  ( -- * Creating a Request+    ListDistributedGrants (..),+    newListDistributedGrants,++    -- * Request Lenses+    listDistributedGrants_filters,+    listDistributedGrants_grantArns,+    listDistributedGrants_maxResults,+    listDistributedGrants_nextToken,++    -- * Destructuring the Response+    ListDistributedGrantsResponse (..),+    newListDistributedGrantsResponse,++    -- * Response Lenses+    listDistributedGrantsResponse_grants,+    listDistributedGrantsResponse_nextToken,+    listDistributedGrantsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDistributedGrants' smart constructor.+data ListDistributedGrants = ListDistributedGrants'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @LicenseArn@+    --+    -- -   @GrantStatus@+    --+    -- -   @GranteePrincipalARN@+    --+    -- -   @ProductSKU@+    --+    -- -   @LicenseIssuerName@+    filters :: Prelude.Maybe [Filter],+    -- | Amazon Resource Names (ARNs) of the grants.+    grantArns :: Prelude.Maybe [Prelude.Text],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDistributedGrants' 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:+--+-- 'filters', 'listDistributedGrants_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @LicenseArn@+--+-- -   @GrantStatus@+--+-- -   @GranteePrincipalARN@+--+-- -   @ProductSKU@+--+-- -   @LicenseIssuerName@+--+-- 'grantArns', 'listDistributedGrants_grantArns' - Amazon Resource Names (ARNs) of the grants.+--+-- 'maxResults', 'listDistributedGrants_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listDistributedGrants_nextToken' - Token for the next set of results.+newListDistributedGrants ::+  ListDistributedGrants+newListDistributedGrants =+  ListDistributedGrants'+    { filters = Prelude.Nothing,+      grantArns = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @LicenseArn@+--+-- -   @GrantStatus@+--+-- -   @GranteePrincipalARN@+--+-- -   @ProductSKU@+--+-- -   @LicenseIssuerName@+listDistributedGrants_filters :: Lens.Lens' ListDistributedGrants (Prelude.Maybe [Filter])+listDistributedGrants_filters = Lens.lens (\ListDistributedGrants' {filters} -> filters) (\s@ListDistributedGrants' {} a -> s {filters = a} :: ListDistributedGrants) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARNs) of the grants.+listDistributedGrants_grantArns :: Lens.Lens' ListDistributedGrants (Prelude.Maybe [Prelude.Text])+listDistributedGrants_grantArns = Lens.lens (\ListDistributedGrants' {grantArns} -> grantArns) (\s@ListDistributedGrants' {} a -> s {grantArns = a} :: ListDistributedGrants) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listDistributedGrants_maxResults :: Lens.Lens' ListDistributedGrants (Prelude.Maybe Prelude.Natural)+listDistributedGrants_maxResults = Lens.lens (\ListDistributedGrants' {maxResults} -> maxResults) (\s@ListDistributedGrants' {} a -> s {maxResults = a} :: ListDistributedGrants)++-- | Token for the next set of results.+listDistributedGrants_nextToken :: Lens.Lens' ListDistributedGrants (Prelude.Maybe Prelude.Text)+listDistributedGrants_nextToken = Lens.lens (\ListDistributedGrants' {nextToken} -> nextToken) (\s@ListDistributedGrants' {} a -> s {nextToken = a} :: ListDistributedGrants)++instance Core.AWSRequest ListDistributedGrants where+  type+    AWSResponse ListDistributedGrants =+      ListDistributedGrantsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDistributedGrantsResponse'+            Prelude.<$> (x Data..?> "Grants" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDistributedGrants where+  hashWithSalt _salt ListDistributedGrants' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` grantArns+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDistributedGrants where+  rnf ListDistributedGrants' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf grantArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDistributedGrants where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListDistributedGrants" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDistributedGrants where+  toJSON ListDistributedGrants' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("GrantArns" Data..=) Prelude.<$> grantArns,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListDistributedGrants where+  toPath = Prelude.const "/"++instance Data.ToQuery ListDistributedGrants where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDistributedGrantsResponse' smart constructor.+data ListDistributedGrantsResponse = ListDistributedGrantsResponse'+  { -- | Distributed grant details.+    grants :: Prelude.Maybe [Grant],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDistributedGrantsResponse' 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:+--+-- 'grants', 'listDistributedGrantsResponse_grants' - Distributed grant details.+--+-- 'nextToken', 'listDistributedGrantsResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listDistributedGrantsResponse_httpStatus' - The response's http status code.+newListDistributedGrantsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDistributedGrantsResponse+newListDistributedGrantsResponse pHttpStatus_ =+  ListDistributedGrantsResponse'+    { grants =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Distributed grant details.+listDistributedGrantsResponse_grants :: Lens.Lens' ListDistributedGrantsResponse (Prelude.Maybe [Grant])+listDistributedGrantsResponse_grants = Lens.lens (\ListDistributedGrantsResponse' {grants} -> grants) (\s@ListDistributedGrantsResponse' {} a -> s {grants = a} :: ListDistributedGrantsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listDistributedGrantsResponse_nextToken :: Lens.Lens' ListDistributedGrantsResponse (Prelude.Maybe Prelude.Text)+listDistributedGrantsResponse_nextToken = Lens.lens (\ListDistributedGrantsResponse' {nextToken} -> nextToken) (\s@ListDistributedGrantsResponse' {} a -> s {nextToken = a} :: ListDistributedGrantsResponse)++-- | The response's http status code.+listDistributedGrantsResponse_httpStatus :: Lens.Lens' ListDistributedGrantsResponse Prelude.Int+listDistributedGrantsResponse_httpStatus = Lens.lens (\ListDistributedGrantsResponse' {httpStatus} -> httpStatus) (\s@ListDistributedGrantsResponse' {} a -> s {httpStatus = a} :: ListDistributedGrantsResponse)++instance Prelude.NFData ListDistributedGrantsResponse where+  rnf ListDistributedGrantsResponse' {..} =+    Prelude.rnf grants+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListFailuresForLicenseConfigurationOperations.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.ListFailuresForLicenseConfigurationOperations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the license configuration operations that failed.+module Amazonka.LicenseManager.ListFailuresForLicenseConfigurationOperations+  ( -- * Creating a Request+    ListFailuresForLicenseConfigurationOperations (..),+    newListFailuresForLicenseConfigurationOperations,++    -- * Request Lenses+    listFailuresForLicenseConfigurationOperations_maxResults,+    listFailuresForLicenseConfigurationOperations_nextToken,+    listFailuresForLicenseConfigurationOperations_licenseConfigurationArn,++    -- * Destructuring the Response+    ListFailuresForLicenseConfigurationOperationsResponse (..),+    newListFailuresForLicenseConfigurationOperationsResponse,++    -- * Response Lenses+    listFailuresForLicenseConfigurationOperationsResponse_licenseOperationFailureList,+    listFailuresForLicenseConfigurationOperationsResponse_nextToken,+    listFailuresForLicenseConfigurationOperationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFailuresForLicenseConfigurationOperations' smart constructor.+data ListFailuresForLicenseConfigurationOperations = ListFailuresForLicenseConfigurationOperations'+  { -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFailuresForLicenseConfigurationOperations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFailuresForLicenseConfigurationOperations_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listFailuresForLicenseConfigurationOperations_nextToken' - Token for the next set of results.+--+-- 'licenseConfigurationArn', 'listFailuresForLicenseConfigurationOperations_licenseConfigurationArn' - Amazon Resource Name of the license configuration.+newListFailuresForLicenseConfigurationOperations ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  ListFailuresForLicenseConfigurationOperations+newListFailuresForLicenseConfigurationOperations+  pLicenseConfigurationArn_ =+    ListFailuresForLicenseConfigurationOperations'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        licenseConfigurationArn =+          pLicenseConfigurationArn_+      }++-- | Maximum number of results to return in a single call.+listFailuresForLicenseConfigurationOperations_maxResults :: Lens.Lens' ListFailuresForLicenseConfigurationOperations (Prelude.Maybe Prelude.Int)+listFailuresForLicenseConfigurationOperations_maxResults = Lens.lens (\ListFailuresForLicenseConfigurationOperations' {maxResults} -> maxResults) (\s@ListFailuresForLicenseConfigurationOperations' {} a -> s {maxResults = a} :: ListFailuresForLicenseConfigurationOperations)++-- | Token for the next set of results.+listFailuresForLicenseConfigurationOperations_nextToken :: Lens.Lens' ListFailuresForLicenseConfigurationOperations (Prelude.Maybe Prelude.Text)+listFailuresForLicenseConfigurationOperations_nextToken = Lens.lens (\ListFailuresForLicenseConfigurationOperations' {nextToken} -> nextToken) (\s@ListFailuresForLicenseConfigurationOperations' {} a -> s {nextToken = a} :: ListFailuresForLicenseConfigurationOperations)++-- | Amazon Resource Name of the license configuration.+listFailuresForLicenseConfigurationOperations_licenseConfigurationArn :: Lens.Lens' ListFailuresForLicenseConfigurationOperations Prelude.Text+listFailuresForLicenseConfigurationOperations_licenseConfigurationArn = Lens.lens (\ListFailuresForLicenseConfigurationOperations' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@ListFailuresForLicenseConfigurationOperations' {} a -> s {licenseConfigurationArn = a} :: ListFailuresForLicenseConfigurationOperations)++instance+  Core.AWSRequest+    ListFailuresForLicenseConfigurationOperations+  where+  type+    AWSResponse+      ListFailuresForLicenseConfigurationOperations =+      ListFailuresForLicenseConfigurationOperationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListFailuresForLicenseConfigurationOperationsResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseOperationFailureList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListFailuresForLicenseConfigurationOperations+  where+  hashWithSalt+    _salt+    ListFailuresForLicenseConfigurationOperations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` licenseConfigurationArn++instance+  Prelude.NFData+    ListFailuresForLicenseConfigurationOperations+  where+  rnf+    ListFailuresForLicenseConfigurationOperations' {..} =+      Prelude.rnf maxResults+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf licenseConfigurationArn++instance+  Data.ToHeaders+    ListFailuresForLicenseConfigurationOperations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListFailuresForLicenseConfigurationOperations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListFailuresForLicenseConfigurationOperations+  where+  toJSON+    ListFailuresForLicenseConfigurationOperations' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("MaxResults" Data..=) Prelude.<$> maxResults,+              ("NextToken" Data..=) Prelude.<$> nextToken,+              Prelude.Just+                ( "LicenseConfigurationArn"+                    Data..= licenseConfigurationArn+                )+            ]+        )++instance+  Data.ToPath+    ListFailuresForLicenseConfigurationOperations+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListFailuresForLicenseConfigurationOperations+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFailuresForLicenseConfigurationOperationsResponse' smart constructor.+data ListFailuresForLicenseConfigurationOperationsResponse = ListFailuresForLicenseConfigurationOperationsResponse'+  { -- | License configuration operations that failed.+    licenseOperationFailureList :: Prelude.Maybe [LicenseOperationFailure],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFailuresForLicenseConfigurationOperationsResponse' 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:+--+-- 'licenseOperationFailureList', 'listFailuresForLicenseConfigurationOperationsResponse_licenseOperationFailureList' - License configuration operations that failed.+--+-- 'nextToken', 'listFailuresForLicenseConfigurationOperationsResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listFailuresForLicenseConfigurationOperationsResponse_httpStatus' - The response's http status code.+newListFailuresForLicenseConfigurationOperationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListFailuresForLicenseConfigurationOperationsResponse+newListFailuresForLicenseConfigurationOperationsResponse+  pHttpStatus_ =+    ListFailuresForLicenseConfigurationOperationsResponse'+      { licenseOperationFailureList =+          Prelude.Nothing,+        nextToken =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | License configuration operations that failed.+listFailuresForLicenseConfigurationOperationsResponse_licenseOperationFailureList :: Lens.Lens' ListFailuresForLicenseConfigurationOperationsResponse (Prelude.Maybe [LicenseOperationFailure])+listFailuresForLicenseConfigurationOperationsResponse_licenseOperationFailureList = Lens.lens (\ListFailuresForLicenseConfigurationOperationsResponse' {licenseOperationFailureList} -> licenseOperationFailureList) (\s@ListFailuresForLicenseConfigurationOperationsResponse' {} a -> s {licenseOperationFailureList = a} :: ListFailuresForLicenseConfigurationOperationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listFailuresForLicenseConfigurationOperationsResponse_nextToken :: Lens.Lens' ListFailuresForLicenseConfigurationOperationsResponse (Prelude.Maybe Prelude.Text)+listFailuresForLicenseConfigurationOperationsResponse_nextToken = Lens.lens (\ListFailuresForLicenseConfigurationOperationsResponse' {nextToken} -> nextToken) (\s@ListFailuresForLicenseConfigurationOperationsResponse' {} a -> s {nextToken = a} :: ListFailuresForLicenseConfigurationOperationsResponse)++-- | The response's http status code.+listFailuresForLicenseConfigurationOperationsResponse_httpStatus :: Lens.Lens' ListFailuresForLicenseConfigurationOperationsResponse Prelude.Int+listFailuresForLicenseConfigurationOperationsResponse_httpStatus = Lens.lens (\ListFailuresForLicenseConfigurationOperationsResponse' {httpStatus} -> httpStatus) (\s@ListFailuresForLicenseConfigurationOperationsResponse' {} a -> s {httpStatus = a} :: ListFailuresForLicenseConfigurationOperationsResponse)++instance+  Prelude.NFData+    ListFailuresForLicenseConfigurationOperationsResponse+  where+  rnf+    ListFailuresForLicenseConfigurationOperationsResponse' {..} =+      Prelude.rnf licenseOperationFailureList+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenseConfigurations.hs view
@@ -0,0 +1,293 @@+{-# 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.LicenseManager.ListLicenseConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the license configurations for your account.+--+-- This operation returns paginated results.+module Amazonka.LicenseManager.ListLicenseConfigurations+  ( -- * Creating a Request+    ListLicenseConfigurations (..),+    newListLicenseConfigurations,++    -- * Request Lenses+    listLicenseConfigurations_filters,+    listLicenseConfigurations_licenseConfigurationArns,+    listLicenseConfigurations_maxResults,+    listLicenseConfigurations_nextToken,++    -- * Destructuring the Response+    ListLicenseConfigurationsResponse (..),+    newListLicenseConfigurationsResponse,++    -- * Response Lenses+    listLicenseConfigurationsResponse_licenseConfigurations,+    listLicenseConfigurationsResponse_nextToken,+    listLicenseConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenseConfigurations' smart constructor.+data ListLicenseConfigurations = ListLicenseConfigurations'+  { -- | Filters to scope the results. The following filters and logical+    -- operators are supported:+    --+    -- -   @licenseCountingType@ - The dimension for which licenses are+    --     counted. Possible values are @vCPU@ | @Instance@ | @Core@ |+    --     @Socket@. Logical operators are @EQUALS@ | @NOT_EQUALS@.+    --+    -- -   @enforceLicenseCount@ - A Boolean value that indicates whether hard+    --     license enforcement is used. Logical operators are @EQUALS@ |+    --     @NOT_EQUALS@.+    --+    -- -   @usagelimitExceeded@ - A Boolean value that indicates whether the+    --     available licenses have been exceeded. Logical operators are+    --     @EQUALS@ | @NOT_EQUALS@.+    filters :: Prelude.Maybe [Filter],+    -- | Amazon Resource Names (ARN) of the license configurations.+    licenseConfigurationArns :: Prelude.Maybe [Prelude.Text],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseConfigurations' 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:+--+-- 'filters', 'listLicenseConfigurations_filters' - Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @licenseCountingType@ - The dimension for which licenses are+--     counted. Possible values are @vCPU@ | @Instance@ | @Core@ |+--     @Socket@. Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @enforceLicenseCount@ - A Boolean value that indicates whether hard+--     license enforcement is used. Logical operators are @EQUALS@ |+--     @NOT_EQUALS@.+--+-- -   @usagelimitExceeded@ - A Boolean value that indicates whether the+--     available licenses have been exceeded. Logical operators are+--     @EQUALS@ | @NOT_EQUALS@.+--+-- 'licenseConfigurationArns', 'listLicenseConfigurations_licenseConfigurationArns' - Amazon Resource Names (ARN) of the license configurations.+--+-- 'maxResults', 'listLicenseConfigurations_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenseConfigurations_nextToken' - Token for the next set of results.+newListLicenseConfigurations ::+  ListLicenseConfigurations+newListLicenseConfigurations =+  ListLicenseConfigurations'+    { filters =+        Prelude.Nothing,+      licenseConfigurationArns = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @licenseCountingType@ - The dimension for which licenses are+--     counted. Possible values are @vCPU@ | @Instance@ | @Core@ |+--     @Socket@. Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @enforceLicenseCount@ - A Boolean value that indicates whether hard+--     license enforcement is used. Logical operators are @EQUALS@ |+--     @NOT_EQUALS@.+--+-- -   @usagelimitExceeded@ - A Boolean value that indicates whether the+--     available licenses have been exceeded. Logical operators are+--     @EQUALS@ | @NOT_EQUALS@.+listLicenseConfigurations_filters :: Lens.Lens' ListLicenseConfigurations (Prelude.Maybe [Filter])+listLicenseConfigurations_filters = Lens.lens (\ListLicenseConfigurations' {filters} -> filters) (\s@ListLicenseConfigurations' {} a -> s {filters = a} :: ListLicenseConfigurations) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARN) of the license configurations.+listLicenseConfigurations_licenseConfigurationArns :: Lens.Lens' ListLicenseConfigurations (Prelude.Maybe [Prelude.Text])+listLicenseConfigurations_licenseConfigurationArns = Lens.lens (\ListLicenseConfigurations' {licenseConfigurationArns} -> licenseConfigurationArns) (\s@ListLicenseConfigurations' {} a -> s {licenseConfigurationArns = a} :: ListLicenseConfigurations) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listLicenseConfigurations_maxResults :: Lens.Lens' ListLicenseConfigurations (Prelude.Maybe Prelude.Int)+listLicenseConfigurations_maxResults = Lens.lens (\ListLicenseConfigurations' {maxResults} -> maxResults) (\s@ListLicenseConfigurations' {} a -> s {maxResults = a} :: ListLicenseConfigurations)++-- | Token for the next set of results.+listLicenseConfigurations_nextToken :: Lens.Lens' ListLicenseConfigurations (Prelude.Maybe Prelude.Text)+listLicenseConfigurations_nextToken = Lens.lens (\ListLicenseConfigurations' {nextToken} -> nextToken) (\s@ListLicenseConfigurations' {} a -> s {nextToken = a} :: ListLicenseConfigurations)++instance Core.AWSPager ListLicenseConfigurations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listLicenseConfigurationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listLicenseConfigurationsResponse_licenseConfigurations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listLicenseConfigurations_nextToken+          Lens..~ rs+          Lens.^? listLicenseConfigurationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListLicenseConfigurations where+  type+    AWSResponse ListLicenseConfigurations =+      ListLicenseConfigurationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicenseConfigurationsResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseConfigurations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLicenseConfigurations where+  hashWithSalt _salt ListLicenseConfigurations' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` licenseConfigurationArns+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLicenseConfigurations where+  rnf ListLicenseConfigurations' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf licenseConfigurationArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLicenseConfigurations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenseConfigurations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLicenseConfigurations where+  toJSON ListLicenseConfigurations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("LicenseConfigurationArns" Data..=)+              Prelude.<$> licenseConfigurationArns,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListLicenseConfigurations where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLicenseConfigurations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicenseConfigurationsResponse' smart constructor.+data ListLicenseConfigurationsResponse = ListLicenseConfigurationsResponse'+  { -- | Information about the license configurations.+    licenseConfigurations :: Prelude.Maybe [LicenseConfiguration],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseConfigurationsResponse' 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:+--+-- 'licenseConfigurations', 'listLicenseConfigurationsResponse_licenseConfigurations' - Information about the license configurations.+--+-- 'nextToken', 'listLicenseConfigurationsResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listLicenseConfigurationsResponse_httpStatus' - The response's http status code.+newListLicenseConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicenseConfigurationsResponse+newListLicenseConfigurationsResponse pHttpStatus_ =+  ListLicenseConfigurationsResponse'+    { licenseConfigurations =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the license configurations.+listLicenseConfigurationsResponse_licenseConfigurations :: Lens.Lens' ListLicenseConfigurationsResponse (Prelude.Maybe [LicenseConfiguration])+listLicenseConfigurationsResponse_licenseConfigurations = Lens.lens (\ListLicenseConfigurationsResponse' {licenseConfigurations} -> licenseConfigurations) (\s@ListLicenseConfigurationsResponse' {} a -> s {licenseConfigurations = a} :: ListLicenseConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listLicenseConfigurationsResponse_nextToken :: Lens.Lens' ListLicenseConfigurationsResponse (Prelude.Maybe Prelude.Text)+listLicenseConfigurationsResponse_nextToken = Lens.lens (\ListLicenseConfigurationsResponse' {nextToken} -> nextToken) (\s@ListLicenseConfigurationsResponse' {} a -> s {nextToken = a} :: ListLicenseConfigurationsResponse)++-- | The response's http status code.+listLicenseConfigurationsResponse_httpStatus :: Lens.Lens' ListLicenseConfigurationsResponse Prelude.Int+listLicenseConfigurationsResponse_httpStatus = Lens.lens (\ListLicenseConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListLicenseConfigurationsResponse' {} a -> s {httpStatus = a} :: ListLicenseConfigurationsResponse)++instance+  Prelude.NFData+    ListLicenseConfigurationsResponse+  where+  rnf ListLicenseConfigurationsResponse' {..} =+    Prelude.rnf licenseConfigurations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenseConversionTasks.hs view
@@ -0,0 +1,219 @@+{-# 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.LicenseManager.ListLicenseConversionTasks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the license type conversion tasks for your account.+module Amazonka.LicenseManager.ListLicenseConversionTasks+  ( -- * Creating a Request+    ListLicenseConversionTasks (..),+    newListLicenseConversionTasks,++    -- * Request Lenses+    listLicenseConversionTasks_filters,+    listLicenseConversionTasks_maxResults,+    listLicenseConversionTasks_nextToken,++    -- * Destructuring the Response+    ListLicenseConversionTasksResponse (..),+    newListLicenseConversionTasksResponse,++    -- * Response Lenses+    listLicenseConversionTasksResponse_licenseConversionTasks,+    listLicenseConversionTasksResponse_nextToken,+    listLicenseConversionTasksResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenseConversionTasks' smart constructor.+data ListLicenseConversionTasks = ListLicenseConversionTasks'+  { -- | Filters to scope the results. Valid filters are @ResourceArns@ and+    -- @Status@.+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseConversionTasks' 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:+--+-- 'filters', 'listLicenseConversionTasks_filters' - Filters to scope the results. Valid filters are @ResourceArns@ and+-- @Status@.+--+-- 'maxResults', 'listLicenseConversionTasks_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenseConversionTasks_nextToken' - Token for the next set of results.+newListLicenseConversionTasks ::+  ListLicenseConversionTasks+newListLicenseConversionTasks =+  ListLicenseConversionTasks'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. Valid filters are @ResourceArns@ and+-- @Status@.+listLicenseConversionTasks_filters :: Lens.Lens' ListLicenseConversionTasks (Prelude.Maybe [Filter])+listLicenseConversionTasks_filters = Lens.lens (\ListLicenseConversionTasks' {filters} -> filters) (\s@ListLicenseConversionTasks' {} a -> s {filters = a} :: ListLicenseConversionTasks) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listLicenseConversionTasks_maxResults :: Lens.Lens' ListLicenseConversionTasks (Prelude.Maybe Prelude.Int)+listLicenseConversionTasks_maxResults = Lens.lens (\ListLicenseConversionTasks' {maxResults} -> maxResults) (\s@ListLicenseConversionTasks' {} a -> s {maxResults = a} :: ListLicenseConversionTasks)++-- | Token for the next set of results.+listLicenseConversionTasks_nextToken :: Lens.Lens' ListLicenseConversionTasks (Prelude.Maybe Prelude.Text)+listLicenseConversionTasks_nextToken = Lens.lens (\ListLicenseConversionTasks' {nextToken} -> nextToken) (\s@ListLicenseConversionTasks' {} a -> s {nextToken = a} :: ListLicenseConversionTasks)++instance Core.AWSRequest ListLicenseConversionTasks where+  type+    AWSResponse ListLicenseConversionTasks =+      ListLicenseConversionTasksResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicenseConversionTasksResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseConversionTasks"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLicenseConversionTasks where+  hashWithSalt _salt ListLicenseConversionTasks' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLicenseConversionTasks where+  rnf ListLicenseConversionTasks' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLicenseConversionTasks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenseConversionTasks" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLicenseConversionTasks where+  toJSON ListLicenseConversionTasks' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListLicenseConversionTasks where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLicenseConversionTasks where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicenseConversionTasksResponse' smart constructor.+data ListLicenseConversionTasksResponse = ListLicenseConversionTasksResponse'+  { -- | Information about the license configuration tasks for your account.+    licenseConversionTasks :: Prelude.Maybe [LicenseConversionTask],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseConversionTasksResponse' 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:+--+-- 'licenseConversionTasks', 'listLicenseConversionTasksResponse_licenseConversionTasks' - Information about the license configuration tasks for your account.+--+-- 'nextToken', 'listLicenseConversionTasksResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listLicenseConversionTasksResponse_httpStatus' - The response's http status code.+newListLicenseConversionTasksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicenseConversionTasksResponse+newListLicenseConversionTasksResponse pHttpStatus_ =+  ListLicenseConversionTasksResponse'+    { licenseConversionTasks =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the license configuration tasks for your account.+listLicenseConversionTasksResponse_licenseConversionTasks :: Lens.Lens' ListLicenseConversionTasksResponse (Prelude.Maybe [LicenseConversionTask])+listLicenseConversionTasksResponse_licenseConversionTasks = Lens.lens (\ListLicenseConversionTasksResponse' {licenseConversionTasks} -> licenseConversionTasks) (\s@ListLicenseConversionTasksResponse' {} a -> s {licenseConversionTasks = a} :: ListLicenseConversionTasksResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listLicenseConversionTasksResponse_nextToken :: Lens.Lens' ListLicenseConversionTasksResponse (Prelude.Maybe Prelude.Text)+listLicenseConversionTasksResponse_nextToken = Lens.lens (\ListLicenseConversionTasksResponse' {nextToken} -> nextToken) (\s@ListLicenseConversionTasksResponse' {} a -> s {nextToken = a} :: ListLicenseConversionTasksResponse)++-- | The response's http status code.+listLicenseConversionTasksResponse_httpStatus :: Lens.Lens' ListLicenseConversionTasksResponse Prelude.Int+listLicenseConversionTasksResponse_httpStatus = Lens.lens (\ListLicenseConversionTasksResponse' {httpStatus} -> httpStatus) (\s@ListLicenseConversionTasksResponse' {} a -> s {httpStatus = a} :: ListLicenseConversionTasksResponse)++instance+  Prelude.NFData+    ListLicenseConversionTasksResponse+  where+  rnf ListLicenseConversionTasksResponse' {..} =+    Prelude.rnf licenseConversionTasks+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenseManagerReportGenerators.hs view
@@ -0,0 +1,250 @@+{-# 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.LicenseManager.ListLicenseManagerReportGenerators+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the report generators for your account.+module Amazonka.LicenseManager.ListLicenseManagerReportGenerators+  ( -- * Creating a Request+    ListLicenseManagerReportGenerators (..),+    newListLicenseManagerReportGenerators,++    -- * Request Lenses+    listLicenseManagerReportGenerators_filters,+    listLicenseManagerReportGenerators_maxResults,+    listLicenseManagerReportGenerators_nextToken,++    -- * Destructuring the Response+    ListLicenseManagerReportGeneratorsResponse (..),+    newListLicenseManagerReportGeneratorsResponse,++    -- * Response Lenses+    listLicenseManagerReportGeneratorsResponse_nextToken,+    listLicenseManagerReportGeneratorsResponse_reportGenerators,+    listLicenseManagerReportGeneratorsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenseManagerReportGenerators' smart constructor.+data ListLicenseManagerReportGenerators = ListLicenseManagerReportGenerators'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @LicenseConfigurationArn@+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseManagerReportGenerators' 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:+--+-- 'filters', 'listLicenseManagerReportGenerators_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @LicenseConfigurationArn@+--+-- 'maxResults', 'listLicenseManagerReportGenerators_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenseManagerReportGenerators_nextToken' - Token for the next set of results.+newListLicenseManagerReportGenerators ::+  ListLicenseManagerReportGenerators+newListLicenseManagerReportGenerators =+  ListLicenseManagerReportGenerators'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @LicenseConfigurationArn@+listLicenseManagerReportGenerators_filters :: Lens.Lens' ListLicenseManagerReportGenerators (Prelude.Maybe [Filter])+listLicenseManagerReportGenerators_filters = Lens.lens (\ListLicenseManagerReportGenerators' {filters} -> filters) (\s@ListLicenseManagerReportGenerators' {} a -> s {filters = a} :: ListLicenseManagerReportGenerators) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listLicenseManagerReportGenerators_maxResults :: Lens.Lens' ListLicenseManagerReportGenerators (Prelude.Maybe Prelude.Natural)+listLicenseManagerReportGenerators_maxResults = Lens.lens (\ListLicenseManagerReportGenerators' {maxResults} -> maxResults) (\s@ListLicenseManagerReportGenerators' {} a -> s {maxResults = a} :: ListLicenseManagerReportGenerators)++-- | Token for the next set of results.+listLicenseManagerReportGenerators_nextToken :: Lens.Lens' ListLicenseManagerReportGenerators (Prelude.Maybe Prelude.Text)+listLicenseManagerReportGenerators_nextToken = Lens.lens (\ListLicenseManagerReportGenerators' {nextToken} -> nextToken) (\s@ListLicenseManagerReportGenerators' {} a -> s {nextToken = a} :: ListLicenseManagerReportGenerators)++instance+  Core.AWSRequest+    ListLicenseManagerReportGenerators+  where+  type+    AWSResponse ListLicenseManagerReportGenerators =+      ListLicenseManagerReportGeneratorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicenseManagerReportGeneratorsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ReportGenerators"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListLicenseManagerReportGenerators+  where+  hashWithSalt+    _salt+    ListLicenseManagerReportGenerators' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListLicenseManagerReportGenerators+  where+  rnf ListLicenseManagerReportGenerators' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListLicenseManagerReportGenerators+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenseManagerReportGenerators" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListLicenseManagerReportGenerators+  where+  toJSON ListLicenseManagerReportGenerators' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance+  Data.ToPath+    ListLicenseManagerReportGenerators+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListLicenseManagerReportGenerators+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicenseManagerReportGeneratorsResponse' smart constructor.+data ListLicenseManagerReportGeneratorsResponse = ListLicenseManagerReportGeneratorsResponse'+  { -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A report generator that creates periodic reports about your license+    -- configurations.+    reportGenerators :: Prelude.Maybe [ReportGenerator],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseManagerReportGeneratorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listLicenseManagerReportGeneratorsResponse_nextToken' - Token for the next set of results.+--+-- 'reportGenerators', 'listLicenseManagerReportGeneratorsResponse_reportGenerators' - A report generator that creates periodic reports about your license+-- configurations.+--+-- 'httpStatus', 'listLicenseManagerReportGeneratorsResponse_httpStatus' - The response's http status code.+newListLicenseManagerReportGeneratorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicenseManagerReportGeneratorsResponse+newListLicenseManagerReportGeneratorsResponse+  pHttpStatus_ =+    ListLicenseManagerReportGeneratorsResponse'+      { nextToken =+          Prelude.Nothing,+        reportGenerators =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Token for the next set of results.+listLicenseManagerReportGeneratorsResponse_nextToken :: Lens.Lens' ListLicenseManagerReportGeneratorsResponse (Prelude.Maybe Prelude.Text)+listLicenseManagerReportGeneratorsResponse_nextToken = Lens.lens (\ListLicenseManagerReportGeneratorsResponse' {nextToken} -> nextToken) (\s@ListLicenseManagerReportGeneratorsResponse' {} a -> s {nextToken = a} :: ListLicenseManagerReportGeneratorsResponse)++-- | A report generator that creates periodic reports about your license+-- configurations.+listLicenseManagerReportGeneratorsResponse_reportGenerators :: Lens.Lens' ListLicenseManagerReportGeneratorsResponse (Prelude.Maybe [ReportGenerator])+listLicenseManagerReportGeneratorsResponse_reportGenerators = Lens.lens (\ListLicenseManagerReportGeneratorsResponse' {reportGenerators} -> reportGenerators) (\s@ListLicenseManagerReportGeneratorsResponse' {} a -> s {reportGenerators = a} :: ListLicenseManagerReportGeneratorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listLicenseManagerReportGeneratorsResponse_httpStatus :: Lens.Lens' ListLicenseManagerReportGeneratorsResponse Prelude.Int+listLicenseManagerReportGeneratorsResponse_httpStatus = Lens.lens (\ListLicenseManagerReportGeneratorsResponse' {httpStatus} -> httpStatus) (\s@ListLicenseManagerReportGeneratorsResponse' {} a -> s {httpStatus = a} :: ListLicenseManagerReportGeneratorsResponse)++instance+  Prelude.NFData+    ListLicenseManagerReportGeneratorsResponse+  where+  rnf ListLicenseManagerReportGeneratorsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf reportGenerators+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenseSpecificationsForResource.hs view
@@ -0,0 +1,272 @@+{-# 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.LicenseManager.ListLicenseSpecificationsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the license configurations for the specified resource.+--+-- This operation returns paginated results.+module Amazonka.LicenseManager.ListLicenseSpecificationsForResource+  ( -- * Creating a Request+    ListLicenseSpecificationsForResource (..),+    newListLicenseSpecificationsForResource,++    -- * Request Lenses+    listLicenseSpecificationsForResource_maxResults,+    listLicenseSpecificationsForResource_nextToken,+    listLicenseSpecificationsForResource_resourceArn,++    -- * Destructuring the Response+    ListLicenseSpecificationsForResourceResponse (..),+    newListLicenseSpecificationsForResourceResponse,++    -- * Response Lenses+    listLicenseSpecificationsForResourceResponse_licenseSpecifications,+    listLicenseSpecificationsForResourceResponse_nextToken,+    listLicenseSpecificationsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenseSpecificationsForResource' smart constructor.+data ListLicenseSpecificationsForResource = ListLicenseSpecificationsForResource'+  { -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of a resource that has an associated license+    -- configuration.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseSpecificationsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listLicenseSpecificationsForResource_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenseSpecificationsForResource_nextToken' - Token for the next set of results.+--+-- 'resourceArn', 'listLicenseSpecificationsForResource_resourceArn' - Amazon Resource Name (ARN) of a resource that has an associated license+-- configuration.+newListLicenseSpecificationsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListLicenseSpecificationsForResource+newListLicenseSpecificationsForResource pResourceArn_ =+  ListLicenseSpecificationsForResource'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceArn = pResourceArn_+    }++-- | Maximum number of results to return in a single call.+listLicenseSpecificationsForResource_maxResults :: Lens.Lens' ListLicenseSpecificationsForResource (Prelude.Maybe Prelude.Int)+listLicenseSpecificationsForResource_maxResults = Lens.lens (\ListLicenseSpecificationsForResource' {maxResults} -> maxResults) (\s@ListLicenseSpecificationsForResource' {} a -> s {maxResults = a} :: ListLicenseSpecificationsForResource)++-- | Token for the next set of results.+listLicenseSpecificationsForResource_nextToken :: Lens.Lens' ListLicenseSpecificationsForResource (Prelude.Maybe Prelude.Text)+listLicenseSpecificationsForResource_nextToken = Lens.lens (\ListLicenseSpecificationsForResource' {nextToken} -> nextToken) (\s@ListLicenseSpecificationsForResource' {} a -> s {nextToken = a} :: ListLicenseSpecificationsForResource)++-- | Amazon Resource Name (ARN) of a resource that has an associated license+-- configuration.+listLicenseSpecificationsForResource_resourceArn :: Lens.Lens' ListLicenseSpecificationsForResource Prelude.Text+listLicenseSpecificationsForResource_resourceArn = Lens.lens (\ListLicenseSpecificationsForResource' {resourceArn} -> resourceArn) (\s@ListLicenseSpecificationsForResource' {} a -> s {resourceArn = a} :: ListLicenseSpecificationsForResource)++instance+  Core.AWSPager+    ListLicenseSpecificationsForResource+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listLicenseSpecificationsForResourceResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listLicenseSpecificationsForResourceResponse_licenseSpecifications+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listLicenseSpecificationsForResource_nextToken+          Lens..~ rs+          Lens.^? listLicenseSpecificationsForResourceResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListLicenseSpecificationsForResource+  where+  type+    AWSResponse ListLicenseSpecificationsForResource =+      ListLicenseSpecificationsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicenseSpecificationsForResourceResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseSpecifications"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListLicenseSpecificationsForResource+  where+  hashWithSalt+    _salt+    ListLicenseSpecificationsForResource' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` resourceArn++instance+  Prelude.NFData+    ListLicenseSpecificationsForResource+  where+  rnf ListLicenseSpecificationsForResource' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceArn++instance+  Data.ToHeaders+    ListLicenseSpecificationsForResource+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenseSpecificationsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListLicenseSpecificationsForResource+  where+  toJSON ListLicenseSpecificationsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("ResourceArn" Data..= resourceArn)+          ]+      )++instance+  Data.ToPath+    ListLicenseSpecificationsForResource+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListLicenseSpecificationsForResource+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicenseSpecificationsForResourceResponse' smart constructor.+data ListLicenseSpecificationsForResourceResponse = ListLicenseSpecificationsForResourceResponse'+  { -- | License configurations associated with a resource.+    licenseSpecifications :: Prelude.Maybe [LicenseSpecification],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseSpecificationsForResourceResponse' 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:+--+-- 'licenseSpecifications', 'listLicenseSpecificationsForResourceResponse_licenseSpecifications' - License configurations associated with a resource.+--+-- 'nextToken', 'listLicenseSpecificationsForResourceResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listLicenseSpecificationsForResourceResponse_httpStatus' - The response's http status code.+newListLicenseSpecificationsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicenseSpecificationsForResourceResponse+newListLicenseSpecificationsForResourceResponse+  pHttpStatus_ =+    ListLicenseSpecificationsForResourceResponse'+      { licenseSpecifications =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | License configurations associated with a resource.+listLicenseSpecificationsForResourceResponse_licenseSpecifications :: Lens.Lens' ListLicenseSpecificationsForResourceResponse (Prelude.Maybe [LicenseSpecification])+listLicenseSpecificationsForResourceResponse_licenseSpecifications = Lens.lens (\ListLicenseSpecificationsForResourceResponse' {licenseSpecifications} -> licenseSpecifications) (\s@ListLicenseSpecificationsForResourceResponse' {} a -> s {licenseSpecifications = a} :: ListLicenseSpecificationsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listLicenseSpecificationsForResourceResponse_nextToken :: Lens.Lens' ListLicenseSpecificationsForResourceResponse (Prelude.Maybe Prelude.Text)+listLicenseSpecificationsForResourceResponse_nextToken = Lens.lens (\ListLicenseSpecificationsForResourceResponse' {nextToken} -> nextToken) (\s@ListLicenseSpecificationsForResourceResponse' {} a -> s {nextToken = a} :: ListLicenseSpecificationsForResourceResponse)++-- | The response's http status code.+listLicenseSpecificationsForResourceResponse_httpStatus :: Lens.Lens' ListLicenseSpecificationsForResourceResponse Prelude.Int+listLicenseSpecificationsForResourceResponse_httpStatus = Lens.lens (\ListLicenseSpecificationsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListLicenseSpecificationsForResourceResponse' {} a -> s {httpStatus = a} :: ListLicenseSpecificationsForResourceResponse)++instance+  Prelude.NFData+    ListLicenseSpecificationsForResourceResponse+  where+  rnf ListLicenseSpecificationsForResourceResponse' {..} =+    Prelude.rnf licenseSpecifications+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenseVersions.hs view
@@ -0,0 +1,211 @@+{-# 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.LicenseManager.ListLicenseVersions+-- 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 versions of the specified license.+module Amazonka.LicenseManager.ListLicenseVersions+  ( -- * Creating a Request+    ListLicenseVersions (..),+    newListLicenseVersions,++    -- * Request Lenses+    listLicenseVersions_maxResults,+    listLicenseVersions_nextToken,+    listLicenseVersions_licenseArn,++    -- * Destructuring the Response+    ListLicenseVersionsResponse (..),+    newListLicenseVersionsResponse,++    -- * Response Lenses+    listLicenseVersionsResponse_licenses,+    listLicenseVersionsResponse_nextToken,+    listLicenseVersionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenseVersions' smart constructor.+data ListLicenseVersions = ListLicenseVersions'+  { -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listLicenseVersions_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenseVersions_nextToken' - Token for the next set of results.+--+-- 'licenseArn', 'listLicenseVersions_licenseArn' - Amazon Resource Name (ARN) of the license.+newListLicenseVersions ::+  -- | 'licenseArn'+  Prelude.Text ->+  ListLicenseVersions+newListLicenseVersions pLicenseArn_ =+  ListLicenseVersions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      licenseArn = pLicenseArn_+    }++-- | Maximum number of results to return in a single call.+listLicenseVersions_maxResults :: Lens.Lens' ListLicenseVersions (Prelude.Maybe Prelude.Natural)+listLicenseVersions_maxResults = Lens.lens (\ListLicenseVersions' {maxResults} -> maxResults) (\s@ListLicenseVersions' {} a -> s {maxResults = a} :: ListLicenseVersions)++-- | Token for the next set of results.+listLicenseVersions_nextToken :: Lens.Lens' ListLicenseVersions (Prelude.Maybe Prelude.Text)+listLicenseVersions_nextToken = Lens.lens (\ListLicenseVersions' {nextToken} -> nextToken) (\s@ListLicenseVersions' {} a -> s {nextToken = a} :: ListLicenseVersions)++-- | Amazon Resource Name (ARN) of the license.+listLicenseVersions_licenseArn :: Lens.Lens' ListLicenseVersions Prelude.Text+listLicenseVersions_licenseArn = Lens.lens (\ListLicenseVersions' {licenseArn} -> licenseArn) (\s@ListLicenseVersions' {} a -> s {licenseArn = a} :: ListLicenseVersions)++instance Core.AWSRequest ListLicenseVersions where+  type+    AWSResponse ListLicenseVersions =+      ListLicenseVersionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicenseVersionsResponse'+            Prelude.<$> (x Data..?> "Licenses" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLicenseVersions where+  hashWithSalt _salt ListLicenseVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` licenseArn++instance Prelude.NFData ListLicenseVersions where+  rnf ListLicenseVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf licenseArn++instance Data.ToHeaders ListLicenseVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenseVersions" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLicenseVersions where+  toJSON ListLicenseVersions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("LicenseArn" Data..= licenseArn)+          ]+      )++instance Data.ToPath ListLicenseVersions where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLicenseVersions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicenseVersionsResponse' smart constructor.+data ListLicenseVersionsResponse = ListLicenseVersionsResponse'+  { -- | License details.+    licenses :: Prelude.Maybe [License],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenseVersionsResponse' 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:+--+-- 'licenses', 'listLicenseVersionsResponse_licenses' - License details.+--+-- 'nextToken', 'listLicenseVersionsResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listLicenseVersionsResponse_httpStatus' - The response's http status code.+newListLicenseVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicenseVersionsResponse+newListLicenseVersionsResponse pHttpStatus_ =+  ListLicenseVersionsResponse'+    { licenses =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | License details.+listLicenseVersionsResponse_licenses :: Lens.Lens' ListLicenseVersionsResponse (Prelude.Maybe [License])+listLicenseVersionsResponse_licenses = Lens.lens (\ListLicenseVersionsResponse' {licenses} -> licenses) (\s@ListLicenseVersionsResponse' {} a -> s {licenses = a} :: ListLicenseVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listLicenseVersionsResponse_nextToken :: Lens.Lens' ListLicenseVersionsResponse (Prelude.Maybe Prelude.Text)+listLicenseVersionsResponse_nextToken = Lens.lens (\ListLicenseVersionsResponse' {nextToken} -> nextToken) (\s@ListLicenseVersionsResponse' {} a -> s {nextToken = a} :: ListLicenseVersionsResponse)++-- | The response's http status code.+listLicenseVersionsResponse_httpStatus :: Lens.Lens' ListLicenseVersionsResponse Prelude.Int+listLicenseVersionsResponse_httpStatus = Lens.lens (\ListLicenseVersionsResponse' {httpStatus} -> httpStatus) (\s@ListLicenseVersionsResponse' {} a -> s {httpStatus = a} :: ListLicenseVersionsResponse)++instance Prelude.NFData ListLicenseVersionsResponse where+  rnf ListLicenseVersionsResponse' {..} =+    Prelude.rnf licenses+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListLicenses.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.ListLicenses+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the licenses for your account.+module Amazonka.LicenseManager.ListLicenses+  ( -- * Creating a Request+    ListLicenses (..),+    newListLicenses,++    -- * Request Lenses+    listLicenses_filters,+    listLicenses_licenseArns,+    listLicenses_maxResults,+    listLicenses_nextToken,++    -- * Destructuring the Response+    ListLicensesResponse (..),+    newListLicensesResponse,++    -- * Response Lenses+    listLicensesResponse_licenses,+    listLicensesResponse_nextToken,+    listLicensesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLicenses' smart constructor.+data ListLicenses = ListLicenses'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @Beneficiary@+    --+    -- -   @ProductSKU@+    --+    -- -   @Fingerprint@+    --+    -- -   @Status@+    filters :: Prelude.Maybe [Filter],+    -- | Amazon Resource Names (ARNs) of the licenses.+    licenseArns :: Prelude.Maybe [Prelude.Text],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicenses' 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:+--+-- 'filters', 'listLicenses_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @Beneficiary@+--+-- -   @ProductSKU@+--+-- -   @Fingerprint@+--+-- -   @Status@+--+-- 'licenseArns', 'listLicenses_licenseArns' - Amazon Resource Names (ARNs) of the licenses.+--+-- 'maxResults', 'listLicenses_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listLicenses_nextToken' - Token for the next set of results.+newListLicenses ::+  ListLicenses+newListLicenses =+  ListLicenses'+    { filters = Prelude.Nothing,+      licenseArns = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @Beneficiary@+--+-- -   @ProductSKU@+--+-- -   @Fingerprint@+--+-- -   @Status@+listLicenses_filters :: Lens.Lens' ListLicenses (Prelude.Maybe [Filter])+listLicenses_filters = Lens.lens (\ListLicenses' {filters} -> filters) (\s@ListLicenses' {} a -> s {filters = a} :: ListLicenses) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARNs) of the licenses.+listLicenses_licenseArns :: Lens.Lens' ListLicenses (Prelude.Maybe [Prelude.Text])+listLicenses_licenseArns = Lens.lens (\ListLicenses' {licenseArns} -> licenseArns) (\s@ListLicenses' {} a -> s {licenseArns = a} :: ListLicenses) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listLicenses_maxResults :: Lens.Lens' ListLicenses (Prelude.Maybe Prelude.Natural)+listLicenses_maxResults = Lens.lens (\ListLicenses' {maxResults} -> maxResults) (\s@ListLicenses' {} a -> s {maxResults = a} :: ListLicenses)++-- | Token for the next set of results.+listLicenses_nextToken :: Lens.Lens' ListLicenses (Prelude.Maybe Prelude.Text)+listLicenses_nextToken = Lens.lens (\ListLicenses' {nextToken} -> nextToken) (\s@ListLicenses' {} a -> s {nextToken = a} :: ListLicenses)++instance Core.AWSRequest ListLicenses where+  type AWSResponse ListLicenses = ListLicensesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLicensesResponse'+            Prelude.<$> (x Data..?> "Licenses" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLicenses where+  hashWithSalt _salt ListLicenses' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` licenseArns+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLicenses where+  rnf ListLicenses' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf licenseArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLicenses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListLicenses" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLicenses where+  toJSON ListLicenses' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("LicenseArns" Data..=) Prelude.<$> licenseArns,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListLicenses where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLicenses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLicensesResponse' smart constructor.+data ListLicensesResponse = ListLicensesResponse'+  { -- | License details.+    licenses :: Prelude.Maybe [License],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLicensesResponse' 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:+--+-- 'licenses', 'listLicensesResponse_licenses' - License details.+--+-- 'nextToken', 'listLicensesResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listLicensesResponse_httpStatus' - The response's http status code.+newListLicensesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLicensesResponse+newListLicensesResponse pHttpStatus_ =+  ListLicensesResponse'+    { licenses = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | License details.+listLicensesResponse_licenses :: Lens.Lens' ListLicensesResponse (Prelude.Maybe [License])+listLicensesResponse_licenses = Lens.lens (\ListLicensesResponse' {licenses} -> licenses) (\s@ListLicensesResponse' {} a -> s {licenses = a} :: ListLicensesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listLicensesResponse_nextToken :: Lens.Lens' ListLicensesResponse (Prelude.Maybe Prelude.Text)+listLicensesResponse_nextToken = Lens.lens (\ListLicensesResponse' {nextToken} -> nextToken) (\s@ListLicensesResponse' {} a -> s {nextToken = a} :: ListLicensesResponse)++-- | The response's http status code.+listLicensesResponse_httpStatus :: Lens.Lens' ListLicensesResponse Prelude.Int+listLicensesResponse_httpStatus = Lens.lens (\ListLicensesResponse' {httpStatus} -> httpStatus) (\s@ListLicensesResponse' {} a -> s {httpStatus = a} :: ListLicensesResponse)++instance Prelude.NFData ListLicensesResponse where+  rnf ListLicensesResponse' {..} =+    Prelude.rnf licenses+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListReceivedGrants.hs view
@@ -0,0 +1,252 @@+{-# 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.LicenseManager.ListReceivedGrants+-- 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 grants that are received but not accepted.+module Amazonka.LicenseManager.ListReceivedGrants+  ( -- * Creating a Request+    ListReceivedGrants (..),+    newListReceivedGrants,++    -- * Request Lenses+    listReceivedGrants_filters,+    listReceivedGrants_grantArns,+    listReceivedGrants_maxResults,+    listReceivedGrants_nextToken,++    -- * Destructuring the Response+    ListReceivedGrantsResponse (..),+    newListReceivedGrantsResponse,++    -- * Response Lenses+    listReceivedGrantsResponse_grants,+    listReceivedGrantsResponse_nextToken,+    listReceivedGrantsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListReceivedGrants' smart constructor.+data ListReceivedGrants = ListReceivedGrants'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @ProductSKU@+    --+    -- -   @LicenseIssuerName@+    --+    -- -   @LicenseArn@+    --+    -- -   @GrantStatus@+    --+    -- -   @GranterAccountId@+    filters :: Prelude.Maybe [Filter],+    -- | Amazon Resource Names (ARNs) of the grants.+    grantArns :: Prelude.Maybe [Prelude.Text],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedGrants' 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:+--+-- 'filters', 'listReceivedGrants_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @ProductSKU@+--+-- -   @LicenseIssuerName@+--+-- -   @LicenseArn@+--+-- -   @GrantStatus@+--+-- -   @GranterAccountId@+--+-- 'grantArns', 'listReceivedGrants_grantArns' - Amazon Resource Names (ARNs) of the grants.+--+-- 'maxResults', 'listReceivedGrants_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listReceivedGrants_nextToken' - Token for the next set of results.+newListReceivedGrants ::+  ListReceivedGrants+newListReceivedGrants =+  ListReceivedGrants'+    { filters = Prelude.Nothing,+      grantArns = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @ProductSKU@+--+-- -   @LicenseIssuerName@+--+-- -   @LicenseArn@+--+-- -   @GrantStatus@+--+-- -   @GranterAccountId@+listReceivedGrants_filters :: Lens.Lens' ListReceivedGrants (Prelude.Maybe [Filter])+listReceivedGrants_filters = Lens.lens (\ListReceivedGrants' {filters} -> filters) (\s@ListReceivedGrants' {} a -> s {filters = a} :: ListReceivedGrants) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARNs) of the grants.+listReceivedGrants_grantArns :: Lens.Lens' ListReceivedGrants (Prelude.Maybe [Prelude.Text])+listReceivedGrants_grantArns = Lens.lens (\ListReceivedGrants' {grantArns} -> grantArns) (\s@ListReceivedGrants' {} a -> s {grantArns = a} :: ListReceivedGrants) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listReceivedGrants_maxResults :: Lens.Lens' ListReceivedGrants (Prelude.Maybe Prelude.Natural)+listReceivedGrants_maxResults = Lens.lens (\ListReceivedGrants' {maxResults} -> maxResults) (\s@ListReceivedGrants' {} a -> s {maxResults = a} :: ListReceivedGrants)++-- | Token for the next set of results.+listReceivedGrants_nextToken :: Lens.Lens' ListReceivedGrants (Prelude.Maybe Prelude.Text)+listReceivedGrants_nextToken = Lens.lens (\ListReceivedGrants' {nextToken} -> nextToken) (\s@ListReceivedGrants' {} a -> s {nextToken = a} :: ListReceivedGrants)++instance Core.AWSRequest ListReceivedGrants where+  type+    AWSResponse ListReceivedGrants =+      ListReceivedGrantsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReceivedGrantsResponse'+            Prelude.<$> (x Data..?> "Grants" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListReceivedGrants where+  hashWithSalt _salt ListReceivedGrants' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` grantArns+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListReceivedGrants where+  rnf ListReceivedGrants' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf grantArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListReceivedGrants where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListReceivedGrants" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListReceivedGrants where+  toJSON ListReceivedGrants' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("GrantArns" Data..=) Prelude.<$> grantArns,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListReceivedGrants where+  toPath = Prelude.const "/"++instance Data.ToQuery ListReceivedGrants where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListReceivedGrantsResponse' smart constructor.+data ListReceivedGrantsResponse = ListReceivedGrantsResponse'+  { -- | Received grant details.+    grants :: Prelude.Maybe [Grant],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedGrantsResponse' 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:+--+-- 'grants', 'listReceivedGrantsResponse_grants' - Received grant details.+--+-- 'nextToken', 'listReceivedGrantsResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listReceivedGrantsResponse_httpStatus' - The response's http status code.+newListReceivedGrantsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReceivedGrantsResponse+newListReceivedGrantsResponse pHttpStatus_ =+  ListReceivedGrantsResponse'+    { grants =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Received grant details.+listReceivedGrantsResponse_grants :: Lens.Lens' ListReceivedGrantsResponse (Prelude.Maybe [Grant])+listReceivedGrantsResponse_grants = Lens.lens (\ListReceivedGrantsResponse' {grants} -> grants) (\s@ListReceivedGrantsResponse' {} a -> s {grants = a} :: ListReceivedGrantsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listReceivedGrantsResponse_nextToken :: Lens.Lens' ListReceivedGrantsResponse (Prelude.Maybe Prelude.Text)+listReceivedGrantsResponse_nextToken = Lens.lens (\ListReceivedGrantsResponse' {nextToken} -> nextToken) (\s@ListReceivedGrantsResponse' {} a -> s {nextToken = a} :: ListReceivedGrantsResponse)++-- | The response's http status code.+listReceivedGrantsResponse_httpStatus :: Lens.Lens' ListReceivedGrantsResponse Prelude.Int+listReceivedGrantsResponse_httpStatus = Lens.lens (\ListReceivedGrantsResponse' {httpStatus} -> httpStatus) (\s@ListReceivedGrantsResponse' {} a -> s {httpStatus = a} :: ListReceivedGrantsResponse)++instance Prelude.NFData ListReceivedGrantsResponse where+  rnf ListReceivedGrantsResponse' {..} =+    Prelude.rnf grants+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListReceivedGrantsForOrganization.hs view
@@ -0,0 +1,264 @@+{-# 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.LicenseManager.ListReceivedGrantsForOrganization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the grants received for all accounts in the organization.+module Amazonka.LicenseManager.ListReceivedGrantsForOrganization+  ( -- * Creating a Request+    ListReceivedGrantsForOrganization (..),+    newListReceivedGrantsForOrganization,++    -- * Request Lenses+    listReceivedGrantsForOrganization_filters,+    listReceivedGrantsForOrganization_maxResults,+    listReceivedGrantsForOrganization_nextToken,+    listReceivedGrantsForOrganization_licenseArn,++    -- * Destructuring the Response+    ListReceivedGrantsForOrganizationResponse (..),+    newListReceivedGrantsForOrganizationResponse,++    -- * Response Lenses+    listReceivedGrantsForOrganizationResponse_grants,+    listReceivedGrantsForOrganizationResponse_nextToken,+    listReceivedGrantsForOrganizationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListReceivedGrantsForOrganization' smart constructor.+data ListReceivedGrantsForOrganization = ListReceivedGrantsForOrganization'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @ParentArn@+    --+    -- -   @GranteePrincipalArn@+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the received license.+    licenseArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedGrantsForOrganization' 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:+--+-- 'filters', 'listReceivedGrantsForOrganization_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @ParentArn@+--+-- -   @GranteePrincipalArn@+--+-- 'maxResults', 'listReceivedGrantsForOrganization_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listReceivedGrantsForOrganization_nextToken' - Token for the next set of results.+--+-- 'licenseArn', 'listReceivedGrantsForOrganization_licenseArn' - The Amazon Resource Name (ARN) of the received license.+newListReceivedGrantsForOrganization ::+  -- | 'licenseArn'+  Prelude.Text ->+  ListReceivedGrantsForOrganization+newListReceivedGrantsForOrganization pLicenseArn_ =+  ListReceivedGrantsForOrganization'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      licenseArn = pLicenseArn_+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @ParentArn@+--+-- -   @GranteePrincipalArn@+listReceivedGrantsForOrganization_filters :: Lens.Lens' ListReceivedGrantsForOrganization (Prelude.Maybe [Filter])+listReceivedGrantsForOrganization_filters = Lens.lens (\ListReceivedGrantsForOrganization' {filters} -> filters) (\s@ListReceivedGrantsForOrganization' {} a -> s {filters = a} :: ListReceivedGrantsForOrganization) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listReceivedGrantsForOrganization_maxResults :: Lens.Lens' ListReceivedGrantsForOrganization (Prelude.Maybe Prelude.Natural)+listReceivedGrantsForOrganization_maxResults = Lens.lens (\ListReceivedGrantsForOrganization' {maxResults} -> maxResults) (\s@ListReceivedGrantsForOrganization' {} a -> s {maxResults = a} :: ListReceivedGrantsForOrganization)++-- | Token for the next set of results.+listReceivedGrantsForOrganization_nextToken :: Lens.Lens' ListReceivedGrantsForOrganization (Prelude.Maybe Prelude.Text)+listReceivedGrantsForOrganization_nextToken = Lens.lens (\ListReceivedGrantsForOrganization' {nextToken} -> nextToken) (\s@ListReceivedGrantsForOrganization' {} a -> s {nextToken = a} :: ListReceivedGrantsForOrganization)++-- | The Amazon Resource Name (ARN) of the received license.+listReceivedGrantsForOrganization_licenseArn :: Lens.Lens' ListReceivedGrantsForOrganization Prelude.Text+listReceivedGrantsForOrganization_licenseArn = Lens.lens (\ListReceivedGrantsForOrganization' {licenseArn} -> licenseArn) (\s@ListReceivedGrantsForOrganization' {} a -> s {licenseArn = a} :: ListReceivedGrantsForOrganization)++instance+  Core.AWSRequest+    ListReceivedGrantsForOrganization+  where+  type+    AWSResponse ListReceivedGrantsForOrganization =+      ListReceivedGrantsForOrganizationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReceivedGrantsForOrganizationResponse'+            Prelude.<$> (x Data..?> "Grants" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListReceivedGrantsForOrganization+  where+  hashWithSalt+    _salt+    ListReceivedGrantsForOrganization' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` licenseArn++instance+  Prelude.NFData+    ListReceivedGrantsForOrganization+  where+  rnf ListReceivedGrantsForOrganization' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf licenseArn++instance+  Data.ToHeaders+    ListReceivedGrantsForOrganization+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListReceivedGrantsForOrganization" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListReceivedGrantsForOrganization+  where+  toJSON ListReceivedGrantsForOrganization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("LicenseArn" Data..= licenseArn)+          ]+      )++instance+  Data.ToPath+    ListReceivedGrantsForOrganization+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListReceivedGrantsForOrganization+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListReceivedGrantsForOrganizationResponse' smart constructor.+data ListReceivedGrantsForOrganizationResponse = ListReceivedGrantsForOrganizationResponse'+  { -- | Lists the grants the organization has received.+    grants :: Prelude.Maybe [Grant],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedGrantsForOrganizationResponse' 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:+--+-- 'grants', 'listReceivedGrantsForOrganizationResponse_grants' - Lists the grants the organization has received.+--+-- 'nextToken', 'listReceivedGrantsForOrganizationResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listReceivedGrantsForOrganizationResponse_httpStatus' - The response's http status code.+newListReceivedGrantsForOrganizationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReceivedGrantsForOrganizationResponse+newListReceivedGrantsForOrganizationResponse+  pHttpStatus_ =+    ListReceivedGrantsForOrganizationResponse'+      { grants =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Lists the grants the organization has received.+listReceivedGrantsForOrganizationResponse_grants :: Lens.Lens' ListReceivedGrantsForOrganizationResponse (Prelude.Maybe [Grant])+listReceivedGrantsForOrganizationResponse_grants = Lens.lens (\ListReceivedGrantsForOrganizationResponse' {grants} -> grants) (\s@ListReceivedGrantsForOrganizationResponse' {} a -> s {grants = a} :: ListReceivedGrantsForOrganizationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listReceivedGrantsForOrganizationResponse_nextToken :: Lens.Lens' ListReceivedGrantsForOrganizationResponse (Prelude.Maybe Prelude.Text)+listReceivedGrantsForOrganizationResponse_nextToken = Lens.lens (\ListReceivedGrantsForOrganizationResponse' {nextToken} -> nextToken) (\s@ListReceivedGrantsForOrganizationResponse' {} a -> s {nextToken = a} :: ListReceivedGrantsForOrganizationResponse)++-- | The response's http status code.+listReceivedGrantsForOrganizationResponse_httpStatus :: Lens.Lens' ListReceivedGrantsForOrganizationResponse Prelude.Int+listReceivedGrantsForOrganizationResponse_httpStatus = Lens.lens (\ListReceivedGrantsForOrganizationResponse' {httpStatus} -> httpStatus) (\s@ListReceivedGrantsForOrganizationResponse' {} a -> s {httpStatus = a} :: ListReceivedGrantsForOrganizationResponse)++instance+  Prelude.NFData+    ListReceivedGrantsForOrganizationResponse+  where+  rnf ListReceivedGrantsForOrganizationResponse' {..} =+    Prelude.rnf grants+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListReceivedLicenses.hs view
@@ -0,0 +1,252 @@+{-# 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.LicenseManager.ListReceivedLicenses+-- 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 received licenses.+module Amazonka.LicenseManager.ListReceivedLicenses+  ( -- * Creating a Request+    ListReceivedLicenses (..),+    newListReceivedLicenses,++    -- * Request Lenses+    listReceivedLicenses_filters,+    listReceivedLicenses_licenseArns,+    listReceivedLicenses_maxResults,+    listReceivedLicenses_nextToken,++    -- * Destructuring the Response+    ListReceivedLicensesResponse (..),+    newListReceivedLicensesResponse,++    -- * Response Lenses+    listReceivedLicensesResponse_licenses,+    listReceivedLicensesResponse_nextToken,+    listReceivedLicensesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListReceivedLicenses' smart constructor.+data ListReceivedLicenses = ListReceivedLicenses'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @ProductSKU@+    --+    -- -   @Status@+    --+    -- -   @Fingerprint@+    --+    -- -   @IssuerName@+    --+    -- -   @Beneficiary@+    filters :: Prelude.Maybe [Filter],+    -- | Amazon Resource Names (ARNs) of the licenses.+    licenseArns :: Prelude.Maybe [Prelude.Text],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedLicenses' 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:+--+-- 'filters', 'listReceivedLicenses_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @ProductSKU@+--+-- -   @Status@+--+-- -   @Fingerprint@+--+-- -   @IssuerName@+--+-- -   @Beneficiary@+--+-- 'licenseArns', 'listReceivedLicenses_licenseArns' - Amazon Resource Names (ARNs) of the licenses.+--+-- 'maxResults', 'listReceivedLicenses_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listReceivedLicenses_nextToken' - Token for the next set of results.+newListReceivedLicenses ::+  ListReceivedLicenses+newListReceivedLicenses =+  ListReceivedLicenses'+    { filters = Prelude.Nothing,+      licenseArns = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @ProductSKU@+--+-- -   @Status@+--+-- -   @Fingerprint@+--+-- -   @IssuerName@+--+-- -   @Beneficiary@+listReceivedLicenses_filters :: Lens.Lens' ListReceivedLicenses (Prelude.Maybe [Filter])+listReceivedLicenses_filters = Lens.lens (\ListReceivedLicenses' {filters} -> filters) (\s@ListReceivedLicenses' {} a -> s {filters = a} :: ListReceivedLicenses) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARNs) of the licenses.+listReceivedLicenses_licenseArns :: Lens.Lens' ListReceivedLicenses (Prelude.Maybe [Prelude.Text])+listReceivedLicenses_licenseArns = Lens.lens (\ListReceivedLicenses' {licenseArns} -> licenseArns) (\s@ListReceivedLicenses' {} a -> s {licenseArns = a} :: ListReceivedLicenses) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listReceivedLicenses_maxResults :: Lens.Lens' ListReceivedLicenses (Prelude.Maybe Prelude.Natural)+listReceivedLicenses_maxResults = Lens.lens (\ListReceivedLicenses' {maxResults} -> maxResults) (\s@ListReceivedLicenses' {} a -> s {maxResults = a} :: ListReceivedLicenses)++-- | Token for the next set of results.+listReceivedLicenses_nextToken :: Lens.Lens' ListReceivedLicenses (Prelude.Maybe Prelude.Text)+listReceivedLicenses_nextToken = Lens.lens (\ListReceivedLicenses' {nextToken} -> nextToken) (\s@ListReceivedLicenses' {} a -> s {nextToken = a} :: ListReceivedLicenses)++instance Core.AWSRequest ListReceivedLicenses where+  type+    AWSResponse ListReceivedLicenses =+      ListReceivedLicensesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReceivedLicensesResponse'+            Prelude.<$> (x Data..?> "Licenses" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListReceivedLicenses where+  hashWithSalt _salt ListReceivedLicenses' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` licenseArns+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListReceivedLicenses where+  rnf ListReceivedLicenses' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf licenseArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListReceivedLicenses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListReceivedLicenses" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListReceivedLicenses where+  toJSON ListReceivedLicenses' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("LicenseArns" Data..=) Prelude.<$> licenseArns,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListReceivedLicenses where+  toPath = Prelude.const "/"++instance Data.ToQuery ListReceivedLicenses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListReceivedLicensesResponse' smart constructor.+data ListReceivedLicensesResponse = ListReceivedLicensesResponse'+  { -- | Received license details.+    licenses :: Prelude.Maybe [GrantedLicense],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedLicensesResponse' 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:+--+-- 'licenses', 'listReceivedLicensesResponse_licenses' - Received license details.+--+-- 'nextToken', 'listReceivedLicensesResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listReceivedLicensesResponse_httpStatus' - The response's http status code.+newListReceivedLicensesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReceivedLicensesResponse+newListReceivedLicensesResponse pHttpStatus_ =+  ListReceivedLicensesResponse'+    { licenses =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Received license details.+listReceivedLicensesResponse_licenses :: Lens.Lens' ListReceivedLicensesResponse (Prelude.Maybe [GrantedLicense])+listReceivedLicensesResponse_licenses = Lens.lens (\ListReceivedLicensesResponse' {licenses} -> licenses) (\s@ListReceivedLicensesResponse' {} a -> s {licenses = a} :: ListReceivedLicensesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listReceivedLicensesResponse_nextToken :: Lens.Lens' ListReceivedLicensesResponse (Prelude.Maybe Prelude.Text)+listReceivedLicensesResponse_nextToken = Lens.lens (\ListReceivedLicensesResponse' {nextToken} -> nextToken) (\s@ListReceivedLicensesResponse' {} a -> s {nextToken = a} :: ListReceivedLicensesResponse)++-- | The response's http status code.+listReceivedLicensesResponse_httpStatus :: Lens.Lens' ListReceivedLicensesResponse Prelude.Int+listReceivedLicensesResponse_httpStatus = Lens.lens (\ListReceivedLicensesResponse' {httpStatus} -> httpStatus) (\s@ListReceivedLicensesResponse' {} a -> s {httpStatus = a} :: ListReceivedLicensesResponse)++instance Prelude.NFData ListReceivedLicensesResponse where+  rnf ListReceivedLicensesResponse' {..} =+    Prelude.rnf licenses+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListReceivedLicensesForOrganization.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.ListReceivedLicensesForOrganization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the licenses received for all accounts in the organization.+module Amazonka.LicenseManager.ListReceivedLicensesForOrganization+  ( -- * Creating a Request+    ListReceivedLicensesForOrganization (..),+    newListReceivedLicensesForOrganization,++    -- * Request Lenses+    listReceivedLicensesForOrganization_filters,+    listReceivedLicensesForOrganization_maxResults,+    listReceivedLicensesForOrganization_nextToken,++    -- * Destructuring the Response+    ListReceivedLicensesForOrganizationResponse (..),+    newListReceivedLicensesForOrganizationResponse,++    -- * Response Lenses+    listReceivedLicensesForOrganizationResponse_licenses,+    listReceivedLicensesForOrganizationResponse_nextToken,+    listReceivedLicensesForOrganizationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListReceivedLicensesForOrganization' smart constructor.+data ListReceivedLicensesForOrganization = ListReceivedLicensesForOrganization'+  { -- | Filters to scope the results. The following filters are supported:+    --+    -- -   @Beneficiary@+    --+    -- -   @ProductSKU@+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedLicensesForOrganization' 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:+--+-- 'filters', 'listReceivedLicensesForOrganization_filters' - Filters to scope the results. The following filters are supported:+--+-- -   @Beneficiary@+--+-- -   @ProductSKU@+--+-- 'maxResults', 'listReceivedLicensesForOrganization_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listReceivedLicensesForOrganization_nextToken' - Token for the next set of results.+newListReceivedLicensesForOrganization ::+  ListReceivedLicensesForOrganization+newListReceivedLicensesForOrganization =+  ListReceivedLicensesForOrganization'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters are supported:+--+-- -   @Beneficiary@+--+-- -   @ProductSKU@+listReceivedLicensesForOrganization_filters :: Lens.Lens' ListReceivedLicensesForOrganization (Prelude.Maybe [Filter])+listReceivedLicensesForOrganization_filters = Lens.lens (\ListReceivedLicensesForOrganization' {filters} -> filters) (\s@ListReceivedLicensesForOrganization' {} a -> s {filters = a} :: ListReceivedLicensesForOrganization) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listReceivedLicensesForOrganization_maxResults :: Lens.Lens' ListReceivedLicensesForOrganization (Prelude.Maybe Prelude.Natural)+listReceivedLicensesForOrganization_maxResults = Lens.lens (\ListReceivedLicensesForOrganization' {maxResults} -> maxResults) (\s@ListReceivedLicensesForOrganization' {} a -> s {maxResults = a} :: ListReceivedLicensesForOrganization)++-- | Token for the next set of results.+listReceivedLicensesForOrganization_nextToken :: Lens.Lens' ListReceivedLicensesForOrganization (Prelude.Maybe Prelude.Text)+listReceivedLicensesForOrganization_nextToken = Lens.lens (\ListReceivedLicensesForOrganization' {nextToken} -> nextToken) (\s@ListReceivedLicensesForOrganization' {} a -> s {nextToken = a} :: ListReceivedLicensesForOrganization)++instance+  Core.AWSRequest+    ListReceivedLicensesForOrganization+  where+  type+    AWSResponse ListReceivedLicensesForOrganization =+      ListReceivedLicensesForOrganizationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReceivedLicensesForOrganizationResponse'+            Prelude.<$> (x Data..?> "Licenses" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListReceivedLicensesForOrganization+  where+  hashWithSalt+    _salt+    ListReceivedLicensesForOrganization' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListReceivedLicensesForOrganization+  where+  rnf ListReceivedLicensesForOrganization' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListReceivedLicensesForOrganization+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListReceivedLicensesForOrganization" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    ListReceivedLicensesForOrganization+  where+  toJSON ListReceivedLicensesForOrganization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance+  Data.ToPath+    ListReceivedLicensesForOrganization+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListReceivedLicensesForOrganization+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListReceivedLicensesForOrganizationResponse' smart constructor.+data ListReceivedLicensesForOrganizationResponse = ListReceivedLicensesForOrganizationResponse'+  { -- | Lists the licenses the organization has received.+    licenses :: Prelude.Maybe [GrantedLicense],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReceivedLicensesForOrganizationResponse' 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:+--+-- 'licenses', 'listReceivedLicensesForOrganizationResponse_licenses' - Lists the licenses the organization has received.+--+-- 'nextToken', 'listReceivedLicensesForOrganizationResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listReceivedLicensesForOrganizationResponse_httpStatus' - The response's http status code.+newListReceivedLicensesForOrganizationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReceivedLicensesForOrganizationResponse+newListReceivedLicensesForOrganizationResponse+  pHttpStatus_ =+    ListReceivedLicensesForOrganizationResponse'+      { licenses =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Lists the licenses the organization has received.+listReceivedLicensesForOrganizationResponse_licenses :: Lens.Lens' ListReceivedLicensesForOrganizationResponse (Prelude.Maybe [GrantedLicense])+listReceivedLicensesForOrganizationResponse_licenses = Lens.lens (\ListReceivedLicensesForOrganizationResponse' {licenses} -> licenses) (\s@ListReceivedLicensesForOrganizationResponse' {} a -> s {licenses = a} :: ListReceivedLicensesForOrganizationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listReceivedLicensesForOrganizationResponse_nextToken :: Lens.Lens' ListReceivedLicensesForOrganizationResponse (Prelude.Maybe Prelude.Text)+listReceivedLicensesForOrganizationResponse_nextToken = Lens.lens (\ListReceivedLicensesForOrganizationResponse' {nextToken} -> nextToken) (\s@ListReceivedLicensesForOrganizationResponse' {} a -> s {nextToken = a} :: ListReceivedLicensesForOrganizationResponse)++-- | The response's http status code.+listReceivedLicensesForOrganizationResponse_httpStatus :: Lens.Lens' ListReceivedLicensesForOrganizationResponse Prelude.Int+listReceivedLicensesForOrganizationResponse_httpStatus = Lens.lens (\ListReceivedLicensesForOrganizationResponse' {httpStatus} -> httpStatus) (\s@ListReceivedLicensesForOrganizationResponse' {} a -> s {httpStatus = a} :: ListReceivedLicensesForOrganizationResponse)++instance+  Prelude.NFData+    ListReceivedLicensesForOrganizationResponse+  where+  rnf ListReceivedLicensesForOrganizationResponse' {..} =+    Prelude.rnf licenses+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListResourceInventory.hs view
@@ -0,0 +1,302 @@+{-# 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.LicenseManager.ListResourceInventory+-- 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 resources managed using Systems Manager inventory.+--+-- This operation returns paginated results.+module Amazonka.LicenseManager.ListResourceInventory+  ( -- * Creating a Request+    ListResourceInventory (..),+    newListResourceInventory,++    -- * Request Lenses+    listResourceInventory_filters,+    listResourceInventory_maxResults,+    listResourceInventory_nextToken,++    -- * Destructuring the Response+    ListResourceInventoryResponse (..),+    newListResourceInventoryResponse,++    -- * Response Lenses+    listResourceInventoryResponse_nextToken,+    listResourceInventoryResponse_resourceInventoryList,+    listResourceInventoryResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourceInventory' smart constructor.+data ListResourceInventory = ListResourceInventory'+  { -- | Filters to scope the results. The following filters and logical+    -- operators are supported:+    --+    -- -   @account_id@ - The ID of the Amazon Web Services account that owns+    --     the resource. Logical operators are @EQUALS@ | @NOT_EQUALS@.+    --+    -- -   @application_name@ - The name of the application. Logical operators+    --     are @EQUALS@ | @BEGINS_WITH@.+    --+    -- -   @license_included@ - The type of license included. Logical operators+    --     are @EQUALS@ | @NOT_EQUALS@. Possible values are+    --     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+    --     @windows-server-datacenter@.+    --+    -- -   @platform@ - The platform of the resource. Logical operators are+    --     @EQUALS@ | @BEGINS_WITH@.+    --+    -- -   @resource_id@ - The ID of the resource. Logical operators are+    --     @EQUALS@ | @NOT_EQUALS@.+    --+    -- -   @tag:\<key>@ - The key\/value combination of a tag assigned to the+    --     resource. Logical operators are @EQUALS@ (single account) or+    --     @EQUALS@ | @NOT_EQUALS@ (cross account).+    filters :: Prelude.Maybe [InventoryFilter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceInventory' 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:+--+-- 'filters', 'listResourceInventory_filters' - Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @account_id@ - The ID of the Amazon Web Services account that owns+--     the resource. Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @application_name@ - The name of the application. Logical operators+--     are @EQUALS@ | @BEGINS_WITH@.+--+-- -   @license_included@ - The type of license included. Logical operators+--     are @EQUALS@ | @NOT_EQUALS@. Possible values are+--     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+--     @windows-server-datacenter@.+--+-- -   @platform@ - The platform of the resource. Logical operators are+--     @EQUALS@ | @BEGINS_WITH@.+--+-- -   @resource_id@ - The ID of the resource. Logical operators are+--     @EQUALS@ | @NOT_EQUALS@.+--+-- -   @tag:\<key>@ - The key\/value combination of a tag assigned to the+--     resource. Logical operators are @EQUALS@ (single account) or+--     @EQUALS@ | @NOT_EQUALS@ (cross account).+--+-- 'maxResults', 'listResourceInventory_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listResourceInventory_nextToken' - Token for the next set of results.+newListResourceInventory ::+  ListResourceInventory+newListResourceInventory =+  ListResourceInventory'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @account_id@ - The ID of the Amazon Web Services account that owns+--     the resource. Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @application_name@ - The name of the application. Logical operators+--     are @EQUALS@ | @BEGINS_WITH@.+--+-- -   @license_included@ - The type of license included. Logical operators+--     are @EQUALS@ | @NOT_EQUALS@. Possible values are+--     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+--     @windows-server-datacenter@.+--+-- -   @platform@ - The platform of the resource. Logical operators are+--     @EQUALS@ | @BEGINS_WITH@.+--+-- -   @resource_id@ - The ID of the resource. Logical operators are+--     @EQUALS@ | @NOT_EQUALS@.+--+-- -   @tag:\<key>@ - The key\/value combination of a tag assigned to the+--     resource. Logical operators are @EQUALS@ (single account) or+--     @EQUALS@ | @NOT_EQUALS@ (cross account).+listResourceInventory_filters :: Lens.Lens' ListResourceInventory (Prelude.Maybe [InventoryFilter])+listResourceInventory_filters = Lens.lens (\ListResourceInventory' {filters} -> filters) (\s@ListResourceInventory' {} a -> s {filters = a} :: ListResourceInventory) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listResourceInventory_maxResults :: Lens.Lens' ListResourceInventory (Prelude.Maybe Prelude.Int)+listResourceInventory_maxResults = Lens.lens (\ListResourceInventory' {maxResults} -> maxResults) (\s@ListResourceInventory' {} a -> s {maxResults = a} :: ListResourceInventory)++-- | Token for the next set of results.+listResourceInventory_nextToken :: Lens.Lens' ListResourceInventory (Prelude.Maybe Prelude.Text)+listResourceInventory_nextToken = Lens.lens (\ListResourceInventory' {nextToken} -> nextToken) (\s@ListResourceInventory' {} a -> s {nextToken = a} :: ListResourceInventory)++instance Core.AWSPager ListResourceInventory where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listResourceInventoryResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listResourceInventoryResponse_resourceInventoryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listResourceInventory_nextToken+          Lens..~ rs+          Lens.^? listResourceInventoryResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListResourceInventory where+  type+    AWSResponse ListResourceInventory =+      ListResourceInventoryResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListResourceInventoryResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ResourceInventoryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListResourceInventory where+  hashWithSalt _salt ListResourceInventory' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResourceInventory where+  rnf ListResourceInventory' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResourceInventory where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListResourceInventory" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListResourceInventory where+  toJSON ListResourceInventory' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListResourceInventory where+  toPath = Prelude.const "/"++instance Data.ToQuery ListResourceInventory where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResourceInventoryResponse' smart constructor.+data ListResourceInventoryResponse = ListResourceInventoryResponse'+  { -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Information about the resources.+    resourceInventoryList :: Prelude.Maybe [ResourceInventory],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceInventoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listResourceInventoryResponse_nextToken' - Token for the next set of results.+--+-- 'resourceInventoryList', 'listResourceInventoryResponse_resourceInventoryList' - Information about the resources.+--+-- 'httpStatus', 'listResourceInventoryResponse_httpStatus' - The response's http status code.+newListResourceInventoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListResourceInventoryResponse+newListResourceInventoryResponse pHttpStatus_ =+  ListResourceInventoryResponse'+    { nextToken =+        Prelude.Nothing,+      resourceInventoryList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Token for the next set of results.+listResourceInventoryResponse_nextToken :: Lens.Lens' ListResourceInventoryResponse (Prelude.Maybe Prelude.Text)+listResourceInventoryResponse_nextToken = Lens.lens (\ListResourceInventoryResponse' {nextToken} -> nextToken) (\s@ListResourceInventoryResponse' {} a -> s {nextToken = a} :: ListResourceInventoryResponse)++-- | Information about the resources.+listResourceInventoryResponse_resourceInventoryList :: Lens.Lens' ListResourceInventoryResponse (Prelude.Maybe [ResourceInventory])+listResourceInventoryResponse_resourceInventoryList = Lens.lens (\ListResourceInventoryResponse' {resourceInventoryList} -> resourceInventoryList) (\s@ListResourceInventoryResponse' {} a -> s {resourceInventoryList = a} :: ListResourceInventoryResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResourceInventoryResponse_httpStatus :: Lens.Lens' ListResourceInventoryResponse Prelude.Int+listResourceInventoryResponse_httpStatus = Lens.lens (\ListResourceInventoryResponse' {httpStatus} -> httpStatus) (\s@ListResourceInventoryResponse' {} a -> s {httpStatus = a} :: ListResourceInventoryResponse)++instance Prelude.NFData ListResourceInventoryResponse where+  rnf ListResourceInventoryResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceInventoryList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListTagsForResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags for the specified license configuration.+module Amazonka.LicenseManager.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.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'+  { -- | Amazon Resource Name (ARN) of the license configuration.+    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' - Amazon Resource Name (ARN) of the license configuration.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | Amazon Resource Name (ARN) of the license configuration.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListTagsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | Information about the tags.+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - Information about the tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the tags.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListTokens.hs view
@@ -0,0 +1,225 @@+{-# 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.LicenseManager.ListTokens+-- 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 your tokens.+module Amazonka.LicenseManager.ListTokens+  ( -- * Creating a Request+    ListTokens (..),+    newListTokens,++    -- * Request Lenses+    listTokens_filters,+    listTokens_maxResults,+    listTokens_nextToken,+    listTokens_tokenIds,++    -- * Destructuring the Response+    ListTokensResponse (..),+    newListTokensResponse,++    -- * Response Lenses+    listTokensResponse_nextToken,+    listTokensResponse_tokens,+    listTokensResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTokens' smart constructor.+data ListTokens = ListTokens'+  { -- | Filters to scope the results. The following filter is supported:+    --+    -- -   @LicenseArns@+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Token IDs.+    tokenIds :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTokens' 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:+--+-- 'filters', 'listTokens_filters' - Filters to scope the results. The following filter is supported:+--+-- -   @LicenseArns@+--+-- 'maxResults', 'listTokens_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listTokens_nextToken' - Token for the next set of results.+--+-- 'tokenIds', 'listTokens_tokenIds' - Token IDs.+newListTokens ::+  ListTokens+newListTokens =+  ListTokens'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      tokenIds = Prelude.Nothing+    }++-- | Filters to scope the results. The following filter is supported:+--+-- -   @LicenseArns@+listTokens_filters :: Lens.Lens' ListTokens (Prelude.Maybe [Filter])+listTokens_filters = Lens.lens (\ListTokens' {filters} -> filters) (\s@ListTokens' {} a -> s {filters = a} :: ListTokens) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listTokens_maxResults :: Lens.Lens' ListTokens (Prelude.Maybe Prelude.Natural)+listTokens_maxResults = Lens.lens (\ListTokens' {maxResults} -> maxResults) (\s@ListTokens' {} a -> s {maxResults = a} :: ListTokens)++-- | Token for the next set of results.+listTokens_nextToken :: Lens.Lens' ListTokens (Prelude.Maybe Prelude.Text)+listTokens_nextToken = Lens.lens (\ListTokens' {nextToken} -> nextToken) (\s@ListTokens' {} a -> s {nextToken = a} :: ListTokens)++-- | Token IDs.+listTokens_tokenIds :: Lens.Lens' ListTokens (Prelude.Maybe [Prelude.Text])+listTokens_tokenIds = Lens.lens (\ListTokens' {tokenIds} -> tokenIds) (\s@ListTokens' {} a -> s {tokenIds = a} :: ListTokens) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest ListTokens where+  type AWSResponse ListTokens = ListTokensResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTokensResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Tokens" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTokens where+  hashWithSalt _salt ListTokens' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` tokenIds++instance Prelude.NFData ListTokens where+  rnf ListTokens' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf tokenIds++instance Data.ToHeaders ListTokens where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListTokens" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTokens where+  toJSON ListTokens' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("TokenIds" Data..=) Prelude.<$> tokenIds+          ]+      )++instance Data.ToPath ListTokens where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTokens where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTokensResponse' smart constructor.+data ListTokensResponse = ListTokensResponse'+  { -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Received token details.+    tokens :: Prelude.Maybe [TokenData],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTokensResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTokensResponse_nextToken' - Token for the next set of results.+--+-- 'tokens', 'listTokensResponse_tokens' - Received token details.+--+-- 'httpStatus', 'listTokensResponse_httpStatus' - The response's http status code.+newListTokensResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTokensResponse+newListTokensResponse pHttpStatus_ =+  ListTokensResponse'+    { nextToken = Prelude.Nothing,+      tokens = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Token for the next set of results.+listTokensResponse_nextToken :: Lens.Lens' ListTokensResponse (Prelude.Maybe Prelude.Text)+listTokensResponse_nextToken = Lens.lens (\ListTokensResponse' {nextToken} -> nextToken) (\s@ListTokensResponse' {} a -> s {nextToken = a} :: ListTokensResponse)++-- | Received token details.+listTokensResponse_tokens :: Lens.Lens' ListTokensResponse (Prelude.Maybe [TokenData])+listTokensResponse_tokens = Lens.lens (\ListTokensResponse' {tokens} -> tokens) (\s@ListTokensResponse' {} a -> s {tokens = a} :: ListTokensResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTokensResponse_httpStatus :: Lens.Lens' ListTokensResponse Prelude.Int+listTokensResponse_httpStatus = Lens.lens (\ListTokensResponse' {httpStatus} -> httpStatus) (\s@ListTokensResponse' {} a -> s {httpStatus = a} :: ListTokensResponse)++instance Prelude.NFData ListTokensResponse where+  rnf ListTokensResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf tokens+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/ListUsageForLicenseConfiguration.hs view
@@ -0,0 +1,317 @@+{-# 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.LicenseManager.ListUsageForLicenseConfiguration+-- 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 license usage records for a license configuration, displaying+-- license consumption details by resource at a selected point in time. Use+-- this action to audit the current license consumption for any license+-- inventory and configuration.+--+-- This operation returns paginated results.+module Amazonka.LicenseManager.ListUsageForLicenseConfiguration+  ( -- * Creating a Request+    ListUsageForLicenseConfiguration (..),+    newListUsageForLicenseConfiguration,++    -- * Request Lenses+    listUsageForLicenseConfiguration_filters,+    listUsageForLicenseConfiguration_maxResults,+    listUsageForLicenseConfiguration_nextToken,+    listUsageForLicenseConfiguration_licenseConfigurationArn,++    -- * Destructuring the Response+    ListUsageForLicenseConfigurationResponse (..),+    newListUsageForLicenseConfigurationResponse,++    -- * Response Lenses+    listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList,+    listUsageForLicenseConfigurationResponse_nextToken,+    listUsageForLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUsageForLicenseConfiguration' smart constructor.+data ListUsageForLicenseConfiguration = ListUsageForLicenseConfiguration'+  { -- | Filters to scope the results. The following filters and logical+    -- operators are supported:+    --+    -- -   @resourceArn@ - The ARN of the license configuration resource.+    --     Logical operators are @EQUALS@ | @NOT_EQUALS@.+    --+    -- -   @resourceType@ - The resource type (@EC2_INSTANCE@ | @EC2_HOST@ |+    --     @EC2_AMI@ | @SYSTEMS_MANAGER_MANAGED_INSTANCE@). Logical operators+    --     are @EQUALS@ | @NOT_EQUALS@.+    --+    -- -   @resourceAccount@ - The ID of the account that owns the resource.+    --     Logical operators are @EQUALS@ | @NOT_EQUALS@.+    filters :: Prelude.Maybe [Filter],+    -- | Maximum number of results to return in a single call.+    maxResults :: Prelude.Maybe Prelude.Int,+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsageForLicenseConfiguration' 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:+--+-- 'filters', 'listUsageForLicenseConfiguration_filters' - Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @resourceArn@ - The ARN of the license configuration resource.+--     Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @resourceType@ - The resource type (@EC2_INSTANCE@ | @EC2_HOST@ |+--     @EC2_AMI@ | @SYSTEMS_MANAGER_MANAGED_INSTANCE@). Logical operators+--     are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @resourceAccount@ - The ID of the account that owns the resource.+--     Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- 'maxResults', 'listUsageForLicenseConfiguration_maxResults' - Maximum number of results to return in a single call.+--+-- 'nextToken', 'listUsageForLicenseConfiguration_nextToken' - Token for the next set of results.+--+-- 'licenseConfigurationArn', 'listUsageForLicenseConfiguration_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+newListUsageForLicenseConfiguration ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  ListUsageForLicenseConfiguration+newListUsageForLicenseConfiguration+  pLicenseConfigurationArn_ =+    ListUsageForLicenseConfiguration'+      { filters =+          Prelude.Nothing,+        maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        licenseConfigurationArn =+          pLicenseConfigurationArn_+      }++-- | Filters to scope the results. The following filters and logical+-- operators are supported:+--+-- -   @resourceArn@ - The ARN of the license configuration resource.+--     Logical operators are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @resourceType@ - The resource type (@EC2_INSTANCE@ | @EC2_HOST@ |+--     @EC2_AMI@ | @SYSTEMS_MANAGER_MANAGED_INSTANCE@). Logical operators+--     are @EQUALS@ | @NOT_EQUALS@.+--+-- -   @resourceAccount@ - The ID of the account that owns the resource.+--     Logical operators are @EQUALS@ | @NOT_EQUALS@.+listUsageForLicenseConfiguration_filters :: Lens.Lens' ListUsageForLicenseConfiguration (Prelude.Maybe [Filter])+listUsageForLicenseConfiguration_filters = Lens.lens (\ListUsageForLicenseConfiguration' {filters} -> filters) (\s@ListUsageForLicenseConfiguration' {} a -> s {filters = a} :: ListUsageForLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of results to return in a single call.+listUsageForLicenseConfiguration_maxResults :: Lens.Lens' ListUsageForLicenseConfiguration (Prelude.Maybe Prelude.Int)+listUsageForLicenseConfiguration_maxResults = Lens.lens (\ListUsageForLicenseConfiguration' {maxResults} -> maxResults) (\s@ListUsageForLicenseConfiguration' {} a -> s {maxResults = a} :: ListUsageForLicenseConfiguration)++-- | Token for the next set of results.+listUsageForLicenseConfiguration_nextToken :: Lens.Lens' ListUsageForLicenseConfiguration (Prelude.Maybe Prelude.Text)+listUsageForLicenseConfiguration_nextToken = Lens.lens (\ListUsageForLicenseConfiguration' {nextToken} -> nextToken) (\s@ListUsageForLicenseConfiguration' {} a -> s {nextToken = a} :: ListUsageForLicenseConfiguration)++-- | Amazon Resource Name (ARN) of the license configuration.+listUsageForLicenseConfiguration_licenseConfigurationArn :: Lens.Lens' ListUsageForLicenseConfiguration Prelude.Text+listUsageForLicenseConfiguration_licenseConfigurationArn = Lens.lens (\ListUsageForLicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@ListUsageForLicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: ListUsageForLicenseConfiguration)++instance+  Core.AWSPager+    ListUsageForLicenseConfiguration+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listUsageForLicenseConfigurationResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listUsageForLicenseConfiguration_nextToken+          Lens..~ rs+          Lens.^? listUsageForLicenseConfigurationResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListUsageForLicenseConfiguration+  where+  type+    AWSResponse ListUsageForLicenseConfiguration =+      ListUsageForLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListUsageForLicenseConfigurationResponse'+            Prelude.<$> ( x+                            Data..?> "LicenseConfigurationUsageList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListUsageForLicenseConfiguration+  where+  hashWithSalt+    _salt+    ListUsageForLicenseConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` licenseConfigurationArn++instance+  Prelude.NFData+    ListUsageForLicenseConfiguration+  where+  rnf ListUsageForLicenseConfiguration' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf licenseConfigurationArn++instance+  Data.ToHeaders+    ListUsageForLicenseConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.ListUsageForLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListUsageForLicenseConfiguration where+  toJSON ListUsageForLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )++instance Data.ToPath ListUsageForLicenseConfiguration where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ListUsageForLicenseConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListUsageForLicenseConfigurationResponse' smart constructor.+data ListUsageForLicenseConfigurationResponse = ListUsageForLicenseConfigurationResponse'+  { -- | Information about the license configurations.+    licenseConfigurationUsageList :: Prelude.Maybe [LicenseConfigurationUsage],+    -- | Token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsageForLicenseConfigurationResponse' 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:+--+-- 'licenseConfigurationUsageList', 'listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList' - Information about the license configurations.+--+-- 'nextToken', 'listUsageForLicenseConfigurationResponse_nextToken' - Token for the next set of results.+--+-- 'httpStatus', 'listUsageForLicenseConfigurationResponse_httpStatus' - The response's http status code.+newListUsageForLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListUsageForLicenseConfigurationResponse+newListUsageForLicenseConfigurationResponse+  pHttpStatus_ =+    ListUsageForLicenseConfigurationResponse'+      { licenseConfigurationUsageList =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Information about the license configurations.+listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList :: Lens.Lens' ListUsageForLicenseConfigurationResponse (Prelude.Maybe [LicenseConfigurationUsage])+listUsageForLicenseConfigurationResponse_licenseConfigurationUsageList = Lens.lens (\ListUsageForLicenseConfigurationResponse' {licenseConfigurationUsageList} -> licenseConfigurationUsageList) (\s@ListUsageForLicenseConfigurationResponse' {} a -> s {licenseConfigurationUsageList = a} :: ListUsageForLicenseConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Token for the next set of results.+listUsageForLicenseConfigurationResponse_nextToken :: Lens.Lens' ListUsageForLicenseConfigurationResponse (Prelude.Maybe Prelude.Text)+listUsageForLicenseConfigurationResponse_nextToken = Lens.lens (\ListUsageForLicenseConfigurationResponse' {nextToken} -> nextToken) (\s@ListUsageForLicenseConfigurationResponse' {} a -> s {nextToken = a} :: ListUsageForLicenseConfigurationResponse)++-- | The response's http status code.+listUsageForLicenseConfigurationResponse_httpStatus :: Lens.Lens' ListUsageForLicenseConfigurationResponse Prelude.Int+listUsageForLicenseConfigurationResponse_httpStatus = Lens.lens (\ListUsageForLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@ListUsageForLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: ListUsageForLicenseConfigurationResponse)++instance+  Prelude.NFData+    ListUsageForLicenseConfigurationResponse+  where+  rnf ListUsageForLicenseConfigurationResponse' {..} =+    Prelude.rnf licenseConfigurationUsageList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/RejectGrant.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.RejectGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Rejects the specified grant.+module Amazonka.LicenseManager.RejectGrant+  ( -- * Creating a Request+    RejectGrant (..),+    newRejectGrant,++    -- * Request Lenses+    rejectGrant_grantArn,++    -- * Destructuring the Response+    RejectGrantResponse (..),+    newRejectGrantResponse,++    -- * Response Lenses+    rejectGrantResponse_grantArn,+    rejectGrantResponse_status,+    rejectGrantResponse_version,+    rejectGrantResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRejectGrant' smart constructor.+data RejectGrant = RejectGrant'+  { -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RejectGrant' 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:+--+-- 'grantArn', 'rejectGrant_grantArn' - Amazon Resource Name (ARN) of the grant.+newRejectGrant ::+  -- | 'grantArn'+  Prelude.Text ->+  RejectGrant+newRejectGrant pGrantArn_ =+  RejectGrant' {grantArn = pGrantArn_}++-- | Amazon Resource Name (ARN) of the grant.+rejectGrant_grantArn :: Lens.Lens' RejectGrant Prelude.Text+rejectGrant_grantArn = Lens.lens (\RejectGrant' {grantArn} -> grantArn) (\s@RejectGrant' {} a -> s {grantArn = a} :: RejectGrant)++instance Core.AWSRequest RejectGrant where+  type AWSResponse RejectGrant = RejectGrantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RejectGrantResponse'+            Prelude.<$> (x Data..?> "GrantArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "Version")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RejectGrant where+  hashWithSalt _salt RejectGrant' {..} =+    _salt `Prelude.hashWithSalt` grantArn++instance Prelude.NFData RejectGrant where+  rnf RejectGrant' {..} = Prelude.rnf grantArn++instance Data.ToHeaders RejectGrant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.RejectGrant" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RejectGrant where+  toJSON RejectGrant' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("GrantArn" Data..= grantArn)]+      )++instance Data.ToPath RejectGrant where+  toPath = Prelude.const "/"++instance Data.ToQuery RejectGrant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRejectGrantResponse' smart constructor.+data RejectGrantResponse = RejectGrantResponse'+  { -- | Grant ARN.+    grantArn :: Prelude.Maybe Prelude.Text,+    -- | Grant status.+    status :: Prelude.Maybe GrantStatus,+    -- | Grant version.+    version :: 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 'RejectGrantResponse' 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:+--+-- 'grantArn', 'rejectGrantResponse_grantArn' - Grant ARN.+--+-- 'status', 'rejectGrantResponse_status' - Grant status.+--+-- 'version', 'rejectGrantResponse_version' - Grant version.+--+-- 'httpStatus', 'rejectGrantResponse_httpStatus' - The response's http status code.+newRejectGrantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RejectGrantResponse+newRejectGrantResponse pHttpStatus_ =+  RejectGrantResponse'+    { grantArn = Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Grant ARN.+rejectGrantResponse_grantArn :: Lens.Lens' RejectGrantResponse (Prelude.Maybe Prelude.Text)+rejectGrantResponse_grantArn = Lens.lens (\RejectGrantResponse' {grantArn} -> grantArn) (\s@RejectGrantResponse' {} a -> s {grantArn = a} :: RejectGrantResponse)++-- | Grant status.+rejectGrantResponse_status :: Lens.Lens' RejectGrantResponse (Prelude.Maybe GrantStatus)+rejectGrantResponse_status = Lens.lens (\RejectGrantResponse' {status} -> status) (\s@RejectGrantResponse' {} a -> s {status = a} :: RejectGrantResponse)++-- | Grant version.+rejectGrantResponse_version :: Lens.Lens' RejectGrantResponse (Prelude.Maybe Prelude.Text)+rejectGrantResponse_version = Lens.lens (\RejectGrantResponse' {version} -> version) (\s@RejectGrantResponse' {} a -> s {version = a} :: RejectGrantResponse)++-- | The response's http status code.+rejectGrantResponse_httpStatus :: Lens.Lens' RejectGrantResponse Prelude.Int+rejectGrantResponse_httpStatus = Lens.lens (\RejectGrantResponse' {httpStatus} -> httpStatus) (\s@RejectGrantResponse' {} a -> s {httpStatus = a} :: RejectGrantResponse)++instance Prelude.NFData RejectGrantResponse where+  rnf RejectGrantResponse' {..} =+    Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/TagResource.hs view
@@ -0,0 +1,168 @@+{-# 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.LicenseManager.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)+--+-- Adds the specified tags to the specified license configuration.+module Amazonka.LicenseManager.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.LicenseManager.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'+  { -- | Amazon Resource Name (ARN) of the license configuration.+    resourceArn :: Prelude.Text,+    -- | One or more tags.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - Amazon Resource Name (ARN) of the license configuration.+--+-- 'tags', 'tagResource_tags' - One or more tags.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | Amazon Resource Name (ARN) of the license configuration.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | One or more tags.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.TagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/Types.hs view
@@ -0,0 +1,664 @@+{-# 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.LicenseManager.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.LicenseManager.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _AuthorizationException,+    _ConflictException,+    _EntitlementNotAllowedException,+    _FailedDependencyException,+    _FilterLimitExceededException,+    _InvalidParameterValueException,+    _InvalidResourceStateException,+    _LicenseUsageException,+    _NoEntitlementsAllowedException,+    _RateLimitExceededException,+    _RedirectException,+    _ResourceLimitExceededException,+    _ResourceNotFoundException,+    _ServerInternalException,+    _UnsupportedDigitalSignatureMethodException,+    _ValidationException,++    -- * AllowedOperation+    AllowedOperation (..),++    -- * CheckoutType+    CheckoutType (..),++    -- * DigitalSignatureMethod+    DigitalSignatureMethod (..),++    -- * EntitlementDataUnit+    EntitlementDataUnit (..),++    -- * EntitlementUnit+    EntitlementUnit (..),++    -- * GrantStatus+    GrantStatus (..),++    -- * InventoryFilterCondition+    InventoryFilterCondition (..),++    -- * LicenseConfigurationStatus+    LicenseConfigurationStatus (..),++    -- * LicenseConversionTaskStatus+    LicenseConversionTaskStatus (..),++    -- * LicenseCountingType+    LicenseCountingType (..),++    -- * LicenseDeletionStatus+    LicenseDeletionStatus (..),++    -- * LicenseStatus+    LicenseStatus (..),++    -- * ReceivedStatus+    ReceivedStatus (..),++    -- * RenewType+    RenewType (..),++    -- * ReportFrequencyType+    ReportFrequencyType (..),++    -- * ReportType+    ReportType (..),++    -- * ResourceType+    ResourceType (..),++    -- * TokenType+    TokenType (..),++    -- * AutomatedDiscoveryInformation+    AutomatedDiscoveryInformation (..),+    newAutomatedDiscoveryInformation,+    automatedDiscoveryInformation_lastRunTime,++    -- * BorrowConfiguration+    BorrowConfiguration (..),+    newBorrowConfiguration,+    borrowConfiguration_allowEarlyCheckIn,+    borrowConfiguration_maxTimeToLiveInMinutes,++    -- * ConsumedLicenseSummary+    ConsumedLicenseSummary (..),+    newConsumedLicenseSummary,+    consumedLicenseSummary_consumedLicenses,+    consumedLicenseSummary_resourceType,++    -- * ConsumptionConfiguration+    ConsumptionConfiguration (..),+    newConsumptionConfiguration,+    consumptionConfiguration_borrowConfiguration,+    consumptionConfiguration_provisionalConfiguration,+    consumptionConfiguration_renewType,++    -- * DatetimeRange+    DatetimeRange (..),+    newDatetimeRange,+    datetimeRange_end,+    datetimeRange_begin,++    -- * Entitlement+    Entitlement (..),+    newEntitlement,+    entitlement_allowCheckIn,+    entitlement_maxCount,+    entitlement_overage,+    entitlement_value,+    entitlement_name,+    entitlement_unit,++    -- * EntitlementData+    EntitlementData (..),+    newEntitlementData,+    entitlementData_value,+    entitlementData_name,+    entitlementData_unit,++    -- * EntitlementUsage+    EntitlementUsage (..),+    newEntitlementUsage,+    entitlementUsage_maxCount,+    entitlementUsage_name,+    entitlementUsage_consumedValue,+    entitlementUsage_unit,++    -- * Filter+    Filter (..),+    newFilter,+    filter_name,+    filter_values,++    -- * Grant+    Grant (..),+    newGrant,+    grant_statusReason,+    grant_grantArn,+    grant_grantName,+    grant_parentArn,+    grant_licenseArn,+    grant_granteePrincipalArn,+    grant_homeRegion,+    grant_grantStatus,+    grant_version,+    grant_grantedOperations,++    -- * GrantedLicense+    GrantedLicense (..),+    newGrantedLicense,+    grantedLicense_beneficiary,+    grantedLicense_consumptionConfiguration,+    grantedLicense_createTime,+    grantedLicense_entitlements,+    grantedLicense_homeRegion,+    grantedLicense_issuer,+    grantedLicense_licenseArn,+    grantedLicense_licenseMetadata,+    grantedLicense_licenseName,+    grantedLicense_productName,+    grantedLicense_productSKU,+    grantedLicense_receivedMetadata,+    grantedLicense_status,+    grantedLicense_validity,+    grantedLicense_version,++    -- * InventoryFilter+    InventoryFilter (..),+    newInventoryFilter,+    inventoryFilter_value,+    inventoryFilter_name,+    inventoryFilter_condition,++    -- * Issuer+    Issuer (..),+    newIssuer,+    issuer_signKey,+    issuer_name,++    -- * IssuerDetails+    IssuerDetails (..),+    newIssuerDetails,+    issuerDetails_keyFingerprint,+    issuerDetails_name,+    issuerDetails_signKey,++    -- * License+    License (..),+    newLicense,+    license_beneficiary,+    license_consumptionConfiguration,+    license_createTime,+    license_entitlements,+    license_homeRegion,+    license_issuer,+    license_licenseArn,+    license_licenseMetadata,+    license_licenseName,+    license_productName,+    license_productSKU,+    license_status,+    license_validity,+    license_version,++    -- * LicenseConfiguration+    LicenseConfiguration (..),+    newLicenseConfiguration,+    licenseConfiguration_automatedDiscoveryInformation,+    licenseConfiguration_consumedLicenseSummaryList,+    licenseConfiguration_consumedLicenses,+    licenseConfiguration_description,+    licenseConfiguration_disassociateWhenNotFound,+    licenseConfiguration_licenseConfigurationArn,+    licenseConfiguration_licenseConfigurationId,+    licenseConfiguration_licenseCount,+    licenseConfiguration_licenseCountHardLimit,+    licenseConfiguration_licenseCountingType,+    licenseConfiguration_licenseRules,+    licenseConfiguration_managedResourceSummaryList,+    licenseConfiguration_name,+    licenseConfiguration_ownerAccountId,+    licenseConfiguration_productInformationList,+    licenseConfiguration_status,++    -- * LicenseConfigurationAssociation+    LicenseConfigurationAssociation (..),+    newLicenseConfigurationAssociation,+    licenseConfigurationAssociation_amiAssociationScope,+    licenseConfigurationAssociation_associationTime,+    licenseConfigurationAssociation_resourceArn,+    licenseConfigurationAssociation_resourceOwnerId,+    licenseConfigurationAssociation_resourceType,++    -- * LicenseConfigurationUsage+    LicenseConfigurationUsage (..),+    newLicenseConfigurationUsage,+    licenseConfigurationUsage_associationTime,+    licenseConfigurationUsage_consumedLicenses,+    licenseConfigurationUsage_resourceArn,+    licenseConfigurationUsage_resourceOwnerId,+    licenseConfigurationUsage_resourceStatus,+    licenseConfigurationUsage_resourceType,++    -- * LicenseConversionContext+    LicenseConversionContext (..),+    newLicenseConversionContext,+    licenseConversionContext_usageOperation,++    -- * LicenseConversionTask+    LicenseConversionTask (..),+    newLicenseConversionTask,+    licenseConversionTask_destinationLicenseContext,+    licenseConversionTask_endTime,+    licenseConversionTask_licenseConversionTaskId,+    licenseConversionTask_licenseConversionTime,+    licenseConversionTask_resourceArn,+    licenseConversionTask_sourceLicenseContext,+    licenseConversionTask_startTime,+    licenseConversionTask_status,+    licenseConversionTask_statusMessage,++    -- * LicenseOperationFailure+    LicenseOperationFailure (..),+    newLicenseOperationFailure,+    licenseOperationFailure_errorMessage,+    licenseOperationFailure_failureTime,+    licenseOperationFailure_metadataList,+    licenseOperationFailure_operationName,+    licenseOperationFailure_operationRequestedBy,+    licenseOperationFailure_resourceArn,+    licenseOperationFailure_resourceOwnerId,+    licenseOperationFailure_resourceType,++    -- * LicenseSpecification+    LicenseSpecification (..),+    newLicenseSpecification,+    licenseSpecification_amiAssociationScope,+    licenseSpecification_licenseConfigurationArn,++    -- * LicenseUsage+    LicenseUsage (..),+    newLicenseUsage,+    licenseUsage_entitlementUsages,++    -- * ManagedResourceSummary+    ManagedResourceSummary (..),+    newManagedResourceSummary,+    managedResourceSummary_associationCount,+    managedResourceSummary_resourceType,++    -- * Metadata+    Metadata (..),+    newMetadata,+    metadata_name,+    metadata_value,++    -- * OrganizationConfiguration+    OrganizationConfiguration (..),+    newOrganizationConfiguration,+    organizationConfiguration_enableIntegration,++    -- * ProductInformation+    ProductInformation (..),+    newProductInformation,+    productInformation_resourceType,+    productInformation_productInformationFilterList,++    -- * ProductInformationFilter+    ProductInformationFilter (..),+    newProductInformationFilter,+    productInformationFilter_productInformationFilterValue,+    productInformationFilter_productInformationFilterName,+    productInformationFilter_productInformationFilterComparator,++    -- * ProvisionalConfiguration+    ProvisionalConfiguration (..),+    newProvisionalConfiguration,+    provisionalConfiguration_maxTimeToLiveInMinutes,++    -- * ReceivedMetadata+    ReceivedMetadata (..),+    newReceivedMetadata,+    receivedMetadata_allowedOperations,+    receivedMetadata_receivedStatus,+    receivedMetadata_receivedStatusReason,++    -- * ReportContext+    ReportContext (..),+    newReportContext,+    reportContext_licenseConfigurationArns,++    -- * ReportFrequency+    ReportFrequency (..),+    newReportFrequency,+    reportFrequency_period,+    reportFrequency_value,++    -- * ReportGenerator+    ReportGenerator (..),+    newReportGenerator,+    reportGenerator_createTime,+    reportGenerator_description,+    reportGenerator_lastReportGenerationTime,+    reportGenerator_lastRunFailureReason,+    reportGenerator_lastRunStatus,+    reportGenerator_licenseManagerReportGeneratorArn,+    reportGenerator_reportContext,+    reportGenerator_reportCreatorAccount,+    reportGenerator_reportFrequency,+    reportGenerator_reportGeneratorName,+    reportGenerator_reportType,+    reportGenerator_s3Location,+    reportGenerator_tags,++    -- * ResourceInventory+    ResourceInventory (..),+    newResourceInventory,+    resourceInventory_platform,+    resourceInventory_platformVersion,+    resourceInventory_resourceArn,+    resourceInventory_resourceId,+    resourceInventory_resourceOwningAccountId,+    resourceInventory_resourceType,++    -- * S3Location+    S3Location (..),+    newS3Location,+    s3Location_bucket,+    s3Location_keyPrefix,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TokenData+    TokenData (..),+    newTokenData,+    tokenData_expirationTime,+    tokenData_licenseArn,+    tokenData_roleArns,+    tokenData_status,+    tokenData_tokenId,+    tokenData_tokenProperties,+    tokenData_tokenType,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.LicenseManager.Types.AllowedOperation+import Amazonka.LicenseManager.Types.AutomatedDiscoveryInformation+import Amazonka.LicenseManager.Types.BorrowConfiguration+import Amazonka.LicenseManager.Types.CheckoutType+import Amazonka.LicenseManager.Types.ConsumedLicenseSummary+import Amazonka.LicenseManager.Types.ConsumptionConfiguration+import Amazonka.LicenseManager.Types.DatetimeRange+import Amazonka.LicenseManager.Types.DigitalSignatureMethod+import Amazonka.LicenseManager.Types.Entitlement+import Amazonka.LicenseManager.Types.EntitlementData+import Amazonka.LicenseManager.Types.EntitlementDataUnit+import Amazonka.LicenseManager.Types.EntitlementUnit+import Amazonka.LicenseManager.Types.EntitlementUsage+import Amazonka.LicenseManager.Types.Filter+import Amazonka.LicenseManager.Types.Grant+import Amazonka.LicenseManager.Types.GrantStatus+import Amazonka.LicenseManager.Types.GrantedLicense+import Amazonka.LicenseManager.Types.InventoryFilter+import Amazonka.LicenseManager.Types.InventoryFilterCondition+import Amazonka.LicenseManager.Types.Issuer+import Amazonka.LicenseManager.Types.IssuerDetails+import Amazonka.LicenseManager.Types.License+import Amazonka.LicenseManager.Types.LicenseConfiguration+import Amazonka.LicenseManager.Types.LicenseConfigurationAssociation+import Amazonka.LicenseManager.Types.LicenseConfigurationStatus+import Amazonka.LicenseManager.Types.LicenseConfigurationUsage+import Amazonka.LicenseManager.Types.LicenseConversionContext+import Amazonka.LicenseManager.Types.LicenseConversionTask+import Amazonka.LicenseManager.Types.LicenseConversionTaskStatus+import Amazonka.LicenseManager.Types.LicenseCountingType+import Amazonka.LicenseManager.Types.LicenseDeletionStatus+import Amazonka.LicenseManager.Types.LicenseOperationFailure+import Amazonka.LicenseManager.Types.LicenseSpecification+import Amazonka.LicenseManager.Types.LicenseStatus+import Amazonka.LicenseManager.Types.LicenseUsage+import Amazonka.LicenseManager.Types.ManagedResourceSummary+import Amazonka.LicenseManager.Types.Metadata+import Amazonka.LicenseManager.Types.OrganizationConfiguration+import Amazonka.LicenseManager.Types.ProductInformation+import Amazonka.LicenseManager.Types.ProductInformationFilter+import Amazonka.LicenseManager.Types.ProvisionalConfiguration+import Amazonka.LicenseManager.Types.ReceivedMetadata+import Amazonka.LicenseManager.Types.ReceivedStatus+import Amazonka.LicenseManager.Types.RenewType+import Amazonka.LicenseManager.Types.ReportContext+import Amazonka.LicenseManager.Types.ReportFrequency+import Amazonka.LicenseManager.Types.ReportFrequencyType+import Amazonka.LicenseManager.Types.ReportGenerator+import Amazonka.LicenseManager.Types.ReportType+import Amazonka.LicenseManager.Types.ResourceInventory+import Amazonka.LicenseManager.Types.ResourceType+import Amazonka.LicenseManager.Types.S3Location+import Amazonka.LicenseManager.Types.Tag+import Amazonka.LicenseManager.Types.TokenData+import Amazonka.LicenseManager.Types.TokenType+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-08-01@ of the Amazon License Manager SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "LicenseManager",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "license-manager",+      Core.signingName = "license-manager",+      Core.version = "2018-08-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "LicenseManager",+      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 to resource denied.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"++-- | The Amazon Web Services user account does not have permission to perform+-- the action. Check the IAM policy associated with this account.+_AuthorizationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AuthorizationException =+  Core._MatchServiceError+    defaultService+    "AuthorizationException"++-- | There was a conflict processing the request. Try your request again.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"++-- | The entitlement is not allowed.+_EntitlementNotAllowedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_EntitlementNotAllowedException =+  Core._MatchServiceError+    defaultService+    "EntitlementNotAllowedException"++-- | A dependency required to run the API is missing.+_FailedDependencyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_FailedDependencyException =+  Core._MatchServiceError+    defaultService+    "FailedDependencyException"++-- | The request uses too many filters or too many filter values.+_FilterLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_FilterLimitExceededException =+  Core._MatchServiceError+    defaultService+    "FilterLimitExceededException"++-- | One or more parameter values are not valid.+_InvalidParameterValueException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidParameterValueException =+  Core._MatchServiceError+    defaultService+    "InvalidParameterValueException"++-- | License Manager cannot allocate a license to a resource because of its+-- state.+--+-- For example, you cannot allocate a license to an instance in the process+-- of shutting down.+_InvalidResourceStateException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidResourceStateException =+  Core._MatchServiceError+    defaultService+    "InvalidResourceStateException"++-- | You do not have enough licenses available to support a new resource+-- launch.+_LicenseUsageException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LicenseUsageException =+  Core._MatchServiceError+    defaultService+    "LicenseUsageException"++-- | There are no entitlements found for this license, or the entitlement+-- maximum count is reached.+_NoEntitlementsAllowedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NoEntitlementsAllowedException =+  Core._MatchServiceError+    defaultService+    "NoEntitlementsAllowedException"++-- | Too many requests have been submitted. Try again after a brief wait.+_RateLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_RateLimitExceededException =+  Core._MatchServiceError+    defaultService+    "RateLimitExceededException"++-- | This is not the correct Region for the resource. Try again.+_RedirectException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_RedirectException =+  Core._MatchServiceError+    defaultService+    "RedirectException"++-- | Your resource limits have been exceeded.+_ResourceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLimitExceededException =+  Core._MatchServiceError+    defaultService+    "ResourceLimitExceededException"++-- | The resource cannot be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"++-- | The server experienced an internal error. Try again.+_ServerInternalException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServerInternalException =+  Core._MatchServiceError+    defaultService+    "ServerInternalException"++-- | The digital signature method is unsupported. Try your request again.+_UnsupportedDigitalSignatureMethodException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedDigitalSignatureMethodException =+  Core._MatchServiceError+    defaultService+    "UnsupportedDigitalSignatureMethodException"++-- | The provided input is not valid. Try your request again.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"
+ gen/Amazonka/LicenseManager/Types/AllowedOperation.hs view
@@ -0,0 +1,96 @@+{-# 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.LicenseManager.Types.AllowedOperation+-- 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.LicenseManager.Types.AllowedOperation+  ( AllowedOperation+      ( ..,+        AllowedOperation_CheckInLicense,+        AllowedOperation_CheckoutBorrowLicense,+        AllowedOperation_CheckoutLicense,+        AllowedOperation_CreateGrant,+        AllowedOperation_CreateToken,+        AllowedOperation_ExtendConsumptionLicense,+        AllowedOperation_ListPurchasedLicenses+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AllowedOperation = AllowedOperation'+  { fromAllowedOperation ::+      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 AllowedOperation_CheckInLicense :: AllowedOperation+pattern AllowedOperation_CheckInLicense = AllowedOperation' "CheckInLicense"++pattern AllowedOperation_CheckoutBorrowLicense :: AllowedOperation+pattern AllowedOperation_CheckoutBorrowLicense = AllowedOperation' "CheckoutBorrowLicense"++pattern AllowedOperation_CheckoutLicense :: AllowedOperation+pattern AllowedOperation_CheckoutLicense = AllowedOperation' "CheckoutLicense"++pattern AllowedOperation_CreateGrant :: AllowedOperation+pattern AllowedOperation_CreateGrant = AllowedOperation' "CreateGrant"++pattern AllowedOperation_CreateToken :: AllowedOperation+pattern AllowedOperation_CreateToken = AllowedOperation' "CreateToken"++pattern AllowedOperation_ExtendConsumptionLicense :: AllowedOperation+pattern AllowedOperation_ExtendConsumptionLicense = AllowedOperation' "ExtendConsumptionLicense"++pattern AllowedOperation_ListPurchasedLicenses :: AllowedOperation+pattern AllowedOperation_ListPurchasedLicenses = AllowedOperation' "ListPurchasedLicenses"++{-# COMPLETE+  AllowedOperation_CheckInLicense,+  AllowedOperation_CheckoutBorrowLicense,+  AllowedOperation_CheckoutLicense,+  AllowedOperation_CreateGrant,+  AllowedOperation_CreateToken,+  AllowedOperation_ExtendConsumptionLicense,+  AllowedOperation_ListPurchasedLicenses,+  AllowedOperation'+  #-}
+ gen/Amazonka/LicenseManager/Types/AutomatedDiscoveryInformation.hs view
@@ -0,0 +1,75 @@+{-# 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.LicenseManager.Types.AutomatedDiscoveryInformation+-- 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.LicenseManager.Types.AutomatedDiscoveryInformation 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++-- | Describes automated discovery.+--+-- /See:/ 'newAutomatedDiscoveryInformation' smart constructor.+data AutomatedDiscoveryInformation = AutomatedDiscoveryInformation'+  { -- | Time that automated discovery last ran.+    lastRunTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutomatedDiscoveryInformation' 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:+--+-- 'lastRunTime', 'automatedDiscoveryInformation_lastRunTime' - Time that automated discovery last ran.+newAutomatedDiscoveryInformation ::+  AutomatedDiscoveryInformation+newAutomatedDiscoveryInformation =+  AutomatedDiscoveryInformation'+    { lastRunTime =+        Prelude.Nothing+    }++-- | Time that automated discovery last ran.+automatedDiscoveryInformation_lastRunTime :: Lens.Lens' AutomatedDiscoveryInformation (Prelude.Maybe Prelude.UTCTime)+automatedDiscoveryInformation_lastRunTime = Lens.lens (\AutomatedDiscoveryInformation' {lastRunTime} -> lastRunTime) (\s@AutomatedDiscoveryInformation' {} a -> s {lastRunTime = a} :: AutomatedDiscoveryInformation) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON AutomatedDiscoveryInformation where+  parseJSON =+    Data.withObject+      "AutomatedDiscoveryInformation"+      ( \x ->+          AutomatedDiscoveryInformation'+            Prelude.<$> (x Data..:? "LastRunTime")+      )++instance+  Prelude.Hashable+    AutomatedDiscoveryInformation+  where+  hashWithSalt _salt AutomatedDiscoveryInformation' {..} =+    _salt `Prelude.hashWithSalt` lastRunTime++instance Prelude.NFData AutomatedDiscoveryInformation where+  rnf AutomatedDiscoveryInformation' {..} =+    Prelude.rnf lastRunTime
+ gen/Amazonka/LicenseManager/Types/BorrowConfiguration.hs view
@@ -0,0 +1,104 @@+{-# 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.LicenseManager.Types.BorrowConfiguration+-- 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.LicenseManager.Types.BorrowConfiguration 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 a borrow configuration.+--+-- /See:/ 'newBorrowConfiguration' smart constructor.+data BorrowConfiguration = BorrowConfiguration'+  { -- | Indicates whether early check-ins are allowed.+    allowEarlyCheckIn :: Prelude.Bool,+    -- | Maximum time for the borrow configuration, in minutes.+    maxTimeToLiveInMinutes :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BorrowConfiguration' 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:+--+-- 'allowEarlyCheckIn', 'borrowConfiguration_allowEarlyCheckIn' - Indicates whether early check-ins are allowed.+--+-- 'maxTimeToLiveInMinutes', 'borrowConfiguration_maxTimeToLiveInMinutes' - Maximum time for the borrow configuration, in minutes.+newBorrowConfiguration ::+  -- | 'allowEarlyCheckIn'+  Prelude.Bool ->+  -- | 'maxTimeToLiveInMinutes'+  Prelude.Int ->+  BorrowConfiguration+newBorrowConfiguration+  pAllowEarlyCheckIn_+  pMaxTimeToLiveInMinutes_ =+    BorrowConfiguration'+      { allowEarlyCheckIn =+          pAllowEarlyCheckIn_,+        maxTimeToLiveInMinutes = pMaxTimeToLiveInMinutes_+      }++-- | Indicates whether early check-ins are allowed.+borrowConfiguration_allowEarlyCheckIn :: Lens.Lens' BorrowConfiguration Prelude.Bool+borrowConfiguration_allowEarlyCheckIn = Lens.lens (\BorrowConfiguration' {allowEarlyCheckIn} -> allowEarlyCheckIn) (\s@BorrowConfiguration' {} a -> s {allowEarlyCheckIn = a} :: BorrowConfiguration)++-- | Maximum time for the borrow configuration, in minutes.+borrowConfiguration_maxTimeToLiveInMinutes :: Lens.Lens' BorrowConfiguration Prelude.Int+borrowConfiguration_maxTimeToLiveInMinutes = Lens.lens (\BorrowConfiguration' {maxTimeToLiveInMinutes} -> maxTimeToLiveInMinutes) (\s@BorrowConfiguration' {} a -> s {maxTimeToLiveInMinutes = a} :: BorrowConfiguration)++instance Data.FromJSON BorrowConfiguration where+  parseJSON =+    Data.withObject+      "BorrowConfiguration"+      ( \x ->+          BorrowConfiguration'+            Prelude.<$> (x Data..: "AllowEarlyCheckIn")+            Prelude.<*> (x Data..: "MaxTimeToLiveInMinutes")+      )++instance Prelude.Hashable BorrowConfiguration where+  hashWithSalt _salt BorrowConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` allowEarlyCheckIn+      `Prelude.hashWithSalt` maxTimeToLiveInMinutes++instance Prelude.NFData BorrowConfiguration where+  rnf BorrowConfiguration' {..} =+    Prelude.rnf allowEarlyCheckIn+      `Prelude.seq` Prelude.rnf maxTimeToLiveInMinutes++instance Data.ToJSON BorrowConfiguration where+  toJSON BorrowConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AllowEarlyCheckIn" Data..= allowEarlyCheckIn),+            Prelude.Just+              ( "MaxTimeToLiveInMinutes"+                  Data..= maxTimeToLiveInMinutes+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/CheckoutType.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.LicenseManager.Types.CheckoutType+-- 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.LicenseManager.Types.CheckoutType+  ( CheckoutType+      ( ..,+        CheckoutType_PERPETUAL,+        CheckoutType_PROVISIONAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CheckoutType = CheckoutType'+  { fromCheckoutType ::+      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 CheckoutType_PERPETUAL :: CheckoutType+pattern CheckoutType_PERPETUAL = CheckoutType' "PERPETUAL"++pattern CheckoutType_PROVISIONAL :: CheckoutType+pattern CheckoutType_PROVISIONAL = CheckoutType' "PROVISIONAL"++{-# COMPLETE+  CheckoutType_PERPETUAL,+  CheckoutType_PROVISIONAL,+  CheckoutType'+  #-}
+ gen/Amazonka/LicenseManager/Types/ConsumedLicenseSummary.hs view
@@ -0,0 +1,86 @@+{-# 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.LicenseManager.Types.ConsumedLicenseSummary+-- 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.LicenseManager.Types.ConsumedLicenseSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Details about license consumption.+--+-- /See:/ 'newConsumedLicenseSummary' smart constructor.+data ConsumedLicenseSummary = ConsumedLicenseSummary'+  { -- | Number of licenses consumed by the resource.+    consumedLicenses :: Prelude.Maybe Prelude.Integer,+    -- | Resource type of the resource consuming a license.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConsumedLicenseSummary' 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:+--+-- 'consumedLicenses', 'consumedLicenseSummary_consumedLicenses' - Number of licenses consumed by the resource.+--+-- 'resourceType', 'consumedLicenseSummary_resourceType' - Resource type of the resource consuming a license.+newConsumedLicenseSummary ::+  ConsumedLicenseSummary+newConsumedLicenseSummary =+  ConsumedLicenseSummary'+    { consumedLicenses =+        Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Number of licenses consumed by the resource.+consumedLicenseSummary_consumedLicenses :: Lens.Lens' ConsumedLicenseSummary (Prelude.Maybe Prelude.Integer)+consumedLicenseSummary_consumedLicenses = Lens.lens (\ConsumedLicenseSummary' {consumedLicenses} -> consumedLicenses) (\s@ConsumedLicenseSummary' {} a -> s {consumedLicenses = a} :: ConsumedLicenseSummary)++-- | Resource type of the resource consuming a license.+consumedLicenseSummary_resourceType :: Lens.Lens' ConsumedLicenseSummary (Prelude.Maybe ResourceType)+consumedLicenseSummary_resourceType = Lens.lens (\ConsumedLicenseSummary' {resourceType} -> resourceType) (\s@ConsumedLicenseSummary' {} a -> s {resourceType = a} :: ConsumedLicenseSummary)++instance Data.FromJSON ConsumedLicenseSummary where+  parseJSON =+    Data.withObject+      "ConsumedLicenseSummary"+      ( \x ->+          ConsumedLicenseSummary'+            Prelude.<$> (x Data..:? "ConsumedLicenses")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable ConsumedLicenseSummary where+  hashWithSalt _salt ConsumedLicenseSummary' {..} =+    _salt+      `Prelude.hashWithSalt` consumedLicenses+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ConsumedLicenseSummary where+  rnf ConsumedLicenseSummary' {..} =+    Prelude.rnf consumedLicenses+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/ConsumptionConfiguration.hs view
@@ -0,0 +1,112 @@+{-# 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.LicenseManager.Types.ConsumptionConfiguration+-- 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.LicenseManager.Types.ConsumptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.BorrowConfiguration+import Amazonka.LicenseManager.Types.ProvisionalConfiguration+import Amazonka.LicenseManager.Types.RenewType+import qualified Amazonka.Prelude as Prelude++-- | Details about a consumption configuration.+--+-- /See:/ 'newConsumptionConfiguration' smart constructor.+data ConsumptionConfiguration = ConsumptionConfiguration'+  { -- | Details about a borrow configuration.+    borrowConfiguration :: Prelude.Maybe BorrowConfiguration,+    -- | Details about a provisional configuration.+    provisionalConfiguration :: Prelude.Maybe ProvisionalConfiguration,+    -- | Renewal frequency.+    renewType :: Prelude.Maybe RenewType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConsumptionConfiguration' 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:+--+-- 'borrowConfiguration', 'consumptionConfiguration_borrowConfiguration' - Details about a borrow configuration.+--+-- 'provisionalConfiguration', 'consumptionConfiguration_provisionalConfiguration' - Details about a provisional configuration.+--+-- 'renewType', 'consumptionConfiguration_renewType' - Renewal frequency.+newConsumptionConfiguration ::+  ConsumptionConfiguration+newConsumptionConfiguration =+  ConsumptionConfiguration'+    { borrowConfiguration =+        Prelude.Nothing,+      provisionalConfiguration = Prelude.Nothing,+      renewType = Prelude.Nothing+    }++-- | Details about a borrow configuration.+consumptionConfiguration_borrowConfiguration :: Lens.Lens' ConsumptionConfiguration (Prelude.Maybe BorrowConfiguration)+consumptionConfiguration_borrowConfiguration = Lens.lens (\ConsumptionConfiguration' {borrowConfiguration} -> borrowConfiguration) (\s@ConsumptionConfiguration' {} a -> s {borrowConfiguration = a} :: ConsumptionConfiguration)++-- | Details about a provisional configuration.+consumptionConfiguration_provisionalConfiguration :: Lens.Lens' ConsumptionConfiguration (Prelude.Maybe ProvisionalConfiguration)+consumptionConfiguration_provisionalConfiguration = Lens.lens (\ConsumptionConfiguration' {provisionalConfiguration} -> provisionalConfiguration) (\s@ConsumptionConfiguration' {} a -> s {provisionalConfiguration = a} :: ConsumptionConfiguration)++-- | Renewal frequency.+consumptionConfiguration_renewType :: Lens.Lens' ConsumptionConfiguration (Prelude.Maybe RenewType)+consumptionConfiguration_renewType = Lens.lens (\ConsumptionConfiguration' {renewType} -> renewType) (\s@ConsumptionConfiguration' {} a -> s {renewType = a} :: ConsumptionConfiguration)++instance Data.FromJSON ConsumptionConfiguration where+  parseJSON =+    Data.withObject+      "ConsumptionConfiguration"+      ( \x ->+          ConsumptionConfiguration'+            Prelude.<$> (x Data..:? "BorrowConfiguration")+            Prelude.<*> (x Data..:? "ProvisionalConfiguration")+            Prelude.<*> (x Data..:? "RenewType")+      )++instance Prelude.Hashable ConsumptionConfiguration where+  hashWithSalt _salt ConsumptionConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` borrowConfiguration+      `Prelude.hashWithSalt` provisionalConfiguration+      `Prelude.hashWithSalt` renewType++instance Prelude.NFData ConsumptionConfiguration where+  rnf ConsumptionConfiguration' {..} =+    Prelude.rnf borrowConfiguration+      `Prelude.seq` Prelude.rnf provisionalConfiguration+      `Prelude.seq` Prelude.rnf renewType++instance Data.ToJSON ConsumptionConfiguration where+  toJSON ConsumptionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BorrowConfiguration" Data..=)+              Prelude.<$> borrowConfiguration,+            ("ProvisionalConfiguration" Data..=)+              Prelude.<$> provisionalConfiguration,+            ("RenewType" Data..=) Prelude.<$> renewType+          ]+      )
+ gen/Amazonka/LicenseManager/Types/DatetimeRange.hs view
@@ -0,0 +1,94 @@+{-# 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.LicenseManager.Types.DatetimeRange+-- 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.LicenseManager.Types.DatetimeRange 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++-- | Describes a time range, in ISO8601-UTC format.+--+-- /See:/ 'newDatetimeRange' smart constructor.+data DatetimeRange = DatetimeRange'+  { -- | End of the time range.+    end :: Prelude.Maybe Prelude.Text,+    -- | Start of the time range.+    begin :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatetimeRange' 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:+--+-- 'end', 'datetimeRange_end' - End of the time range.+--+-- 'begin', 'datetimeRange_begin' - Start of the time range.+newDatetimeRange ::+  -- | 'begin'+  Prelude.Text ->+  DatetimeRange+newDatetimeRange pBegin_ =+  DatetimeRange'+    { end = Prelude.Nothing,+      begin = pBegin_+    }++-- | End of the time range.+datetimeRange_end :: Lens.Lens' DatetimeRange (Prelude.Maybe Prelude.Text)+datetimeRange_end = Lens.lens (\DatetimeRange' {end} -> end) (\s@DatetimeRange' {} a -> s {end = a} :: DatetimeRange)++-- | Start of the time range.+datetimeRange_begin :: Lens.Lens' DatetimeRange Prelude.Text+datetimeRange_begin = Lens.lens (\DatetimeRange' {begin} -> begin) (\s@DatetimeRange' {} a -> s {begin = a} :: DatetimeRange)++instance Data.FromJSON DatetimeRange where+  parseJSON =+    Data.withObject+      "DatetimeRange"+      ( \x ->+          DatetimeRange'+            Prelude.<$> (x Data..:? "End")+            Prelude.<*> (x Data..: "Begin")+      )++instance Prelude.Hashable DatetimeRange where+  hashWithSalt _salt DatetimeRange' {..} =+    _salt+      `Prelude.hashWithSalt` end+      `Prelude.hashWithSalt` begin++instance Prelude.NFData DatetimeRange where+  rnf DatetimeRange' {..} =+    Prelude.rnf end `Prelude.seq` Prelude.rnf begin++instance Data.ToJSON DatetimeRange where+  toJSON DatetimeRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("End" Data..=) Prelude.<$> end,+            Prelude.Just ("Begin" Data..= begin)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/DigitalSignatureMethod.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.DigitalSignatureMethod+-- 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.LicenseManager.Types.DigitalSignatureMethod+  ( DigitalSignatureMethod+      ( ..,+        DigitalSignatureMethod_JWT_PS384+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DigitalSignatureMethod = DigitalSignatureMethod'+  { fromDigitalSignatureMethod ::+      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 DigitalSignatureMethod_JWT_PS384 :: DigitalSignatureMethod+pattern DigitalSignatureMethod_JWT_PS384 = DigitalSignatureMethod' "JWT_PS384"++{-# COMPLETE+  DigitalSignatureMethod_JWT_PS384,+  DigitalSignatureMethod'+  #-}
+ gen/Amazonka/LicenseManager/Types/Entitlement.hs view
@@ -0,0 +1,150 @@+{-# 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.LicenseManager.Types.Entitlement+-- 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.LicenseManager.Types.Entitlement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.EntitlementUnit+import qualified Amazonka.Prelude as Prelude++-- | Describes a resource entitled for use with a license.+--+-- /See:/ 'newEntitlement' smart constructor.+data Entitlement = Entitlement'+  { -- | Indicates whether check-ins are allowed.+    allowCheckIn :: Prelude.Maybe Prelude.Bool,+    -- | Maximum entitlement count. Use if the unit is not None.+    maxCount :: Prelude.Maybe Prelude.Integer,+    -- | Indicates whether overages are allowed.+    overage :: Prelude.Maybe Prelude.Bool,+    -- | Entitlement resource. Use only if the unit is None.+    value :: Prelude.Maybe Prelude.Text,+    -- | Entitlement name.+    name :: Prelude.Text,+    -- | Entitlement unit.+    unit :: EntitlementUnit+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Entitlement' 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:+--+-- 'allowCheckIn', 'entitlement_allowCheckIn' - Indicates whether check-ins are allowed.+--+-- 'maxCount', 'entitlement_maxCount' - Maximum entitlement count. Use if the unit is not None.+--+-- 'overage', 'entitlement_overage' - Indicates whether overages are allowed.+--+-- 'value', 'entitlement_value' - Entitlement resource. Use only if the unit is None.+--+-- 'name', 'entitlement_name' - Entitlement name.+--+-- 'unit', 'entitlement_unit' - Entitlement unit.+newEntitlement ::+  -- | 'name'+  Prelude.Text ->+  -- | 'unit'+  EntitlementUnit ->+  Entitlement+newEntitlement pName_ pUnit_ =+  Entitlement'+    { allowCheckIn = Prelude.Nothing,+      maxCount = Prelude.Nothing,+      overage = Prelude.Nothing,+      value = Prelude.Nothing,+      name = pName_,+      unit = pUnit_+    }++-- | Indicates whether check-ins are allowed.+entitlement_allowCheckIn :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Bool)+entitlement_allowCheckIn = Lens.lens (\Entitlement' {allowCheckIn} -> allowCheckIn) (\s@Entitlement' {} a -> s {allowCheckIn = a} :: Entitlement)++-- | Maximum entitlement count. Use if the unit is not None.+entitlement_maxCount :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Integer)+entitlement_maxCount = Lens.lens (\Entitlement' {maxCount} -> maxCount) (\s@Entitlement' {} a -> s {maxCount = a} :: Entitlement)++-- | Indicates whether overages are allowed.+entitlement_overage :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Bool)+entitlement_overage = Lens.lens (\Entitlement' {overage} -> overage) (\s@Entitlement' {} a -> s {overage = a} :: Entitlement)++-- | Entitlement resource. Use only if the unit is None.+entitlement_value :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Text)+entitlement_value = Lens.lens (\Entitlement' {value} -> value) (\s@Entitlement' {} a -> s {value = a} :: Entitlement)++-- | Entitlement name.+entitlement_name :: Lens.Lens' Entitlement Prelude.Text+entitlement_name = Lens.lens (\Entitlement' {name} -> name) (\s@Entitlement' {} a -> s {name = a} :: Entitlement)++-- | Entitlement unit.+entitlement_unit :: Lens.Lens' Entitlement EntitlementUnit+entitlement_unit = Lens.lens (\Entitlement' {unit} -> unit) (\s@Entitlement' {} a -> s {unit = a} :: Entitlement)++instance Data.FromJSON Entitlement where+  parseJSON =+    Data.withObject+      "Entitlement"+      ( \x ->+          Entitlement'+            Prelude.<$> (x Data..:? "AllowCheckIn")+            Prelude.<*> (x Data..:? "MaxCount")+            Prelude.<*> (x Data..:? "Overage")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Unit")+      )++instance Prelude.Hashable Entitlement where+  hashWithSalt _salt Entitlement' {..} =+    _salt+      `Prelude.hashWithSalt` allowCheckIn+      `Prelude.hashWithSalt` maxCount+      `Prelude.hashWithSalt` overage+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` unit++instance Prelude.NFData Entitlement where+  rnf Entitlement' {..} =+    Prelude.rnf allowCheckIn+      `Prelude.seq` Prelude.rnf maxCount+      `Prelude.seq` Prelude.rnf overage+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf unit++instance Data.ToJSON Entitlement where+  toJSON Entitlement' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowCheckIn" Data..=) Prelude.<$> allowCheckIn,+            ("MaxCount" Data..=) Prelude.<$> maxCount,+            ("Overage" Data..=) Prelude.<$> overage,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Unit" Data..= unit)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/EntitlementData.hs view
@@ -0,0 +1,111 @@+{-# 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.LicenseManager.Types.EntitlementData+-- 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.LicenseManager.Types.EntitlementData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.EntitlementDataUnit+import qualified Amazonka.Prelude as Prelude++-- | Data associated with an entitlement resource.+--+-- /See:/ 'newEntitlementData' smart constructor.+data EntitlementData = EntitlementData'+  { -- | Entitlement data value.+    value :: Prelude.Maybe Prelude.Text,+    -- | Entitlement data name.+    name :: Prelude.Text,+    -- | Entitlement data unit.+    unit :: EntitlementDataUnit+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EntitlementData' 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:+--+-- 'value', 'entitlementData_value' - Entitlement data value.+--+-- 'name', 'entitlementData_name' - Entitlement data name.+--+-- 'unit', 'entitlementData_unit' - Entitlement data unit.+newEntitlementData ::+  -- | 'name'+  Prelude.Text ->+  -- | 'unit'+  EntitlementDataUnit ->+  EntitlementData+newEntitlementData pName_ pUnit_ =+  EntitlementData'+    { value = Prelude.Nothing,+      name = pName_,+      unit = pUnit_+    }++-- | Entitlement data value.+entitlementData_value :: Lens.Lens' EntitlementData (Prelude.Maybe Prelude.Text)+entitlementData_value = Lens.lens (\EntitlementData' {value} -> value) (\s@EntitlementData' {} a -> s {value = a} :: EntitlementData)++-- | Entitlement data name.+entitlementData_name :: Lens.Lens' EntitlementData Prelude.Text+entitlementData_name = Lens.lens (\EntitlementData' {name} -> name) (\s@EntitlementData' {} a -> s {name = a} :: EntitlementData)++-- | Entitlement data unit.+entitlementData_unit :: Lens.Lens' EntitlementData EntitlementDataUnit+entitlementData_unit = Lens.lens (\EntitlementData' {unit} -> unit) (\s@EntitlementData' {} a -> s {unit = a} :: EntitlementData)++instance Data.FromJSON EntitlementData where+  parseJSON =+    Data.withObject+      "EntitlementData"+      ( \x ->+          EntitlementData'+            Prelude.<$> (x Data..:? "Value")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Unit")+      )++instance Prelude.Hashable EntitlementData where+  hashWithSalt _salt EntitlementData' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` unit++instance Prelude.NFData EntitlementData where+  rnf EntitlementData' {..} =+    Prelude.rnf value+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf unit++instance Data.ToJSON EntitlementData where+  toJSON EntitlementData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Unit" Data..= unit)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/EntitlementDataUnit.hs view
@@ -0,0 +1,196 @@+{-# 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.LicenseManager.Types.EntitlementDataUnit+-- 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.LicenseManager.Types.EntitlementDataUnit+  ( EntitlementDataUnit+      ( ..,+        EntitlementDataUnit_Bits,+        EntitlementDataUnit_Bits_Second,+        EntitlementDataUnit_Bytes,+        EntitlementDataUnit_Bytes_Second,+        EntitlementDataUnit_Count,+        EntitlementDataUnit_Count_Second,+        EntitlementDataUnit_Gigabits,+        EntitlementDataUnit_Gigabits_Second,+        EntitlementDataUnit_Gigabytes,+        EntitlementDataUnit_Gigabytes_Second,+        EntitlementDataUnit_Kilobits,+        EntitlementDataUnit_Kilobits_Second,+        EntitlementDataUnit_Kilobytes,+        EntitlementDataUnit_Kilobytes_Second,+        EntitlementDataUnit_Megabits,+        EntitlementDataUnit_Megabits_Second,+        EntitlementDataUnit_Megabytes,+        EntitlementDataUnit_Megabytes_Second,+        EntitlementDataUnit_Microseconds,+        EntitlementDataUnit_Milliseconds,+        EntitlementDataUnit_None,+        EntitlementDataUnit_Percent,+        EntitlementDataUnit_Seconds,+        EntitlementDataUnit_Terabits,+        EntitlementDataUnit_Terabits_Second,+        EntitlementDataUnit_Terabytes,+        EntitlementDataUnit_Terabytes_Second+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EntitlementDataUnit = EntitlementDataUnit'+  { fromEntitlementDataUnit ::+      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 EntitlementDataUnit_Bits :: EntitlementDataUnit+pattern EntitlementDataUnit_Bits = EntitlementDataUnit' "Bits"++pattern EntitlementDataUnit_Bits_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Bits_Second = EntitlementDataUnit' "Bits/Second"++pattern EntitlementDataUnit_Bytes :: EntitlementDataUnit+pattern EntitlementDataUnit_Bytes = EntitlementDataUnit' "Bytes"++pattern EntitlementDataUnit_Bytes_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Bytes_Second = EntitlementDataUnit' "Bytes/Second"++pattern EntitlementDataUnit_Count :: EntitlementDataUnit+pattern EntitlementDataUnit_Count = EntitlementDataUnit' "Count"++pattern EntitlementDataUnit_Count_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Count_Second = EntitlementDataUnit' "Count/Second"++pattern EntitlementDataUnit_Gigabits :: EntitlementDataUnit+pattern EntitlementDataUnit_Gigabits = EntitlementDataUnit' "Gigabits"++pattern EntitlementDataUnit_Gigabits_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Gigabits_Second = EntitlementDataUnit' "Gigabits/Second"++pattern EntitlementDataUnit_Gigabytes :: EntitlementDataUnit+pattern EntitlementDataUnit_Gigabytes = EntitlementDataUnit' "Gigabytes"++pattern EntitlementDataUnit_Gigabytes_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Gigabytes_Second = EntitlementDataUnit' "Gigabytes/Second"++pattern EntitlementDataUnit_Kilobits :: EntitlementDataUnit+pattern EntitlementDataUnit_Kilobits = EntitlementDataUnit' "Kilobits"++pattern EntitlementDataUnit_Kilobits_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Kilobits_Second = EntitlementDataUnit' "Kilobits/Second"++pattern EntitlementDataUnit_Kilobytes :: EntitlementDataUnit+pattern EntitlementDataUnit_Kilobytes = EntitlementDataUnit' "Kilobytes"++pattern EntitlementDataUnit_Kilobytes_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Kilobytes_Second = EntitlementDataUnit' "Kilobytes/Second"++pattern EntitlementDataUnit_Megabits :: EntitlementDataUnit+pattern EntitlementDataUnit_Megabits = EntitlementDataUnit' "Megabits"++pattern EntitlementDataUnit_Megabits_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Megabits_Second = EntitlementDataUnit' "Megabits/Second"++pattern EntitlementDataUnit_Megabytes :: EntitlementDataUnit+pattern EntitlementDataUnit_Megabytes = EntitlementDataUnit' "Megabytes"++pattern EntitlementDataUnit_Megabytes_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Megabytes_Second = EntitlementDataUnit' "Megabytes/Second"++pattern EntitlementDataUnit_Microseconds :: EntitlementDataUnit+pattern EntitlementDataUnit_Microseconds = EntitlementDataUnit' "Microseconds"++pattern EntitlementDataUnit_Milliseconds :: EntitlementDataUnit+pattern EntitlementDataUnit_Milliseconds = EntitlementDataUnit' "Milliseconds"++pattern EntitlementDataUnit_None :: EntitlementDataUnit+pattern EntitlementDataUnit_None = EntitlementDataUnit' "None"++pattern EntitlementDataUnit_Percent :: EntitlementDataUnit+pattern EntitlementDataUnit_Percent = EntitlementDataUnit' "Percent"++pattern EntitlementDataUnit_Seconds :: EntitlementDataUnit+pattern EntitlementDataUnit_Seconds = EntitlementDataUnit' "Seconds"++pattern EntitlementDataUnit_Terabits :: EntitlementDataUnit+pattern EntitlementDataUnit_Terabits = EntitlementDataUnit' "Terabits"++pattern EntitlementDataUnit_Terabits_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Terabits_Second = EntitlementDataUnit' "Terabits/Second"++pattern EntitlementDataUnit_Terabytes :: EntitlementDataUnit+pattern EntitlementDataUnit_Terabytes = EntitlementDataUnit' "Terabytes"++pattern EntitlementDataUnit_Terabytes_Second :: EntitlementDataUnit+pattern EntitlementDataUnit_Terabytes_Second = EntitlementDataUnit' "Terabytes/Second"++{-# COMPLETE+  EntitlementDataUnit_Bits,+  EntitlementDataUnit_Bits_Second,+  EntitlementDataUnit_Bytes,+  EntitlementDataUnit_Bytes_Second,+  EntitlementDataUnit_Count,+  EntitlementDataUnit_Count_Second,+  EntitlementDataUnit_Gigabits,+  EntitlementDataUnit_Gigabits_Second,+  EntitlementDataUnit_Gigabytes,+  EntitlementDataUnit_Gigabytes_Second,+  EntitlementDataUnit_Kilobits,+  EntitlementDataUnit_Kilobits_Second,+  EntitlementDataUnit_Kilobytes,+  EntitlementDataUnit_Kilobytes_Second,+  EntitlementDataUnit_Megabits,+  EntitlementDataUnit_Megabits_Second,+  EntitlementDataUnit_Megabytes,+  EntitlementDataUnit_Megabytes_Second,+  EntitlementDataUnit_Microseconds,+  EntitlementDataUnit_Milliseconds,+  EntitlementDataUnit_None,+  EntitlementDataUnit_Percent,+  EntitlementDataUnit_Seconds,+  EntitlementDataUnit_Terabits,+  EntitlementDataUnit_Terabits_Second,+  EntitlementDataUnit_Terabytes,+  EntitlementDataUnit_Terabytes_Second,+  EntitlementDataUnit'+  #-}
+ gen/Amazonka/LicenseManager/Types/EntitlementUnit.hs view
@@ -0,0 +1,196 @@+{-# 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.LicenseManager.Types.EntitlementUnit+-- 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.LicenseManager.Types.EntitlementUnit+  ( EntitlementUnit+      ( ..,+        EntitlementUnit_Bits,+        EntitlementUnit_Bits_Second,+        EntitlementUnit_Bytes,+        EntitlementUnit_Bytes_Second,+        EntitlementUnit_Count,+        EntitlementUnit_Count_Second,+        EntitlementUnit_Gigabits,+        EntitlementUnit_Gigabits_Second,+        EntitlementUnit_Gigabytes,+        EntitlementUnit_Gigabytes_Second,+        EntitlementUnit_Kilobits,+        EntitlementUnit_Kilobits_Second,+        EntitlementUnit_Kilobytes,+        EntitlementUnit_Kilobytes_Second,+        EntitlementUnit_Megabits,+        EntitlementUnit_Megabits_Second,+        EntitlementUnit_Megabytes,+        EntitlementUnit_Megabytes_Second,+        EntitlementUnit_Microseconds,+        EntitlementUnit_Milliseconds,+        EntitlementUnit_None,+        EntitlementUnit_Percent,+        EntitlementUnit_Seconds,+        EntitlementUnit_Terabits,+        EntitlementUnit_Terabits_Second,+        EntitlementUnit_Terabytes,+        EntitlementUnit_Terabytes_Second+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EntitlementUnit = EntitlementUnit'+  { fromEntitlementUnit ::+      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 EntitlementUnit_Bits :: EntitlementUnit+pattern EntitlementUnit_Bits = EntitlementUnit' "Bits"++pattern EntitlementUnit_Bits_Second :: EntitlementUnit+pattern EntitlementUnit_Bits_Second = EntitlementUnit' "Bits/Second"++pattern EntitlementUnit_Bytes :: EntitlementUnit+pattern EntitlementUnit_Bytes = EntitlementUnit' "Bytes"++pattern EntitlementUnit_Bytes_Second :: EntitlementUnit+pattern EntitlementUnit_Bytes_Second = EntitlementUnit' "Bytes/Second"++pattern EntitlementUnit_Count :: EntitlementUnit+pattern EntitlementUnit_Count = EntitlementUnit' "Count"++pattern EntitlementUnit_Count_Second :: EntitlementUnit+pattern EntitlementUnit_Count_Second = EntitlementUnit' "Count/Second"++pattern EntitlementUnit_Gigabits :: EntitlementUnit+pattern EntitlementUnit_Gigabits = EntitlementUnit' "Gigabits"++pattern EntitlementUnit_Gigabits_Second :: EntitlementUnit+pattern EntitlementUnit_Gigabits_Second = EntitlementUnit' "Gigabits/Second"++pattern EntitlementUnit_Gigabytes :: EntitlementUnit+pattern EntitlementUnit_Gigabytes = EntitlementUnit' "Gigabytes"++pattern EntitlementUnit_Gigabytes_Second :: EntitlementUnit+pattern EntitlementUnit_Gigabytes_Second = EntitlementUnit' "Gigabytes/Second"++pattern EntitlementUnit_Kilobits :: EntitlementUnit+pattern EntitlementUnit_Kilobits = EntitlementUnit' "Kilobits"++pattern EntitlementUnit_Kilobits_Second :: EntitlementUnit+pattern EntitlementUnit_Kilobits_Second = EntitlementUnit' "Kilobits/Second"++pattern EntitlementUnit_Kilobytes :: EntitlementUnit+pattern EntitlementUnit_Kilobytes = EntitlementUnit' "Kilobytes"++pattern EntitlementUnit_Kilobytes_Second :: EntitlementUnit+pattern EntitlementUnit_Kilobytes_Second = EntitlementUnit' "Kilobytes/Second"++pattern EntitlementUnit_Megabits :: EntitlementUnit+pattern EntitlementUnit_Megabits = EntitlementUnit' "Megabits"++pattern EntitlementUnit_Megabits_Second :: EntitlementUnit+pattern EntitlementUnit_Megabits_Second = EntitlementUnit' "Megabits/Second"++pattern EntitlementUnit_Megabytes :: EntitlementUnit+pattern EntitlementUnit_Megabytes = EntitlementUnit' "Megabytes"++pattern EntitlementUnit_Megabytes_Second :: EntitlementUnit+pattern EntitlementUnit_Megabytes_Second = EntitlementUnit' "Megabytes/Second"++pattern EntitlementUnit_Microseconds :: EntitlementUnit+pattern EntitlementUnit_Microseconds = EntitlementUnit' "Microseconds"++pattern EntitlementUnit_Milliseconds :: EntitlementUnit+pattern EntitlementUnit_Milliseconds = EntitlementUnit' "Milliseconds"++pattern EntitlementUnit_None :: EntitlementUnit+pattern EntitlementUnit_None = EntitlementUnit' "None"++pattern EntitlementUnit_Percent :: EntitlementUnit+pattern EntitlementUnit_Percent = EntitlementUnit' "Percent"++pattern EntitlementUnit_Seconds :: EntitlementUnit+pattern EntitlementUnit_Seconds = EntitlementUnit' "Seconds"++pattern EntitlementUnit_Terabits :: EntitlementUnit+pattern EntitlementUnit_Terabits = EntitlementUnit' "Terabits"++pattern EntitlementUnit_Terabits_Second :: EntitlementUnit+pattern EntitlementUnit_Terabits_Second = EntitlementUnit' "Terabits/Second"++pattern EntitlementUnit_Terabytes :: EntitlementUnit+pattern EntitlementUnit_Terabytes = EntitlementUnit' "Terabytes"++pattern EntitlementUnit_Terabytes_Second :: EntitlementUnit+pattern EntitlementUnit_Terabytes_Second = EntitlementUnit' "Terabytes/Second"++{-# COMPLETE+  EntitlementUnit_Bits,+  EntitlementUnit_Bits_Second,+  EntitlementUnit_Bytes,+  EntitlementUnit_Bytes_Second,+  EntitlementUnit_Count,+  EntitlementUnit_Count_Second,+  EntitlementUnit_Gigabits,+  EntitlementUnit_Gigabits_Second,+  EntitlementUnit_Gigabytes,+  EntitlementUnit_Gigabytes_Second,+  EntitlementUnit_Kilobits,+  EntitlementUnit_Kilobits_Second,+  EntitlementUnit_Kilobytes,+  EntitlementUnit_Kilobytes_Second,+  EntitlementUnit_Megabits,+  EntitlementUnit_Megabits_Second,+  EntitlementUnit_Megabytes,+  EntitlementUnit_Megabytes_Second,+  EntitlementUnit_Microseconds,+  EntitlementUnit_Milliseconds,+  EntitlementUnit_None,+  EntitlementUnit_Percent,+  EntitlementUnit_Seconds,+  EntitlementUnit_Terabits,+  EntitlementUnit_Terabits_Second,+  EntitlementUnit_Terabytes,+  EntitlementUnit_Terabytes_Second,+  EntitlementUnit'+  #-}
+ gen/Amazonka/LicenseManager/Types/EntitlementUsage.hs view
@@ -0,0 +1,115 @@+{-# 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.LicenseManager.Types.EntitlementUsage+-- 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.LicenseManager.Types.EntitlementUsage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.EntitlementDataUnit+import qualified Amazonka.Prelude as Prelude++-- | Usage associated with an entitlement resource.+--+-- /See:/ 'newEntitlementUsage' smart constructor.+data EntitlementUsage = EntitlementUsage'+  { -- | Maximum entitlement usage count.+    maxCount :: Prelude.Maybe Prelude.Text,+    -- | Entitlement usage name.+    name :: Prelude.Text,+    -- | Resource usage consumed.+    consumedValue :: Prelude.Text,+    -- | Entitlement usage unit.+    unit :: EntitlementDataUnit+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EntitlementUsage' 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:+--+-- 'maxCount', 'entitlementUsage_maxCount' - Maximum entitlement usage count.+--+-- 'name', 'entitlementUsage_name' - Entitlement usage name.+--+-- 'consumedValue', 'entitlementUsage_consumedValue' - Resource usage consumed.+--+-- 'unit', 'entitlementUsage_unit' - Entitlement usage unit.+newEntitlementUsage ::+  -- | 'name'+  Prelude.Text ->+  -- | 'consumedValue'+  Prelude.Text ->+  -- | 'unit'+  EntitlementDataUnit ->+  EntitlementUsage+newEntitlementUsage pName_ pConsumedValue_ pUnit_ =+  EntitlementUsage'+    { maxCount = Prelude.Nothing,+      name = pName_,+      consumedValue = pConsumedValue_,+      unit = pUnit_+    }++-- | Maximum entitlement usage count.+entitlementUsage_maxCount :: Lens.Lens' EntitlementUsage (Prelude.Maybe Prelude.Text)+entitlementUsage_maxCount = Lens.lens (\EntitlementUsage' {maxCount} -> maxCount) (\s@EntitlementUsage' {} a -> s {maxCount = a} :: EntitlementUsage)++-- | Entitlement usage name.+entitlementUsage_name :: Lens.Lens' EntitlementUsage Prelude.Text+entitlementUsage_name = Lens.lens (\EntitlementUsage' {name} -> name) (\s@EntitlementUsage' {} a -> s {name = a} :: EntitlementUsage)++-- | Resource usage consumed.+entitlementUsage_consumedValue :: Lens.Lens' EntitlementUsage Prelude.Text+entitlementUsage_consumedValue = Lens.lens (\EntitlementUsage' {consumedValue} -> consumedValue) (\s@EntitlementUsage' {} a -> s {consumedValue = a} :: EntitlementUsage)++-- | Entitlement usage unit.+entitlementUsage_unit :: Lens.Lens' EntitlementUsage EntitlementDataUnit+entitlementUsage_unit = Lens.lens (\EntitlementUsage' {unit} -> unit) (\s@EntitlementUsage' {} a -> s {unit = a} :: EntitlementUsage)++instance Data.FromJSON EntitlementUsage where+  parseJSON =+    Data.withObject+      "EntitlementUsage"+      ( \x ->+          EntitlementUsage'+            Prelude.<$> (x Data..:? "MaxCount")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "ConsumedValue")+            Prelude.<*> (x Data..: "Unit")+      )++instance Prelude.Hashable EntitlementUsage where+  hashWithSalt _salt EntitlementUsage' {..} =+    _salt+      `Prelude.hashWithSalt` maxCount+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` consumedValue+      `Prelude.hashWithSalt` unit++instance Prelude.NFData EntitlementUsage where+  rnf EntitlementUsage' {..} =+    Prelude.rnf maxCount+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf consumedValue+      `Prelude.seq` Prelude.rnf unit
+ gen/Amazonka/LicenseManager/Types/Filter.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.LicenseManager.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.LicenseManager.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 name and value pair that is used to return more specific+-- results from a describe operation. Filters can be used to match a set of+-- resources by specific criteria, such as tags, attributes, or IDs.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | Name of the filter. Filter names are case-sensitive.+    name :: Prelude.Maybe Prelude.Text,+    -- | Filter values. Filter values are case-sensitive.+    values :: Prelude.Maybe [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' - Name of the filter. Filter names are case-sensitive.+--+-- 'values', 'filter_values' - Filter values. Filter values are case-sensitive.+newFilter ::+  Filter+newFilter =+  Filter'+    { name = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | Name of the filter. Filter names are case-sensitive.+filter_name :: Lens.Lens' Filter (Prelude.Maybe Prelude.Text)+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | Filter values. Filter values are case-sensitive.+filter_values :: Lens.Lens' Filter (Prelude.Maybe [Prelude.Text])+filter_values = Lens.lens (\Filter' {values} -> values) (\s@Filter' {} a -> s {values = a} :: Filter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/LicenseManager/Types/Grant.hs view
@@ -0,0 +1,210 @@+{-# 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.LicenseManager.Types.Grant+-- 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.LicenseManager.Types.Grant where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.AllowedOperation+import Amazonka.LicenseManager.Types.GrantStatus+import qualified Amazonka.Prelude as Prelude++-- | Describes a grant.+--+-- /See:/ 'newGrant' smart constructor.+data Grant = Grant'+  { -- | Grant status reason.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the grant.+    grantArn :: Prelude.Text,+    -- | Grant name.+    grantName :: Prelude.Text,+    -- | Parent ARN.+    parentArn :: Prelude.Text,+    -- | License ARN.+    licenseArn :: Prelude.Text,+    -- | The grantee principal ARN.+    granteePrincipalArn :: Prelude.Text,+    -- | Home Region of the grant.+    homeRegion :: Prelude.Text,+    -- | Grant status.+    grantStatus :: GrantStatus,+    -- | Grant version.+    version :: Prelude.Text,+    -- | Granted operations.+    grantedOperations :: Prelude.NonEmpty AllowedOperation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Grant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statusReason', 'grant_statusReason' - Grant status reason.+--+-- 'grantArn', 'grant_grantArn' - Amazon Resource Name (ARN) of the grant.+--+-- 'grantName', 'grant_grantName' - Grant name.+--+-- 'parentArn', 'grant_parentArn' - Parent ARN.+--+-- 'licenseArn', 'grant_licenseArn' - License ARN.+--+-- 'granteePrincipalArn', 'grant_granteePrincipalArn' - The grantee principal ARN.+--+-- 'homeRegion', 'grant_homeRegion' - Home Region of the grant.+--+-- 'grantStatus', 'grant_grantStatus' - Grant status.+--+-- 'version', 'grant_version' - Grant version.+--+-- 'grantedOperations', 'grant_grantedOperations' - Granted operations.+newGrant ::+  -- | 'grantArn'+  Prelude.Text ->+  -- | 'grantName'+  Prelude.Text ->+  -- | 'parentArn'+  Prelude.Text ->+  -- | 'licenseArn'+  Prelude.Text ->+  -- | 'granteePrincipalArn'+  Prelude.Text ->+  -- | 'homeRegion'+  Prelude.Text ->+  -- | 'grantStatus'+  GrantStatus ->+  -- | 'version'+  Prelude.Text ->+  -- | 'grantedOperations'+  Prelude.NonEmpty AllowedOperation ->+  Grant+newGrant+  pGrantArn_+  pGrantName_+  pParentArn_+  pLicenseArn_+  pGranteePrincipalArn_+  pHomeRegion_+  pGrantStatus_+  pVersion_+  pGrantedOperations_ =+    Grant'+      { statusReason = Prelude.Nothing,+        grantArn = pGrantArn_,+        grantName = pGrantName_,+        parentArn = pParentArn_,+        licenseArn = pLicenseArn_,+        granteePrincipalArn = pGranteePrincipalArn_,+        homeRegion = pHomeRegion_,+        grantStatus = pGrantStatus_,+        version = pVersion_,+        grantedOperations =+          Lens.coerced Lens.# pGrantedOperations_+      }++-- | Grant status reason.+grant_statusReason :: Lens.Lens' Grant (Prelude.Maybe Prelude.Text)+grant_statusReason = Lens.lens (\Grant' {statusReason} -> statusReason) (\s@Grant' {} a -> s {statusReason = a} :: Grant)++-- | Amazon Resource Name (ARN) of the grant.+grant_grantArn :: Lens.Lens' Grant Prelude.Text+grant_grantArn = Lens.lens (\Grant' {grantArn} -> grantArn) (\s@Grant' {} a -> s {grantArn = a} :: Grant)++-- | Grant name.+grant_grantName :: Lens.Lens' Grant Prelude.Text+grant_grantName = Lens.lens (\Grant' {grantName} -> grantName) (\s@Grant' {} a -> s {grantName = a} :: Grant)++-- | Parent ARN.+grant_parentArn :: Lens.Lens' Grant Prelude.Text+grant_parentArn = Lens.lens (\Grant' {parentArn} -> parentArn) (\s@Grant' {} a -> s {parentArn = a} :: Grant)++-- | License ARN.+grant_licenseArn :: Lens.Lens' Grant Prelude.Text+grant_licenseArn = Lens.lens (\Grant' {licenseArn} -> licenseArn) (\s@Grant' {} a -> s {licenseArn = a} :: Grant)++-- | The grantee principal ARN.+grant_granteePrincipalArn :: Lens.Lens' Grant Prelude.Text+grant_granteePrincipalArn = Lens.lens (\Grant' {granteePrincipalArn} -> granteePrincipalArn) (\s@Grant' {} a -> s {granteePrincipalArn = a} :: Grant)++-- | Home Region of the grant.+grant_homeRegion :: Lens.Lens' Grant Prelude.Text+grant_homeRegion = Lens.lens (\Grant' {homeRegion} -> homeRegion) (\s@Grant' {} a -> s {homeRegion = a} :: Grant)++-- | Grant status.+grant_grantStatus :: Lens.Lens' Grant GrantStatus+grant_grantStatus = Lens.lens (\Grant' {grantStatus} -> grantStatus) (\s@Grant' {} a -> s {grantStatus = a} :: Grant)++-- | Grant version.+grant_version :: Lens.Lens' Grant Prelude.Text+grant_version = Lens.lens (\Grant' {version} -> version) (\s@Grant' {} a -> s {version = a} :: Grant)++-- | Granted operations.+grant_grantedOperations :: Lens.Lens' Grant (Prelude.NonEmpty AllowedOperation)+grant_grantedOperations = Lens.lens (\Grant' {grantedOperations} -> grantedOperations) (\s@Grant' {} a -> s {grantedOperations = a} :: Grant) Prelude.. Lens.coerced++instance Data.FromJSON Grant where+  parseJSON =+    Data.withObject+      "Grant"+      ( \x ->+          Grant'+            Prelude.<$> (x Data..:? "StatusReason")+            Prelude.<*> (x Data..: "GrantArn")+            Prelude.<*> (x Data..: "GrantName")+            Prelude.<*> (x Data..: "ParentArn")+            Prelude.<*> (x Data..: "LicenseArn")+            Prelude.<*> (x Data..: "GranteePrincipalArn")+            Prelude.<*> (x Data..: "HomeRegion")+            Prelude.<*> (x Data..: "GrantStatus")+            Prelude.<*> (x Data..: "Version")+            Prelude.<*> (x Data..: "GrantedOperations")+      )++instance Prelude.Hashable Grant where+  hashWithSalt _salt Grant' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` grantArn+      `Prelude.hashWithSalt` grantName+      `Prelude.hashWithSalt` parentArn+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` granteePrincipalArn+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` grantStatus+      `Prelude.hashWithSalt` version+      `Prelude.hashWithSalt` grantedOperations++instance Prelude.NFData Grant where+  rnf Grant' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf grantArn+      `Prelude.seq` Prelude.rnf grantName+      `Prelude.seq` Prelude.rnf parentArn+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf granteePrincipalArn+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf grantStatus+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf grantedOperations
+ gen/Amazonka/LicenseManager/Types/GrantStatus.hs view
@@ -0,0 +1,106 @@+{-# 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.LicenseManager.Types.GrantStatus+-- 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.LicenseManager.Types.GrantStatus+  ( GrantStatus+      ( ..,+        GrantStatus_ACTIVE,+        GrantStatus_DELETED,+        GrantStatus_DISABLED,+        GrantStatus_FAILED_WORKFLOW,+        GrantStatus_PENDING_ACCEPT,+        GrantStatus_PENDING_DELETE,+        GrantStatus_PENDING_WORKFLOW,+        GrantStatus_REJECTED,+        GrantStatus_WORKFLOW_COMPLETED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GrantStatus = GrantStatus'+  { fromGrantStatus ::+      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 GrantStatus_ACTIVE :: GrantStatus+pattern GrantStatus_ACTIVE = GrantStatus' "ACTIVE"++pattern GrantStatus_DELETED :: GrantStatus+pattern GrantStatus_DELETED = GrantStatus' "DELETED"++pattern GrantStatus_DISABLED :: GrantStatus+pattern GrantStatus_DISABLED = GrantStatus' "DISABLED"++pattern GrantStatus_FAILED_WORKFLOW :: GrantStatus+pattern GrantStatus_FAILED_WORKFLOW = GrantStatus' "FAILED_WORKFLOW"++pattern GrantStatus_PENDING_ACCEPT :: GrantStatus+pattern GrantStatus_PENDING_ACCEPT = GrantStatus' "PENDING_ACCEPT"++pattern GrantStatus_PENDING_DELETE :: GrantStatus+pattern GrantStatus_PENDING_DELETE = GrantStatus' "PENDING_DELETE"++pattern GrantStatus_PENDING_WORKFLOW :: GrantStatus+pattern GrantStatus_PENDING_WORKFLOW = GrantStatus' "PENDING_WORKFLOW"++pattern GrantStatus_REJECTED :: GrantStatus+pattern GrantStatus_REJECTED = GrantStatus' "REJECTED"++pattern GrantStatus_WORKFLOW_COMPLETED :: GrantStatus+pattern GrantStatus_WORKFLOW_COMPLETED = GrantStatus' "WORKFLOW_COMPLETED"++{-# COMPLETE+  GrantStatus_ACTIVE,+  GrantStatus_DELETED,+  GrantStatus_DISABLED,+  GrantStatus_FAILED_WORKFLOW,+  GrantStatus_PENDING_ACCEPT,+  GrantStatus_PENDING_DELETE,+  GrantStatus_PENDING_WORKFLOW,+  GrantStatus_REJECTED,+  GrantStatus_WORKFLOW_COMPLETED,+  GrantStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/GrantedLicense.hs view
@@ -0,0 +1,253 @@+{-# 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.LicenseManager.Types.GrantedLicense+-- 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.LicenseManager.Types.GrantedLicense where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ConsumptionConfiguration+import Amazonka.LicenseManager.Types.DatetimeRange+import Amazonka.LicenseManager.Types.Entitlement+import Amazonka.LicenseManager.Types.IssuerDetails+import Amazonka.LicenseManager.Types.LicenseStatus+import Amazonka.LicenseManager.Types.Metadata+import Amazonka.LicenseManager.Types.ReceivedMetadata+import qualified Amazonka.Prelude as Prelude++-- | Describes a license that is granted to a grantee.+--+-- /See:/ 'newGrantedLicense' smart constructor.+data GrantedLicense = GrantedLicense'+  { -- | Granted license beneficiary.+    beneficiary :: Prelude.Maybe Prelude.Text,+    -- | Configuration for consumption of the license.+    consumptionConfiguration :: Prelude.Maybe ConsumptionConfiguration,+    -- | Creation time of the granted license.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | License entitlements.+    entitlements :: Prelude.Maybe [Entitlement],+    -- | Home Region of the granted license.+    homeRegion :: Prelude.Maybe Prelude.Text,+    -- | Granted license issuer.+    issuer :: Prelude.Maybe IssuerDetails,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | Granted license metadata.+    licenseMetadata :: Prelude.Maybe [Metadata],+    -- | License name.+    licenseName :: Prelude.Maybe Prelude.Text,+    -- | Product name.+    productName :: Prelude.Maybe Prelude.Text,+    -- | Product SKU.+    productSKU :: Prelude.Maybe Prelude.Text,+    -- | Granted license received metadata.+    receivedMetadata :: Prelude.Maybe ReceivedMetadata,+    -- | Granted license status.+    status :: Prelude.Maybe LicenseStatus,+    -- | Date and time range during which the granted license is valid, in+    -- ISO8601-UTC format.+    validity :: Prelude.Maybe DatetimeRange,+    -- | Version of the granted license.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GrantedLicense' 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:+--+-- 'beneficiary', 'grantedLicense_beneficiary' - Granted license beneficiary.+--+-- 'consumptionConfiguration', 'grantedLicense_consumptionConfiguration' - Configuration for consumption of the license.+--+-- 'createTime', 'grantedLicense_createTime' - Creation time of the granted license.+--+-- 'entitlements', 'grantedLicense_entitlements' - License entitlements.+--+-- 'homeRegion', 'grantedLicense_homeRegion' - Home Region of the granted license.+--+-- 'issuer', 'grantedLicense_issuer' - Granted license issuer.+--+-- 'licenseArn', 'grantedLicense_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'licenseMetadata', 'grantedLicense_licenseMetadata' - Granted license metadata.+--+-- 'licenseName', 'grantedLicense_licenseName' - License name.+--+-- 'productName', 'grantedLicense_productName' - Product name.+--+-- 'productSKU', 'grantedLicense_productSKU' - Product SKU.+--+-- 'receivedMetadata', 'grantedLicense_receivedMetadata' - Granted license received metadata.+--+-- 'status', 'grantedLicense_status' - Granted license status.+--+-- 'validity', 'grantedLicense_validity' - Date and time range during which the granted license is valid, in+-- ISO8601-UTC format.+--+-- 'version', 'grantedLicense_version' - Version of the granted license.+newGrantedLicense ::+  GrantedLicense+newGrantedLicense =+  GrantedLicense'+    { beneficiary = Prelude.Nothing,+      consumptionConfiguration = Prelude.Nothing,+      createTime = Prelude.Nothing,+      entitlements = Prelude.Nothing,+      homeRegion = Prelude.Nothing,+      issuer = Prelude.Nothing,+      licenseArn = Prelude.Nothing,+      licenseMetadata = Prelude.Nothing,+      licenseName = Prelude.Nothing,+      productName = Prelude.Nothing,+      productSKU = Prelude.Nothing,+      receivedMetadata = Prelude.Nothing,+      status = Prelude.Nothing,+      validity = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | Granted license beneficiary.+grantedLicense_beneficiary :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_beneficiary = Lens.lens (\GrantedLicense' {beneficiary} -> beneficiary) (\s@GrantedLicense' {} a -> s {beneficiary = a} :: GrantedLicense)++-- | Configuration for consumption of the license.+grantedLicense_consumptionConfiguration :: Lens.Lens' GrantedLicense (Prelude.Maybe ConsumptionConfiguration)+grantedLicense_consumptionConfiguration = Lens.lens (\GrantedLicense' {consumptionConfiguration} -> consumptionConfiguration) (\s@GrantedLicense' {} a -> s {consumptionConfiguration = a} :: GrantedLicense)++-- | Creation time of the granted license.+grantedLicense_createTime :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_createTime = Lens.lens (\GrantedLicense' {createTime} -> createTime) (\s@GrantedLicense' {} a -> s {createTime = a} :: GrantedLicense)++-- | License entitlements.+grantedLicense_entitlements :: Lens.Lens' GrantedLicense (Prelude.Maybe [Entitlement])+grantedLicense_entitlements = Lens.lens (\GrantedLicense' {entitlements} -> entitlements) (\s@GrantedLicense' {} a -> s {entitlements = a} :: GrantedLicense) Prelude.. Lens.mapping Lens.coerced++-- | Home Region of the granted license.+grantedLicense_homeRegion :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_homeRegion = Lens.lens (\GrantedLicense' {homeRegion} -> homeRegion) (\s@GrantedLicense' {} a -> s {homeRegion = a} :: GrantedLicense)++-- | Granted license issuer.+grantedLicense_issuer :: Lens.Lens' GrantedLicense (Prelude.Maybe IssuerDetails)+grantedLicense_issuer = Lens.lens (\GrantedLicense' {issuer} -> issuer) (\s@GrantedLicense' {} a -> s {issuer = a} :: GrantedLicense)++-- | Amazon Resource Name (ARN) of the license.+grantedLicense_licenseArn :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_licenseArn = Lens.lens (\GrantedLicense' {licenseArn} -> licenseArn) (\s@GrantedLicense' {} a -> s {licenseArn = a} :: GrantedLicense)++-- | Granted license metadata.+grantedLicense_licenseMetadata :: Lens.Lens' GrantedLicense (Prelude.Maybe [Metadata])+grantedLicense_licenseMetadata = Lens.lens (\GrantedLicense' {licenseMetadata} -> licenseMetadata) (\s@GrantedLicense' {} a -> s {licenseMetadata = a} :: GrantedLicense) Prelude.. Lens.mapping Lens.coerced++-- | License name.+grantedLicense_licenseName :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_licenseName = Lens.lens (\GrantedLicense' {licenseName} -> licenseName) (\s@GrantedLicense' {} a -> s {licenseName = a} :: GrantedLicense)++-- | Product name.+grantedLicense_productName :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_productName = Lens.lens (\GrantedLicense' {productName} -> productName) (\s@GrantedLicense' {} a -> s {productName = a} :: GrantedLicense)++-- | Product SKU.+grantedLicense_productSKU :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_productSKU = Lens.lens (\GrantedLicense' {productSKU} -> productSKU) (\s@GrantedLicense' {} a -> s {productSKU = a} :: GrantedLicense)++-- | Granted license received metadata.+grantedLicense_receivedMetadata :: Lens.Lens' GrantedLicense (Prelude.Maybe ReceivedMetadata)+grantedLicense_receivedMetadata = Lens.lens (\GrantedLicense' {receivedMetadata} -> receivedMetadata) (\s@GrantedLicense' {} a -> s {receivedMetadata = a} :: GrantedLicense)++-- | Granted license status.+grantedLicense_status :: Lens.Lens' GrantedLicense (Prelude.Maybe LicenseStatus)+grantedLicense_status = Lens.lens (\GrantedLicense' {status} -> status) (\s@GrantedLicense' {} a -> s {status = a} :: GrantedLicense)++-- | Date and time range during which the granted license is valid, in+-- ISO8601-UTC format.+grantedLicense_validity :: Lens.Lens' GrantedLicense (Prelude.Maybe DatetimeRange)+grantedLicense_validity = Lens.lens (\GrantedLicense' {validity} -> validity) (\s@GrantedLicense' {} a -> s {validity = a} :: GrantedLicense)++-- | Version of the granted license.+grantedLicense_version :: Lens.Lens' GrantedLicense (Prelude.Maybe Prelude.Text)+grantedLicense_version = Lens.lens (\GrantedLicense' {version} -> version) (\s@GrantedLicense' {} a -> s {version = a} :: GrantedLicense)++instance Data.FromJSON GrantedLicense where+  parseJSON =+    Data.withObject+      "GrantedLicense"+      ( \x ->+          GrantedLicense'+            Prelude.<$> (x Data..:? "Beneficiary")+            Prelude.<*> (x Data..:? "ConsumptionConfiguration")+            Prelude.<*> (x Data..:? "CreateTime")+            Prelude.<*> (x Data..:? "Entitlements" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "HomeRegion")+            Prelude.<*> (x Data..:? "Issuer")+            Prelude.<*> (x Data..:? "LicenseArn")+            Prelude.<*> ( x+                            Data..:? "LicenseMetadata"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "LicenseName")+            Prelude.<*> (x Data..:? "ProductName")+            Prelude.<*> (x Data..:? "ProductSKU")+            Prelude.<*> (x Data..:? "ReceivedMetadata")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Validity")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable GrantedLicense where+  hashWithSalt _salt GrantedLicense' {..} =+    _salt+      `Prelude.hashWithSalt` beneficiary+      `Prelude.hashWithSalt` consumptionConfiguration+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` issuer+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` licenseMetadata+      `Prelude.hashWithSalt` licenseName+      `Prelude.hashWithSalt` productName+      `Prelude.hashWithSalt` productSKU+      `Prelude.hashWithSalt` receivedMetadata+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` validity+      `Prelude.hashWithSalt` version++instance Prelude.NFData GrantedLicense where+  rnf GrantedLicense' {..} =+    Prelude.rnf beneficiary+      `Prelude.seq` Prelude.rnf consumptionConfiguration+      `Prelude.seq` Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf issuer+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf licenseMetadata+      `Prelude.seq` Prelude.rnf licenseName+      `Prelude.seq` Prelude.rnf productName+      `Prelude.seq` Prelude.rnf productSKU+      `Prelude.seq` Prelude.rnf receivedMetadata+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf validity+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/LicenseManager/Types/InventoryFilter.hs view
@@ -0,0 +1,100 @@+{-# 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.LicenseManager.Types.InventoryFilter+-- 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.LicenseManager.Types.InventoryFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.InventoryFilterCondition+import qualified Amazonka.Prelude as Prelude++-- | An inventory filter.+--+-- /See:/ 'newInventoryFilter' smart constructor.+data InventoryFilter = InventoryFilter'+  { -- | Value of the filter.+    value :: Prelude.Maybe Prelude.Text,+    -- | Name of the filter.+    name :: Prelude.Text,+    -- | Condition of the filter.+    condition :: InventoryFilterCondition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryFilter' 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:+--+-- 'value', 'inventoryFilter_value' - Value of the filter.+--+-- 'name', 'inventoryFilter_name' - Name of the filter.+--+-- 'condition', 'inventoryFilter_condition' - Condition of the filter.+newInventoryFilter ::+  -- | 'name'+  Prelude.Text ->+  -- | 'condition'+  InventoryFilterCondition ->+  InventoryFilter+newInventoryFilter pName_ pCondition_ =+  InventoryFilter'+    { value = Prelude.Nothing,+      name = pName_,+      condition = pCondition_+    }++-- | Value of the filter.+inventoryFilter_value :: Lens.Lens' InventoryFilter (Prelude.Maybe Prelude.Text)+inventoryFilter_value = Lens.lens (\InventoryFilter' {value} -> value) (\s@InventoryFilter' {} a -> s {value = a} :: InventoryFilter)++-- | Name of the filter.+inventoryFilter_name :: Lens.Lens' InventoryFilter Prelude.Text+inventoryFilter_name = Lens.lens (\InventoryFilter' {name} -> name) (\s@InventoryFilter' {} a -> s {name = a} :: InventoryFilter)++-- | Condition of the filter.+inventoryFilter_condition :: Lens.Lens' InventoryFilter InventoryFilterCondition+inventoryFilter_condition = Lens.lens (\InventoryFilter' {condition} -> condition) (\s@InventoryFilter' {} a -> s {condition = a} :: InventoryFilter)++instance Prelude.Hashable InventoryFilter where+  hashWithSalt _salt InventoryFilter' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` condition++instance Prelude.NFData InventoryFilter where+  rnf InventoryFilter' {..} =+    Prelude.rnf value+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf condition++instance Data.ToJSON InventoryFilter where+  toJSON InventoryFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Condition" Data..= condition)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/InventoryFilterCondition.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.InventoryFilterCondition+-- 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.LicenseManager.Types.InventoryFilterCondition+  ( InventoryFilterCondition+      ( ..,+        InventoryFilterCondition_BEGINS_WITH,+        InventoryFilterCondition_CONTAINS,+        InventoryFilterCondition_EQUALS,+        InventoryFilterCondition_NOT_EQUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InventoryFilterCondition = InventoryFilterCondition'+  { fromInventoryFilterCondition ::+      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 InventoryFilterCondition_BEGINS_WITH :: InventoryFilterCondition+pattern InventoryFilterCondition_BEGINS_WITH = InventoryFilterCondition' "BEGINS_WITH"++pattern InventoryFilterCondition_CONTAINS :: InventoryFilterCondition+pattern InventoryFilterCondition_CONTAINS = InventoryFilterCondition' "CONTAINS"++pattern InventoryFilterCondition_EQUALS :: InventoryFilterCondition+pattern InventoryFilterCondition_EQUALS = InventoryFilterCondition' "EQUALS"++pattern InventoryFilterCondition_NOT_EQUALS :: InventoryFilterCondition+pattern InventoryFilterCondition_NOT_EQUALS = InventoryFilterCondition' "NOT_EQUALS"++{-# COMPLETE+  InventoryFilterCondition_BEGINS_WITH,+  InventoryFilterCondition_CONTAINS,+  InventoryFilterCondition_EQUALS,+  InventoryFilterCondition_NOT_EQUALS,+  InventoryFilterCondition'+  #-}
+ gen/Amazonka/LicenseManager/Types/Issuer.hs view
@@ -0,0 +1,87 @@+{-# 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.LicenseManager.Types.Issuer+-- 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.LicenseManager.Types.Issuer 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 issuer of a license.+--+-- /See:/ 'newIssuer' smart constructor.+data Issuer = Issuer'+  { -- | Asymmetric KMS key from Key Management Service. The KMS key must have a+    -- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+    -- algorithm.+    signKey :: Prelude.Maybe Prelude.Text,+    -- | Issuer name.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Issuer' 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:+--+-- 'signKey', 'issuer_signKey' - Asymmetric KMS key from Key Management Service. The KMS key must have a+-- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+-- algorithm.+--+-- 'name', 'issuer_name' - Issuer name.+newIssuer ::+  -- | 'name'+  Prelude.Text ->+  Issuer+newIssuer pName_ =+  Issuer' {signKey = Prelude.Nothing, name = pName_}++-- | Asymmetric KMS key from Key Management Service. The KMS key must have a+-- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+-- algorithm.+issuer_signKey :: Lens.Lens' Issuer (Prelude.Maybe Prelude.Text)+issuer_signKey = Lens.lens (\Issuer' {signKey} -> signKey) (\s@Issuer' {} a -> s {signKey = a} :: Issuer)++-- | Issuer name.+issuer_name :: Lens.Lens' Issuer Prelude.Text+issuer_name = Lens.lens (\Issuer' {name} -> name) (\s@Issuer' {} a -> s {name = a} :: Issuer)++instance Prelude.Hashable Issuer where+  hashWithSalt _salt Issuer' {..} =+    _salt+      `Prelude.hashWithSalt` signKey+      `Prelude.hashWithSalt` name++instance Prelude.NFData Issuer where+  rnf Issuer' {..} =+    Prelude.rnf signKey `Prelude.seq` Prelude.rnf name++instance Data.ToJSON Issuer where+  toJSON Issuer' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SignKey" Data..=) Prelude.<$> signKey,+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/IssuerDetails.hs view
@@ -0,0 +1,102 @@+{-# 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.LicenseManager.Types.IssuerDetails+-- 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.LicenseManager.Types.IssuerDetails 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 associated with the issuer of a license.+--+-- /See:/ 'newIssuerDetails' smart constructor.+data IssuerDetails = IssuerDetails'+  { -- | Issuer key fingerprint.+    keyFingerprint :: Prelude.Maybe Prelude.Text,+    -- | Issuer name.+    name :: Prelude.Maybe Prelude.Text,+    -- | Asymmetric KMS key from Key Management Service. The KMS key must have a+    -- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+    -- algorithm.+    signKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IssuerDetails' 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:+--+-- 'keyFingerprint', 'issuerDetails_keyFingerprint' - Issuer key fingerprint.+--+-- 'name', 'issuerDetails_name' - Issuer name.+--+-- 'signKey', 'issuerDetails_signKey' - Asymmetric KMS key from Key Management Service. The KMS key must have a+-- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+-- algorithm.+newIssuerDetails ::+  IssuerDetails+newIssuerDetails =+  IssuerDetails'+    { keyFingerprint = Prelude.Nothing,+      name = Prelude.Nothing,+      signKey = Prelude.Nothing+    }++-- | Issuer key fingerprint.+issuerDetails_keyFingerprint :: Lens.Lens' IssuerDetails (Prelude.Maybe Prelude.Text)+issuerDetails_keyFingerprint = Lens.lens (\IssuerDetails' {keyFingerprint} -> keyFingerprint) (\s@IssuerDetails' {} a -> s {keyFingerprint = a} :: IssuerDetails)++-- | Issuer name.+issuerDetails_name :: Lens.Lens' IssuerDetails (Prelude.Maybe Prelude.Text)+issuerDetails_name = Lens.lens (\IssuerDetails' {name} -> name) (\s@IssuerDetails' {} a -> s {name = a} :: IssuerDetails)++-- | Asymmetric KMS key from Key Management Service. The KMS key must have a+-- key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing+-- algorithm.+issuerDetails_signKey :: Lens.Lens' IssuerDetails (Prelude.Maybe Prelude.Text)+issuerDetails_signKey = Lens.lens (\IssuerDetails' {signKey} -> signKey) (\s@IssuerDetails' {} a -> s {signKey = a} :: IssuerDetails)++instance Data.FromJSON IssuerDetails where+  parseJSON =+    Data.withObject+      "IssuerDetails"+      ( \x ->+          IssuerDetails'+            Prelude.<$> (x Data..:? "KeyFingerprint")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SignKey")+      )++instance Prelude.Hashable IssuerDetails where+  hashWithSalt _salt IssuerDetails' {..} =+    _salt+      `Prelude.hashWithSalt` keyFingerprint+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` signKey++instance Prelude.NFData IssuerDetails where+  rnf IssuerDetails' {..} =+    Prelude.rnf keyFingerprint+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf signKey
+ gen/Amazonka/LicenseManager/Types/License.hs view
@@ -0,0 +1,240 @@+{-# 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.LicenseManager.Types.License+-- 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.LicenseManager.Types.License where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ConsumptionConfiguration+import Amazonka.LicenseManager.Types.DatetimeRange+import Amazonka.LicenseManager.Types.Entitlement+import Amazonka.LicenseManager.Types.IssuerDetails+import Amazonka.LicenseManager.Types.LicenseStatus+import Amazonka.LicenseManager.Types.Metadata+import qualified Amazonka.Prelude as Prelude++-- | Software license that is managed in License Manager.+--+-- /See:/ 'newLicense' smart constructor.+data License = License'+  { -- | License beneficiary.+    beneficiary :: Prelude.Maybe Prelude.Text,+    -- | Configuration for consumption of the license.+    consumptionConfiguration :: Prelude.Maybe ConsumptionConfiguration,+    -- | License creation time.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | License entitlements.+    entitlements :: Prelude.Maybe [Entitlement],+    -- | Home Region of the license.+    homeRegion :: Prelude.Maybe Prelude.Text,+    -- | License issuer.+    issuer :: Prelude.Maybe IssuerDetails,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | License metadata.+    licenseMetadata :: Prelude.Maybe [Metadata],+    -- | License name.+    licenseName :: Prelude.Maybe Prelude.Text,+    -- | Product name.+    productName :: Prelude.Maybe Prelude.Text,+    -- | Product SKU.+    productSKU :: Prelude.Maybe Prelude.Text,+    -- | License status.+    status :: Prelude.Maybe LicenseStatus,+    -- | Date and time range during which the license is valid, in ISO8601-UTC+    -- format.+    validity :: Prelude.Maybe DatetimeRange,+    -- | License version.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'License' 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:+--+-- 'beneficiary', 'license_beneficiary' - License beneficiary.+--+-- 'consumptionConfiguration', 'license_consumptionConfiguration' - Configuration for consumption of the license.+--+-- 'createTime', 'license_createTime' - License creation time.+--+-- 'entitlements', 'license_entitlements' - License entitlements.+--+-- 'homeRegion', 'license_homeRegion' - Home Region of the license.+--+-- 'issuer', 'license_issuer' - License issuer.+--+-- 'licenseArn', 'license_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'licenseMetadata', 'license_licenseMetadata' - License metadata.+--+-- 'licenseName', 'license_licenseName' - License name.+--+-- 'productName', 'license_productName' - Product name.+--+-- 'productSKU', 'license_productSKU' - Product SKU.+--+-- 'status', 'license_status' - License status.+--+-- 'validity', 'license_validity' - Date and time range during which the license is valid, in ISO8601-UTC+-- format.+--+-- 'version', 'license_version' - License version.+newLicense ::+  License+newLicense =+  License'+    { beneficiary = Prelude.Nothing,+      consumptionConfiguration = Prelude.Nothing,+      createTime = Prelude.Nothing,+      entitlements = Prelude.Nothing,+      homeRegion = Prelude.Nothing,+      issuer = Prelude.Nothing,+      licenseArn = Prelude.Nothing,+      licenseMetadata = Prelude.Nothing,+      licenseName = Prelude.Nothing,+      productName = Prelude.Nothing,+      productSKU = Prelude.Nothing,+      status = Prelude.Nothing,+      validity = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | License beneficiary.+license_beneficiary :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_beneficiary = Lens.lens (\License' {beneficiary} -> beneficiary) (\s@License' {} a -> s {beneficiary = a} :: License)++-- | Configuration for consumption of the license.+license_consumptionConfiguration :: Lens.Lens' License (Prelude.Maybe ConsumptionConfiguration)+license_consumptionConfiguration = Lens.lens (\License' {consumptionConfiguration} -> consumptionConfiguration) (\s@License' {} a -> s {consumptionConfiguration = a} :: License)++-- | License creation time.+license_createTime :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_createTime = Lens.lens (\License' {createTime} -> createTime) (\s@License' {} a -> s {createTime = a} :: License)++-- | License entitlements.+license_entitlements :: Lens.Lens' License (Prelude.Maybe [Entitlement])+license_entitlements = Lens.lens (\License' {entitlements} -> entitlements) (\s@License' {} a -> s {entitlements = a} :: License) Prelude.. Lens.mapping Lens.coerced++-- | Home Region of the license.+license_homeRegion :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_homeRegion = Lens.lens (\License' {homeRegion} -> homeRegion) (\s@License' {} a -> s {homeRegion = a} :: License)++-- | License issuer.+license_issuer :: Lens.Lens' License (Prelude.Maybe IssuerDetails)+license_issuer = Lens.lens (\License' {issuer} -> issuer) (\s@License' {} a -> s {issuer = a} :: License)++-- | Amazon Resource Name (ARN) of the license.+license_licenseArn :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_licenseArn = Lens.lens (\License' {licenseArn} -> licenseArn) (\s@License' {} a -> s {licenseArn = a} :: License)++-- | License metadata.+license_licenseMetadata :: Lens.Lens' License (Prelude.Maybe [Metadata])+license_licenseMetadata = Lens.lens (\License' {licenseMetadata} -> licenseMetadata) (\s@License' {} a -> s {licenseMetadata = a} :: License) Prelude.. Lens.mapping Lens.coerced++-- | License name.+license_licenseName :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_licenseName = Lens.lens (\License' {licenseName} -> licenseName) (\s@License' {} a -> s {licenseName = a} :: License)++-- | Product name.+license_productName :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_productName = Lens.lens (\License' {productName} -> productName) (\s@License' {} a -> s {productName = a} :: License)++-- | Product SKU.+license_productSKU :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_productSKU = Lens.lens (\License' {productSKU} -> productSKU) (\s@License' {} a -> s {productSKU = a} :: License)++-- | License status.+license_status :: Lens.Lens' License (Prelude.Maybe LicenseStatus)+license_status = Lens.lens (\License' {status} -> status) (\s@License' {} a -> s {status = a} :: License)++-- | Date and time range during which the license is valid, in ISO8601-UTC+-- format.+license_validity :: Lens.Lens' License (Prelude.Maybe DatetimeRange)+license_validity = Lens.lens (\License' {validity} -> validity) (\s@License' {} a -> s {validity = a} :: License)++-- | License version.+license_version :: Lens.Lens' License (Prelude.Maybe Prelude.Text)+license_version = Lens.lens (\License' {version} -> version) (\s@License' {} a -> s {version = a} :: License)++instance Data.FromJSON License where+  parseJSON =+    Data.withObject+      "License"+      ( \x ->+          License'+            Prelude.<$> (x Data..:? "Beneficiary")+            Prelude.<*> (x Data..:? "ConsumptionConfiguration")+            Prelude.<*> (x Data..:? "CreateTime")+            Prelude.<*> (x Data..:? "Entitlements" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "HomeRegion")+            Prelude.<*> (x Data..:? "Issuer")+            Prelude.<*> (x Data..:? "LicenseArn")+            Prelude.<*> ( x+                            Data..:? "LicenseMetadata"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "LicenseName")+            Prelude.<*> (x Data..:? "ProductName")+            Prelude.<*> (x Data..:? "ProductSKU")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Validity")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable License where+  hashWithSalt _salt License' {..} =+    _salt+      `Prelude.hashWithSalt` beneficiary+      `Prelude.hashWithSalt` consumptionConfiguration+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` entitlements+      `Prelude.hashWithSalt` homeRegion+      `Prelude.hashWithSalt` issuer+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` licenseMetadata+      `Prelude.hashWithSalt` licenseName+      `Prelude.hashWithSalt` productName+      `Prelude.hashWithSalt` productSKU+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` validity+      `Prelude.hashWithSalt` version++instance Prelude.NFData License where+  rnf License' {..} =+    Prelude.rnf beneficiary+      `Prelude.seq` Prelude.rnf consumptionConfiguration+      `Prelude.seq` Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf entitlements+      `Prelude.seq` Prelude.rnf homeRegion+      `Prelude.seq` Prelude.rnf issuer+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf licenseMetadata+      `Prelude.seq` Prelude.rnf licenseName+      `Prelude.seq` Prelude.rnf productName+      `Prelude.seq` Prelude.rnf productSKU+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf validity+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/LicenseManager/Types/LicenseConfiguration.hs view
@@ -0,0 +1,273 @@+{-# 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.LicenseManager.Types.LicenseConfiguration+-- 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.LicenseManager.Types.LicenseConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.AutomatedDiscoveryInformation+import Amazonka.LicenseManager.Types.ConsumedLicenseSummary+import Amazonka.LicenseManager.Types.LicenseCountingType+import Amazonka.LicenseManager.Types.ManagedResourceSummary+import Amazonka.LicenseManager.Types.ProductInformation+import qualified Amazonka.Prelude as Prelude++-- | A license configuration is an abstraction of a customer license+-- agreement that can be consumed and enforced by License Manager.+-- Components include specifications for the license type (licensing by+-- instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy,+-- Dedicated Instance, Dedicated Host, or all of these), host affinity (how+-- long a VM must be associated with a host), and the number of licenses+-- purchased and used.+--+-- /See:/ 'newLicenseConfiguration' smart constructor.+data LicenseConfiguration = LicenseConfiguration'+  { -- | Automated discovery information.+    automatedDiscoveryInformation :: Prelude.Maybe AutomatedDiscoveryInformation,+    -- | Summaries for licenses consumed by various resources.+    consumedLicenseSummaryList :: Prelude.Maybe [ConsumedLicenseSummary],+    -- | Number of licenses consumed.+    consumedLicenses :: Prelude.Maybe Prelude.Integer,+    -- | Description of the license configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | When true, disassociates a resource when software is uninstalled.+    disassociateWhenNotFound :: Prelude.Maybe Prelude.Bool,+    -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | Unique ID of the license configuration.+    licenseConfigurationId :: Prelude.Maybe Prelude.Text,+    -- | Number of licenses managed by the license configuration.+    licenseCount :: Prelude.Maybe Prelude.Integer,+    -- | Number of available licenses as a hard limit.+    licenseCountHardLimit :: Prelude.Maybe Prelude.Bool,+    -- | Dimension to use to track the license inventory.+    licenseCountingType :: Prelude.Maybe LicenseCountingType,+    -- | License rules.+    licenseRules :: Prelude.Maybe [Prelude.Text],+    -- | Summaries for managed resources.+    managedResourceSummaryList :: Prelude.Maybe [ManagedResourceSummary],+    -- | Name of the license configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | Account ID of the license configuration\'s owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | Product information.+    productInformationList :: Prelude.Maybe [ProductInformation],+    -- | Status of the license configuration.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseConfiguration' 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:+--+-- 'automatedDiscoveryInformation', 'licenseConfiguration_automatedDiscoveryInformation' - Automated discovery information.+--+-- 'consumedLicenseSummaryList', 'licenseConfiguration_consumedLicenseSummaryList' - Summaries for licenses consumed by various resources.+--+-- 'consumedLicenses', 'licenseConfiguration_consumedLicenses' - Number of licenses consumed.+--+-- 'description', 'licenseConfiguration_description' - Description of the license configuration.+--+-- 'disassociateWhenNotFound', 'licenseConfiguration_disassociateWhenNotFound' - When true, disassociates a resource when software is uninstalled.+--+-- 'licenseConfigurationArn', 'licenseConfiguration_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+--+-- 'licenseConfigurationId', 'licenseConfiguration_licenseConfigurationId' - Unique ID of the license configuration.+--+-- 'licenseCount', 'licenseConfiguration_licenseCount' - Number of licenses managed by the license configuration.+--+-- 'licenseCountHardLimit', 'licenseConfiguration_licenseCountHardLimit' - Number of available licenses as a hard limit.+--+-- 'licenseCountingType', 'licenseConfiguration_licenseCountingType' - Dimension to use to track the license inventory.+--+-- 'licenseRules', 'licenseConfiguration_licenseRules' - License rules.+--+-- 'managedResourceSummaryList', 'licenseConfiguration_managedResourceSummaryList' - Summaries for managed resources.+--+-- 'name', 'licenseConfiguration_name' - Name of the license configuration.+--+-- 'ownerAccountId', 'licenseConfiguration_ownerAccountId' - Account ID of the license configuration\'s owner.+--+-- 'productInformationList', 'licenseConfiguration_productInformationList' - Product information.+--+-- 'status', 'licenseConfiguration_status' - Status of the license configuration.+newLicenseConfiguration ::+  LicenseConfiguration+newLicenseConfiguration =+  LicenseConfiguration'+    { automatedDiscoveryInformation =+        Prelude.Nothing,+      consumedLicenseSummaryList = Prelude.Nothing,+      consumedLicenses = Prelude.Nothing,+      description = Prelude.Nothing,+      disassociateWhenNotFound = Prelude.Nothing,+      licenseConfigurationArn = Prelude.Nothing,+      licenseConfigurationId = Prelude.Nothing,+      licenseCount = Prelude.Nothing,+      licenseCountHardLimit = Prelude.Nothing,+      licenseCountingType = Prelude.Nothing,+      licenseRules = Prelude.Nothing,+      managedResourceSummaryList = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      productInformationList = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Automated discovery information.+licenseConfiguration_automatedDiscoveryInformation :: Lens.Lens' LicenseConfiguration (Prelude.Maybe AutomatedDiscoveryInformation)+licenseConfiguration_automatedDiscoveryInformation = Lens.lens (\LicenseConfiguration' {automatedDiscoveryInformation} -> automatedDiscoveryInformation) (\s@LicenseConfiguration' {} a -> s {automatedDiscoveryInformation = a} :: LicenseConfiguration)++-- | Summaries for licenses consumed by various resources.+licenseConfiguration_consumedLicenseSummaryList :: Lens.Lens' LicenseConfiguration (Prelude.Maybe [ConsumedLicenseSummary])+licenseConfiguration_consumedLicenseSummaryList = Lens.lens (\LicenseConfiguration' {consumedLicenseSummaryList} -> consumedLicenseSummaryList) (\s@LicenseConfiguration' {} a -> s {consumedLicenseSummaryList = a} :: LicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Number of licenses consumed.+licenseConfiguration_consumedLicenses :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Integer)+licenseConfiguration_consumedLicenses = Lens.lens (\LicenseConfiguration' {consumedLicenses} -> consumedLicenses) (\s@LicenseConfiguration' {} a -> s {consumedLicenses = a} :: LicenseConfiguration)++-- | Description of the license configuration.+licenseConfiguration_description :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_description = Lens.lens (\LicenseConfiguration' {description} -> description) (\s@LicenseConfiguration' {} a -> s {description = a} :: LicenseConfiguration)++-- | When true, disassociates a resource when software is uninstalled.+licenseConfiguration_disassociateWhenNotFound :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Bool)+licenseConfiguration_disassociateWhenNotFound = Lens.lens (\LicenseConfiguration' {disassociateWhenNotFound} -> disassociateWhenNotFound) (\s@LicenseConfiguration' {} a -> s {disassociateWhenNotFound = a} :: LicenseConfiguration)++-- | Amazon Resource Name (ARN) of the license configuration.+licenseConfiguration_licenseConfigurationArn :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_licenseConfigurationArn = Lens.lens (\LicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@LicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: LicenseConfiguration)++-- | Unique ID of the license configuration.+licenseConfiguration_licenseConfigurationId :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_licenseConfigurationId = Lens.lens (\LicenseConfiguration' {licenseConfigurationId} -> licenseConfigurationId) (\s@LicenseConfiguration' {} a -> s {licenseConfigurationId = a} :: LicenseConfiguration)++-- | Number of licenses managed by the license configuration.+licenseConfiguration_licenseCount :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Integer)+licenseConfiguration_licenseCount = Lens.lens (\LicenseConfiguration' {licenseCount} -> licenseCount) (\s@LicenseConfiguration' {} a -> s {licenseCount = a} :: LicenseConfiguration)++-- | Number of available licenses as a hard limit.+licenseConfiguration_licenseCountHardLimit :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Bool)+licenseConfiguration_licenseCountHardLimit = Lens.lens (\LicenseConfiguration' {licenseCountHardLimit} -> licenseCountHardLimit) (\s@LicenseConfiguration' {} a -> s {licenseCountHardLimit = a} :: LicenseConfiguration)++-- | Dimension to use to track the license inventory.+licenseConfiguration_licenseCountingType :: Lens.Lens' LicenseConfiguration (Prelude.Maybe LicenseCountingType)+licenseConfiguration_licenseCountingType = Lens.lens (\LicenseConfiguration' {licenseCountingType} -> licenseCountingType) (\s@LicenseConfiguration' {} a -> s {licenseCountingType = a} :: LicenseConfiguration)++-- | License rules.+licenseConfiguration_licenseRules :: Lens.Lens' LicenseConfiguration (Prelude.Maybe [Prelude.Text])+licenseConfiguration_licenseRules = Lens.lens (\LicenseConfiguration' {licenseRules} -> licenseRules) (\s@LicenseConfiguration' {} a -> s {licenseRules = a} :: LicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Summaries for managed resources.+licenseConfiguration_managedResourceSummaryList :: Lens.Lens' LicenseConfiguration (Prelude.Maybe [ManagedResourceSummary])+licenseConfiguration_managedResourceSummaryList = Lens.lens (\LicenseConfiguration' {managedResourceSummaryList} -> managedResourceSummaryList) (\s@LicenseConfiguration' {} a -> s {managedResourceSummaryList = a} :: LicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Name of the license configuration.+licenseConfiguration_name :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_name = Lens.lens (\LicenseConfiguration' {name} -> name) (\s@LicenseConfiguration' {} a -> s {name = a} :: LicenseConfiguration)++-- | Account ID of the license configuration\'s owner.+licenseConfiguration_ownerAccountId :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_ownerAccountId = Lens.lens (\LicenseConfiguration' {ownerAccountId} -> ownerAccountId) (\s@LicenseConfiguration' {} a -> s {ownerAccountId = a} :: LicenseConfiguration)++-- | Product information.+licenseConfiguration_productInformationList :: Lens.Lens' LicenseConfiguration (Prelude.Maybe [ProductInformation])+licenseConfiguration_productInformationList = Lens.lens (\LicenseConfiguration' {productInformationList} -> productInformationList) (\s@LicenseConfiguration' {} a -> s {productInformationList = a} :: LicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Status of the license configuration.+licenseConfiguration_status :: Lens.Lens' LicenseConfiguration (Prelude.Maybe Prelude.Text)+licenseConfiguration_status = Lens.lens (\LicenseConfiguration' {status} -> status) (\s@LicenseConfiguration' {} a -> s {status = a} :: LicenseConfiguration)++instance Data.FromJSON LicenseConfiguration where+  parseJSON =+    Data.withObject+      "LicenseConfiguration"+      ( \x ->+          LicenseConfiguration'+            Prelude.<$> (x Data..:? "AutomatedDiscoveryInformation")+            Prelude.<*> ( x+                            Data..:? "ConsumedLicenseSummaryList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ConsumedLicenses")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DisassociateWhenNotFound")+            Prelude.<*> (x Data..:? "LicenseConfigurationArn")+            Prelude.<*> (x Data..:? "LicenseConfigurationId")+            Prelude.<*> (x Data..:? "LicenseCount")+            Prelude.<*> (x Data..:? "LicenseCountHardLimit")+            Prelude.<*> (x Data..:? "LicenseCountingType")+            Prelude.<*> (x Data..:? "LicenseRules" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ManagedResourceSummaryList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> ( x+                            Data..:? "ProductInformationList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable LicenseConfiguration where+  hashWithSalt _salt LicenseConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` automatedDiscoveryInformation+      `Prelude.hashWithSalt` consumedLicenseSummaryList+      `Prelude.hashWithSalt` consumedLicenses+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` disassociateWhenNotFound+      `Prelude.hashWithSalt` licenseConfigurationArn+      `Prelude.hashWithSalt` licenseConfigurationId+      `Prelude.hashWithSalt` licenseCount+      `Prelude.hashWithSalt` licenseCountHardLimit+      `Prelude.hashWithSalt` licenseCountingType+      `Prelude.hashWithSalt` licenseRules+      `Prelude.hashWithSalt` managedResourceSummaryList+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` productInformationList+      `Prelude.hashWithSalt` status++instance Prelude.NFData LicenseConfiguration where+  rnf LicenseConfiguration' {..} =+    Prelude.rnf automatedDiscoveryInformation+      `Prelude.seq` Prelude.rnf consumedLicenseSummaryList+      `Prelude.seq` Prelude.rnf consumedLicenses+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf disassociateWhenNotFound+      `Prelude.seq` Prelude.rnf licenseConfigurationArn+      `Prelude.seq` Prelude.rnf licenseConfigurationId+      `Prelude.seq` Prelude.rnf licenseCount+      `Prelude.seq` Prelude.rnf licenseCountHardLimit+      `Prelude.seq` Prelude.rnf licenseCountingType+      `Prelude.seq` Prelude.rnf licenseRules+      `Prelude.seq` Prelude.rnf managedResourceSummaryList+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf productInformationList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/LicenseManager/Types/LicenseConfigurationAssociation.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.LicenseManager.Types.LicenseConfigurationAssociation+-- 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.LicenseManager.Types.LicenseConfigurationAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Describes an association with a license configuration.+--+-- /See:/ 'newLicenseConfigurationAssociation' smart constructor.+data LicenseConfigurationAssociation = LicenseConfigurationAssociation'+  { -- | Scope of AMI associations. The possible value is @cross-account@.+    amiAssociationScope :: Prelude.Maybe Prelude.Text,+    -- | Time when the license configuration was associated with the resource.+    associationTime :: Prelude.Maybe Data.POSIX,+    -- | Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | ID of the Amazon Web Services account that owns the resource consuming+    -- licenses.+    resourceOwnerId :: Prelude.Maybe Prelude.Text,+    -- | Type of server resource.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseConfigurationAssociation' 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:+--+-- 'amiAssociationScope', 'licenseConfigurationAssociation_amiAssociationScope' - Scope of AMI associations. The possible value is @cross-account@.+--+-- 'associationTime', 'licenseConfigurationAssociation_associationTime' - Time when the license configuration was associated with the resource.+--+-- 'resourceArn', 'licenseConfigurationAssociation_resourceArn' - Amazon Resource Name (ARN) of the resource.+--+-- 'resourceOwnerId', 'licenseConfigurationAssociation_resourceOwnerId' - ID of the Amazon Web Services account that owns the resource consuming+-- licenses.+--+-- 'resourceType', 'licenseConfigurationAssociation_resourceType' - Type of server resource.+newLicenseConfigurationAssociation ::+  LicenseConfigurationAssociation+newLicenseConfigurationAssociation =+  LicenseConfigurationAssociation'+    { amiAssociationScope =+        Prelude.Nothing,+      associationTime = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceOwnerId = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Scope of AMI associations. The possible value is @cross-account@.+licenseConfigurationAssociation_amiAssociationScope :: Lens.Lens' LicenseConfigurationAssociation (Prelude.Maybe Prelude.Text)+licenseConfigurationAssociation_amiAssociationScope = Lens.lens (\LicenseConfigurationAssociation' {amiAssociationScope} -> amiAssociationScope) (\s@LicenseConfigurationAssociation' {} a -> s {amiAssociationScope = a} :: LicenseConfigurationAssociation)++-- | Time when the license configuration was associated with the resource.+licenseConfigurationAssociation_associationTime :: Lens.Lens' LicenseConfigurationAssociation (Prelude.Maybe Prelude.UTCTime)+licenseConfigurationAssociation_associationTime = Lens.lens (\LicenseConfigurationAssociation' {associationTime} -> associationTime) (\s@LicenseConfigurationAssociation' {} a -> s {associationTime = a} :: LicenseConfigurationAssociation) Prelude.. Lens.mapping Data._Time++-- | Amazon Resource Name (ARN) of the resource.+licenseConfigurationAssociation_resourceArn :: Lens.Lens' LicenseConfigurationAssociation (Prelude.Maybe Prelude.Text)+licenseConfigurationAssociation_resourceArn = Lens.lens (\LicenseConfigurationAssociation' {resourceArn} -> resourceArn) (\s@LicenseConfigurationAssociation' {} a -> s {resourceArn = a} :: LicenseConfigurationAssociation)++-- | ID of the Amazon Web Services account that owns the resource consuming+-- licenses.+licenseConfigurationAssociation_resourceOwnerId :: Lens.Lens' LicenseConfigurationAssociation (Prelude.Maybe Prelude.Text)+licenseConfigurationAssociation_resourceOwnerId = Lens.lens (\LicenseConfigurationAssociation' {resourceOwnerId} -> resourceOwnerId) (\s@LicenseConfigurationAssociation' {} a -> s {resourceOwnerId = a} :: LicenseConfigurationAssociation)++-- | Type of server resource.+licenseConfigurationAssociation_resourceType :: Lens.Lens' LicenseConfigurationAssociation (Prelude.Maybe ResourceType)+licenseConfigurationAssociation_resourceType = Lens.lens (\LicenseConfigurationAssociation' {resourceType} -> resourceType) (\s@LicenseConfigurationAssociation' {} a -> s {resourceType = a} :: LicenseConfigurationAssociation)++instance+  Data.FromJSON+    LicenseConfigurationAssociation+  where+  parseJSON =+    Data.withObject+      "LicenseConfigurationAssociation"+      ( \x ->+          LicenseConfigurationAssociation'+            Prelude.<$> (x Data..:? "AmiAssociationScope")+            Prelude.<*> (x Data..:? "AssociationTime")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceOwnerId")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance+  Prelude.Hashable+    LicenseConfigurationAssociation+  where+  hashWithSalt+    _salt+    LicenseConfigurationAssociation' {..} =+      _salt+        `Prelude.hashWithSalt` amiAssociationScope+        `Prelude.hashWithSalt` associationTime+        `Prelude.hashWithSalt` resourceArn+        `Prelude.hashWithSalt` resourceOwnerId+        `Prelude.hashWithSalt` resourceType++instance+  Prelude.NFData+    LicenseConfigurationAssociation+  where+  rnf LicenseConfigurationAssociation' {..} =+    Prelude.rnf amiAssociationScope+      `Prelude.seq` Prelude.rnf associationTime+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceOwnerId+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/LicenseConfigurationStatus.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.LicenseManager.Types.LicenseConfigurationStatus+-- 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.LicenseManager.Types.LicenseConfigurationStatus+  ( LicenseConfigurationStatus+      ( ..,+        LicenseConfigurationStatus_AVAILABLE,+        LicenseConfigurationStatus_DISABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LicenseConfigurationStatus = LicenseConfigurationStatus'+  { fromLicenseConfigurationStatus ::+      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 LicenseConfigurationStatus_AVAILABLE :: LicenseConfigurationStatus+pattern LicenseConfigurationStatus_AVAILABLE = LicenseConfigurationStatus' "AVAILABLE"++pattern LicenseConfigurationStatus_DISABLED :: LicenseConfigurationStatus+pattern LicenseConfigurationStatus_DISABLED = LicenseConfigurationStatus' "DISABLED"++{-# COMPLETE+  LicenseConfigurationStatus_AVAILABLE,+  LicenseConfigurationStatus_DISABLED,+  LicenseConfigurationStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/LicenseConfigurationUsage.hs view
@@ -0,0 +1,138 @@+{-# 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.LicenseManager.Types.LicenseConfigurationUsage+-- 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.LicenseManager.Types.LicenseConfigurationUsage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Details about the usage of a resource associated with a license+-- configuration.+--+-- /See:/ 'newLicenseConfigurationUsage' smart constructor.+data LicenseConfigurationUsage = LicenseConfigurationUsage'+  { -- | Time when the license configuration was initially associated with the+    -- resource.+    associationTime :: Prelude.Maybe Data.POSIX,+    -- | Number of licenses consumed by the resource.+    consumedLicenses :: Prelude.Maybe Prelude.Integer,+    -- | Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | ID of the account that owns the resource.+    resourceOwnerId :: Prelude.Maybe Prelude.Text,+    -- | Status of the resource.+    resourceStatus :: Prelude.Maybe Prelude.Text,+    -- | Type of resource.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseConfigurationUsage' 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:+--+-- 'associationTime', 'licenseConfigurationUsage_associationTime' - Time when the license configuration was initially associated with the+-- resource.+--+-- 'consumedLicenses', 'licenseConfigurationUsage_consumedLicenses' - Number of licenses consumed by the resource.+--+-- 'resourceArn', 'licenseConfigurationUsage_resourceArn' - Amazon Resource Name (ARN) of the resource.+--+-- 'resourceOwnerId', 'licenseConfigurationUsage_resourceOwnerId' - ID of the account that owns the resource.+--+-- 'resourceStatus', 'licenseConfigurationUsage_resourceStatus' - Status of the resource.+--+-- 'resourceType', 'licenseConfigurationUsage_resourceType' - Type of resource.+newLicenseConfigurationUsage ::+  LicenseConfigurationUsage+newLicenseConfigurationUsage =+  LicenseConfigurationUsage'+    { associationTime =+        Prelude.Nothing,+      consumedLicenses = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceOwnerId = Prelude.Nothing,+      resourceStatus = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Time when the license configuration was initially associated with the+-- resource.+licenseConfigurationUsage_associationTime :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe Prelude.UTCTime)+licenseConfigurationUsage_associationTime = Lens.lens (\LicenseConfigurationUsage' {associationTime} -> associationTime) (\s@LicenseConfigurationUsage' {} a -> s {associationTime = a} :: LicenseConfigurationUsage) Prelude.. Lens.mapping Data._Time++-- | Number of licenses consumed by the resource.+licenseConfigurationUsage_consumedLicenses :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe Prelude.Integer)+licenseConfigurationUsage_consumedLicenses = Lens.lens (\LicenseConfigurationUsage' {consumedLicenses} -> consumedLicenses) (\s@LicenseConfigurationUsage' {} a -> s {consumedLicenses = a} :: LicenseConfigurationUsage)++-- | Amazon Resource Name (ARN) of the resource.+licenseConfigurationUsage_resourceArn :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe Prelude.Text)+licenseConfigurationUsage_resourceArn = Lens.lens (\LicenseConfigurationUsage' {resourceArn} -> resourceArn) (\s@LicenseConfigurationUsage' {} a -> s {resourceArn = a} :: LicenseConfigurationUsage)++-- | ID of the account that owns the resource.+licenseConfigurationUsage_resourceOwnerId :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe Prelude.Text)+licenseConfigurationUsage_resourceOwnerId = Lens.lens (\LicenseConfigurationUsage' {resourceOwnerId} -> resourceOwnerId) (\s@LicenseConfigurationUsage' {} a -> s {resourceOwnerId = a} :: LicenseConfigurationUsage)++-- | Status of the resource.+licenseConfigurationUsage_resourceStatus :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe Prelude.Text)+licenseConfigurationUsage_resourceStatus = Lens.lens (\LicenseConfigurationUsage' {resourceStatus} -> resourceStatus) (\s@LicenseConfigurationUsage' {} a -> s {resourceStatus = a} :: LicenseConfigurationUsage)++-- | Type of resource.+licenseConfigurationUsage_resourceType :: Lens.Lens' LicenseConfigurationUsage (Prelude.Maybe ResourceType)+licenseConfigurationUsage_resourceType = Lens.lens (\LicenseConfigurationUsage' {resourceType} -> resourceType) (\s@LicenseConfigurationUsage' {} a -> s {resourceType = a} :: LicenseConfigurationUsage)++instance Data.FromJSON LicenseConfigurationUsage where+  parseJSON =+    Data.withObject+      "LicenseConfigurationUsage"+      ( \x ->+          LicenseConfigurationUsage'+            Prelude.<$> (x Data..:? "AssociationTime")+            Prelude.<*> (x Data..:? "ConsumedLicenses")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceOwnerId")+            Prelude.<*> (x Data..:? "ResourceStatus")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable LicenseConfigurationUsage where+  hashWithSalt _salt LicenseConfigurationUsage' {..} =+    _salt+      `Prelude.hashWithSalt` associationTime+      `Prelude.hashWithSalt` consumedLicenses+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceOwnerId+      `Prelude.hashWithSalt` resourceStatus+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData LicenseConfigurationUsage where+  rnf LicenseConfigurationUsage' {..} =+    Prelude.rnf associationTime+      `Prelude.seq` Prelude.rnf consumedLicenses+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceOwnerId+      `Prelude.seq` Prelude.rnf resourceStatus+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/LicenseConversionContext.hs view
@@ -0,0 +1,90 @@+{-# 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.LicenseManager.Types.LicenseConversionContext+-- 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.LicenseManager.Types.LicenseConversionContext 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++-- | Information about a license type conversion task.+--+-- /See:/ 'newLicenseConversionContext' smart constructor.+data LicenseConversionContext = LicenseConversionContext'+  { -- | The Usage operation value that corresponds to the license type you are+    -- converting your resource from. For more information about which+    -- platforms correspond to which usage operation values see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html#billing-info Sample data: usage operation by platform>+    usageOperation :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseConversionContext' 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:+--+-- 'usageOperation', 'licenseConversionContext_usageOperation' - The Usage operation value that corresponds to the license type you are+-- converting your resource from. For more information about which+-- platforms correspond to which usage operation values see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html#billing-info Sample data: usage operation by platform>+newLicenseConversionContext ::+  LicenseConversionContext+newLicenseConversionContext =+  LicenseConversionContext'+    { usageOperation =+        Prelude.Nothing+    }++-- | The Usage operation value that corresponds to the license type you are+-- converting your resource from. For more information about which+-- platforms correspond to which usage operation values see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html#billing-info Sample data: usage operation by platform>+licenseConversionContext_usageOperation :: Lens.Lens' LicenseConversionContext (Prelude.Maybe Prelude.Text)+licenseConversionContext_usageOperation = Lens.lens (\LicenseConversionContext' {usageOperation} -> usageOperation) (\s@LicenseConversionContext' {} a -> s {usageOperation = a} :: LicenseConversionContext)++instance Data.FromJSON LicenseConversionContext where+  parseJSON =+    Data.withObject+      "LicenseConversionContext"+      ( \x ->+          LicenseConversionContext'+            Prelude.<$> (x Data..:? "UsageOperation")+      )++instance Prelude.Hashable LicenseConversionContext where+  hashWithSalt _salt LicenseConversionContext' {..} =+    _salt `Prelude.hashWithSalt` usageOperation++instance Prelude.NFData LicenseConversionContext where+  rnf LicenseConversionContext' {..} =+    Prelude.rnf usageOperation++instance Data.ToJSON LicenseConversionContext where+  toJSON LicenseConversionContext' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("UsageOperation" Data..=)+              Prelude.<$> usageOperation+          ]+      )
+ gen/Amazonka/LicenseManager/Types/LicenseConversionTask.hs view
@@ -0,0 +1,174 @@+{-# 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.LicenseManager.Types.LicenseConversionTask+-- 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.LicenseManager.Types.LicenseConversionTask where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.LicenseConversionContext+import Amazonka.LicenseManager.Types.LicenseConversionTaskStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about a license type conversion task.+--+-- /See:/ 'newLicenseConversionTask' smart constructor.+data LicenseConversionTask = LicenseConversionTask'+  { -- | Information about the license type this conversion task converted to.+    destinationLicenseContext :: Prelude.Maybe LicenseConversionContext,+    -- | The time the conversion task was completed.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the license type conversion task.+    licenseConversionTaskId :: Prelude.Maybe Prelude.Text,+    -- | The time the usage operation value of the resource was changed.+    licenseConversionTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the resource associated with the+    -- license type conversion task.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | Information about the license type this conversion task converted from.+    sourceLicenseContext :: Prelude.Maybe LicenseConversionContext,+    -- | The time the conversion task was started at.+    startTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the conversion task.+    status :: Prelude.Maybe LicenseConversionTaskStatus,+    -- | The status message for the conversion task.+    statusMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseConversionTask' 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:+--+-- 'destinationLicenseContext', 'licenseConversionTask_destinationLicenseContext' - Information about the license type this conversion task converted to.+--+-- 'endTime', 'licenseConversionTask_endTime' - The time the conversion task was completed.+--+-- 'licenseConversionTaskId', 'licenseConversionTask_licenseConversionTaskId' - The ID of the license type conversion task.+--+-- 'licenseConversionTime', 'licenseConversionTask_licenseConversionTime' - The time the usage operation value of the resource was changed.+--+-- 'resourceArn', 'licenseConversionTask_resourceArn' - The Amazon Resource Name (ARN) of the resource associated with the+-- license type conversion task.+--+-- 'sourceLicenseContext', 'licenseConversionTask_sourceLicenseContext' - Information about the license type this conversion task converted from.+--+-- 'startTime', 'licenseConversionTask_startTime' - The time the conversion task was started at.+--+-- 'status', 'licenseConversionTask_status' - The status of the conversion task.+--+-- 'statusMessage', 'licenseConversionTask_statusMessage' - The status message for the conversion task.+newLicenseConversionTask ::+  LicenseConversionTask+newLicenseConversionTask =+  LicenseConversionTask'+    { destinationLicenseContext =+        Prelude.Nothing,+      endTime = Prelude.Nothing,+      licenseConversionTaskId = Prelude.Nothing,+      licenseConversionTime = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      sourceLicenseContext = Prelude.Nothing,+      startTime = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing+    }++-- | Information about the license type this conversion task converted to.+licenseConversionTask_destinationLicenseContext :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionContext)+licenseConversionTask_destinationLicenseContext = Lens.lens (\LicenseConversionTask' {destinationLicenseContext} -> destinationLicenseContext) (\s@LicenseConversionTask' {} a -> s {destinationLicenseContext = a} :: LicenseConversionTask)++-- | The time the conversion task was completed.+licenseConversionTask_endTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)+licenseConversionTask_endTime = Lens.lens (\LicenseConversionTask' {endTime} -> endTime) (\s@LicenseConversionTask' {} a -> s {endTime = a} :: LicenseConversionTask) Prelude.. Lens.mapping Data._Time++-- | The ID of the license type conversion task.+licenseConversionTask_licenseConversionTaskId :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)+licenseConversionTask_licenseConversionTaskId = Lens.lens (\LicenseConversionTask' {licenseConversionTaskId} -> licenseConversionTaskId) (\s@LicenseConversionTask' {} a -> s {licenseConversionTaskId = a} :: LicenseConversionTask)++-- | The time the usage operation value of the resource was changed.+licenseConversionTask_licenseConversionTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)+licenseConversionTask_licenseConversionTime = Lens.lens (\LicenseConversionTask' {licenseConversionTime} -> licenseConversionTime) (\s@LicenseConversionTask' {} a -> s {licenseConversionTime = a} :: LicenseConversionTask) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the resource associated with the+-- license type conversion task.+licenseConversionTask_resourceArn :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)+licenseConversionTask_resourceArn = Lens.lens (\LicenseConversionTask' {resourceArn} -> resourceArn) (\s@LicenseConversionTask' {} a -> s {resourceArn = a} :: LicenseConversionTask)++-- | Information about the license type this conversion task converted from.+licenseConversionTask_sourceLicenseContext :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionContext)+licenseConversionTask_sourceLicenseContext = Lens.lens (\LicenseConversionTask' {sourceLicenseContext} -> sourceLicenseContext) (\s@LicenseConversionTask' {} a -> s {sourceLicenseContext = a} :: LicenseConversionTask)++-- | The time the conversion task was started at.+licenseConversionTask_startTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)+licenseConversionTask_startTime = Lens.lens (\LicenseConversionTask' {startTime} -> startTime) (\s@LicenseConversionTask' {} a -> s {startTime = a} :: LicenseConversionTask) Prelude.. Lens.mapping Data._Time++-- | The status of the conversion task.+licenseConversionTask_status :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionTaskStatus)+licenseConversionTask_status = Lens.lens (\LicenseConversionTask' {status} -> status) (\s@LicenseConversionTask' {} a -> s {status = a} :: LicenseConversionTask)++-- | The status message for the conversion task.+licenseConversionTask_statusMessage :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)+licenseConversionTask_statusMessage = Lens.lens (\LicenseConversionTask' {statusMessage} -> statusMessage) (\s@LicenseConversionTask' {} a -> s {statusMessage = a} :: LicenseConversionTask)++instance Data.FromJSON LicenseConversionTask where+  parseJSON =+    Data.withObject+      "LicenseConversionTask"+      ( \x ->+          LicenseConversionTask'+            Prelude.<$> (x Data..:? "DestinationLicenseContext")+            Prelude.<*> (x Data..:? "EndTime")+            Prelude.<*> (x Data..:? "LicenseConversionTaskId")+            Prelude.<*> (x Data..:? "LicenseConversionTime")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "SourceLicenseContext")+            Prelude.<*> (x Data..:? "StartTime")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusMessage")+      )++instance Prelude.Hashable LicenseConversionTask where+  hashWithSalt _salt LicenseConversionTask' {..} =+    _salt+      `Prelude.hashWithSalt` destinationLicenseContext+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` licenseConversionTaskId+      `Prelude.hashWithSalt` licenseConversionTime+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` sourceLicenseContext+      `Prelude.hashWithSalt` startTime+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData LicenseConversionTask where+  rnf LicenseConversionTask' {..} =+    Prelude.rnf destinationLicenseContext+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf licenseConversionTaskId+      `Prelude.seq` Prelude.rnf licenseConversionTime+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf sourceLicenseContext+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LicenseManager/Types/LicenseConversionTaskStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.LicenseConversionTaskStatus+-- 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.LicenseManager.Types.LicenseConversionTaskStatus+  ( LicenseConversionTaskStatus+      ( ..,+        LicenseConversionTaskStatus_FAILED,+        LicenseConversionTaskStatus_IN_PROGRESS,+        LicenseConversionTaskStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LicenseConversionTaskStatus = LicenseConversionTaskStatus'+  { fromLicenseConversionTaskStatus ::+      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 LicenseConversionTaskStatus_FAILED :: LicenseConversionTaskStatus+pattern LicenseConversionTaskStatus_FAILED = LicenseConversionTaskStatus' "FAILED"++pattern LicenseConversionTaskStatus_IN_PROGRESS :: LicenseConversionTaskStatus+pattern LicenseConversionTaskStatus_IN_PROGRESS = LicenseConversionTaskStatus' "IN_PROGRESS"++pattern LicenseConversionTaskStatus_SUCCEEDED :: LicenseConversionTaskStatus+pattern LicenseConversionTaskStatus_SUCCEEDED = LicenseConversionTaskStatus' "SUCCEEDED"++{-# COMPLETE+  LicenseConversionTaskStatus_FAILED,+  LicenseConversionTaskStatus_IN_PROGRESS,+  LicenseConversionTaskStatus_SUCCEEDED,+  LicenseConversionTaskStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/LicenseCountingType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.LicenseCountingType+-- 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.LicenseManager.Types.LicenseCountingType+  ( LicenseCountingType+      ( ..,+        LicenseCountingType_Core,+        LicenseCountingType_Instance,+        LicenseCountingType_Socket,+        LicenseCountingType_VCPU+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LicenseCountingType = LicenseCountingType'+  { fromLicenseCountingType ::+      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 LicenseCountingType_Core :: LicenseCountingType+pattern LicenseCountingType_Core = LicenseCountingType' "Core"++pattern LicenseCountingType_Instance :: LicenseCountingType+pattern LicenseCountingType_Instance = LicenseCountingType' "Instance"++pattern LicenseCountingType_Socket :: LicenseCountingType+pattern LicenseCountingType_Socket = LicenseCountingType' "Socket"++pattern LicenseCountingType_VCPU :: LicenseCountingType+pattern LicenseCountingType_VCPU = LicenseCountingType' "vCPU"++{-# COMPLETE+  LicenseCountingType_Core,+  LicenseCountingType_Instance,+  LicenseCountingType_Socket,+  LicenseCountingType_VCPU,+  LicenseCountingType'+  #-}
+ gen/Amazonka/LicenseManager/Types/LicenseDeletionStatus.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.LicenseManager.Types.LicenseDeletionStatus+-- 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.LicenseManager.Types.LicenseDeletionStatus+  ( LicenseDeletionStatus+      ( ..,+        LicenseDeletionStatus_DELETED,+        LicenseDeletionStatus_PENDING_DELETE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LicenseDeletionStatus = LicenseDeletionStatus'+  { fromLicenseDeletionStatus ::+      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 LicenseDeletionStatus_DELETED :: LicenseDeletionStatus+pattern LicenseDeletionStatus_DELETED = LicenseDeletionStatus' "DELETED"++pattern LicenseDeletionStatus_PENDING_DELETE :: LicenseDeletionStatus+pattern LicenseDeletionStatus_PENDING_DELETE = LicenseDeletionStatus' "PENDING_DELETE"++{-# COMPLETE+  LicenseDeletionStatus_DELETED,+  LicenseDeletionStatus_PENDING_DELETE,+  LicenseDeletionStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/LicenseOperationFailure.hs view
@@ -0,0 +1,159 @@+{-# 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.LicenseManager.Types.LicenseOperationFailure+-- 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.LicenseManager.Types.LicenseOperationFailure where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.Metadata+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Describes the failure of a license operation.+--+-- /See:/ 'newLicenseOperationFailure' smart constructor.+data LicenseOperationFailure = LicenseOperationFailure'+  { -- | Error message.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | Failure time.+    failureTime :: Prelude.Maybe Data.POSIX,+    -- | Reserved.+    metadataList :: Prelude.Maybe [Metadata],+    -- | Name of the operation.+    operationName :: Prelude.Maybe Prelude.Text,+    -- | The requester is \"License Manager Automated Discovery\".+    operationRequestedBy :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | ID of the Amazon Web Services account that owns the resource.+    resourceOwnerId :: Prelude.Maybe Prelude.Text,+    -- | Resource type.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseOperationFailure' 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:+--+-- 'errorMessage', 'licenseOperationFailure_errorMessage' - Error message.+--+-- 'failureTime', 'licenseOperationFailure_failureTime' - Failure time.+--+-- 'metadataList', 'licenseOperationFailure_metadataList' - Reserved.+--+-- 'operationName', 'licenseOperationFailure_operationName' - Name of the operation.+--+-- 'operationRequestedBy', 'licenseOperationFailure_operationRequestedBy' - The requester is \"License Manager Automated Discovery\".+--+-- 'resourceArn', 'licenseOperationFailure_resourceArn' - Amazon Resource Name (ARN) of the resource.+--+-- 'resourceOwnerId', 'licenseOperationFailure_resourceOwnerId' - ID of the Amazon Web Services account that owns the resource.+--+-- 'resourceType', 'licenseOperationFailure_resourceType' - Resource type.+newLicenseOperationFailure ::+  LicenseOperationFailure+newLicenseOperationFailure =+  LicenseOperationFailure'+    { errorMessage =+        Prelude.Nothing,+      failureTime = Prelude.Nothing,+      metadataList = Prelude.Nothing,+      operationName = Prelude.Nothing,+      operationRequestedBy = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceOwnerId = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Error message.+licenseOperationFailure_errorMessage :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)+licenseOperationFailure_errorMessage = Lens.lens (\LicenseOperationFailure' {errorMessage} -> errorMessage) (\s@LicenseOperationFailure' {} a -> s {errorMessage = a} :: LicenseOperationFailure)++-- | Failure time.+licenseOperationFailure_failureTime :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.UTCTime)+licenseOperationFailure_failureTime = Lens.lens (\LicenseOperationFailure' {failureTime} -> failureTime) (\s@LicenseOperationFailure' {} a -> s {failureTime = a} :: LicenseOperationFailure) Prelude.. Lens.mapping Data._Time++-- | Reserved.+licenseOperationFailure_metadataList :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe [Metadata])+licenseOperationFailure_metadataList = Lens.lens (\LicenseOperationFailure' {metadataList} -> metadataList) (\s@LicenseOperationFailure' {} a -> s {metadataList = a} :: LicenseOperationFailure) Prelude.. Lens.mapping Lens.coerced++-- | Name of the operation.+licenseOperationFailure_operationName :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)+licenseOperationFailure_operationName = Lens.lens (\LicenseOperationFailure' {operationName} -> operationName) (\s@LicenseOperationFailure' {} a -> s {operationName = a} :: LicenseOperationFailure)++-- | The requester is \"License Manager Automated Discovery\".+licenseOperationFailure_operationRequestedBy :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)+licenseOperationFailure_operationRequestedBy = Lens.lens (\LicenseOperationFailure' {operationRequestedBy} -> operationRequestedBy) (\s@LicenseOperationFailure' {} a -> s {operationRequestedBy = a} :: LicenseOperationFailure)++-- | Amazon Resource Name (ARN) of the resource.+licenseOperationFailure_resourceArn :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)+licenseOperationFailure_resourceArn = Lens.lens (\LicenseOperationFailure' {resourceArn} -> resourceArn) (\s@LicenseOperationFailure' {} a -> s {resourceArn = a} :: LicenseOperationFailure)++-- | ID of the Amazon Web Services account that owns the resource.+licenseOperationFailure_resourceOwnerId :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe Prelude.Text)+licenseOperationFailure_resourceOwnerId = Lens.lens (\LicenseOperationFailure' {resourceOwnerId} -> resourceOwnerId) (\s@LicenseOperationFailure' {} a -> s {resourceOwnerId = a} :: LicenseOperationFailure)++-- | Resource type.+licenseOperationFailure_resourceType :: Lens.Lens' LicenseOperationFailure (Prelude.Maybe ResourceType)+licenseOperationFailure_resourceType = Lens.lens (\LicenseOperationFailure' {resourceType} -> resourceType) (\s@LicenseOperationFailure' {} a -> s {resourceType = a} :: LicenseOperationFailure)++instance Data.FromJSON LicenseOperationFailure where+  parseJSON =+    Data.withObject+      "LicenseOperationFailure"+      ( \x ->+          LicenseOperationFailure'+            Prelude.<$> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "FailureTime")+            Prelude.<*> (x Data..:? "MetadataList" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "OperationName")+            Prelude.<*> (x Data..:? "OperationRequestedBy")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceOwnerId")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable LicenseOperationFailure where+  hashWithSalt _salt LicenseOperationFailure' {..} =+    _salt+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` failureTime+      `Prelude.hashWithSalt` metadataList+      `Prelude.hashWithSalt` operationName+      `Prelude.hashWithSalt` operationRequestedBy+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceOwnerId+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData LicenseOperationFailure where+  rnf LicenseOperationFailure' {..} =+    Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf failureTime+      `Prelude.seq` Prelude.rnf metadataList+      `Prelude.seq` Prelude.rnf operationName+      `Prelude.seq` Prelude.rnf operationRequestedBy+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceOwnerId+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/LicenseSpecification.hs view
@@ -0,0 +1,100 @@+{-# 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.LicenseManager.Types.LicenseSpecification+-- 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.LicenseManager.Types.LicenseSpecification 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 for associating a license configuration with a resource.+--+-- /See:/ 'newLicenseSpecification' smart constructor.+data LicenseSpecification = LicenseSpecification'+  { -- | Scope of AMI associations. The possible value is @cross-account@.+    amiAssociationScope :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseSpecification' 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:+--+-- 'amiAssociationScope', 'licenseSpecification_amiAssociationScope' - Scope of AMI associations. The possible value is @cross-account@.+--+-- 'licenseConfigurationArn', 'licenseSpecification_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+newLicenseSpecification ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  LicenseSpecification+newLicenseSpecification pLicenseConfigurationArn_ =+  LicenseSpecification'+    { amiAssociationScope =+        Prelude.Nothing,+      licenseConfigurationArn = pLicenseConfigurationArn_+    }++-- | Scope of AMI associations. The possible value is @cross-account@.+licenseSpecification_amiAssociationScope :: Lens.Lens' LicenseSpecification (Prelude.Maybe Prelude.Text)+licenseSpecification_amiAssociationScope = Lens.lens (\LicenseSpecification' {amiAssociationScope} -> amiAssociationScope) (\s@LicenseSpecification' {} a -> s {amiAssociationScope = a} :: LicenseSpecification)++-- | Amazon Resource Name (ARN) of the license configuration.+licenseSpecification_licenseConfigurationArn :: Lens.Lens' LicenseSpecification Prelude.Text+licenseSpecification_licenseConfigurationArn = Lens.lens (\LicenseSpecification' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@LicenseSpecification' {} a -> s {licenseConfigurationArn = a} :: LicenseSpecification)++instance Data.FromJSON LicenseSpecification where+  parseJSON =+    Data.withObject+      "LicenseSpecification"+      ( \x ->+          LicenseSpecification'+            Prelude.<$> (x Data..:? "AmiAssociationScope")+            Prelude.<*> (x Data..: "LicenseConfigurationArn")+      )++instance Prelude.Hashable LicenseSpecification where+  hashWithSalt _salt LicenseSpecification' {..} =+    _salt+      `Prelude.hashWithSalt` amiAssociationScope+      `Prelude.hashWithSalt` licenseConfigurationArn++instance Prelude.NFData LicenseSpecification where+  rnf LicenseSpecification' {..} =+    Prelude.rnf amiAssociationScope+      `Prelude.seq` Prelude.rnf licenseConfigurationArn++instance Data.ToJSON LicenseSpecification where+  toJSON LicenseSpecification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AmiAssociationScope" Data..=)+              Prelude.<$> amiAssociationScope,+            Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/LicenseStatus.hs view
@@ -0,0 +1,96 @@+{-# 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.LicenseManager.Types.LicenseStatus+-- 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.LicenseManager.Types.LicenseStatus+  ( LicenseStatus+      ( ..,+        LicenseStatus_AVAILABLE,+        LicenseStatus_DEACTIVATED,+        LicenseStatus_DELETED,+        LicenseStatus_EXPIRED,+        LicenseStatus_PENDING_AVAILABLE,+        LicenseStatus_PENDING_DELETE,+        LicenseStatus_SUSPENDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LicenseStatus = LicenseStatus'+  { fromLicenseStatus ::+      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 LicenseStatus_AVAILABLE :: LicenseStatus+pattern LicenseStatus_AVAILABLE = LicenseStatus' "AVAILABLE"++pattern LicenseStatus_DEACTIVATED :: LicenseStatus+pattern LicenseStatus_DEACTIVATED = LicenseStatus' "DEACTIVATED"++pattern LicenseStatus_DELETED :: LicenseStatus+pattern LicenseStatus_DELETED = LicenseStatus' "DELETED"++pattern LicenseStatus_EXPIRED :: LicenseStatus+pattern LicenseStatus_EXPIRED = LicenseStatus' "EXPIRED"++pattern LicenseStatus_PENDING_AVAILABLE :: LicenseStatus+pattern LicenseStatus_PENDING_AVAILABLE = LicenseStatus' "PENDING_AVAILABLE"++pattern LicenseStatus_PENDING_DELETE :: LicenseStatus+pattern LicenseStatus_PENDING_DELETE = LicenseStatus' "PENDING_DELETE"++pattern LicenseStatus_SUSPENDED :: LicenseStatus+pattern LicenseStatus_SUSPENDED = LicenseStatus' "SUSPENDED"++{-# COMPLETE+  LicenseStatus_AVAILABLE,+  LicenseStatus_DEACTIVATED,+  LicenseStatus_DELETED,+  LicenseStatus_EXPIRED,+  LicenseStatus_PENDING_AVAILABLE,+  LicenseStatus_PENDING_DELETE,+  LicenseStatus_SUSPENDED,+  LicenseStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/LicenseUsage.hs view
@@ -0,0 +1,72 @@+{-# 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.LicenseManager.Types.LicenseUsage+-- 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.LicenseManager.Types.LicenseUsage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.EntitlementUsage+import qualified Amazonka.Prelude as Prelude++-- | Describes the entitlement usage associated with a license.+--+-- /See:/ 'newLicenseUsage' smart constructor.+data LicenseUsage = LicenseUsage'+  { -- | License entitlement usages.+    entitlementUsages :: Prelude.Maybe [EntitlementUsage]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseUsage' 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:+--+-- 'entitlementUsages', 'licenseUsage_entitlementUsages' - License entitlement usages.+newLicenseUsage ::+  LicenseUsage+newLicenseUsage =+  LicenseUsage' {entitlementUsages = Prelude.Nothing}++-- | License entitlement usages.+licenseUsage_entitlementUsages :: Lens.Lens' LicenseUsage (Prelude.Maybe [EntitlementUsage])+licenseUsage_entitlementUsages = Lens.lens (\LicenseUsage' {entitlementUsages} -> entitlementUsages) (\s@LicenseUsage' {} a -> s {entitlementUsages = a} :: LicenseUsage) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LicenseUsage where+  parseJSON =+    Data.withObject+      "LicenseUsage"+      ( \x ->+          LicenseUsage'+            Prelude.<$> ( x+                            Data..:? "EntitlementUsages"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable LicenseUsage where+  hashWithSalt _salt LicenseUsage' {..} =+    _salt `Prelude.hashWithSalt` entitlementUsages++instance Prelude.NFData LicenseUsage where+  rnf LicenseUsage' {..} = Prelude.rnf entitlementUsages
+ gen/Amazonka/LicenseManager/Types/ManagedResourceSummary.hs view
@@ -0,0 +1,86 @@+{-# 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.LicenseManager.Types.ManagedResourceSummary+-- 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.LicenseManager.Types.ManagedResourceSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Summary information about a managed resource.+--+-- /See:/ 'newManagedResourceSummary' smart constructor.+data ManagedResourceSummary = ManagedResourceSummary'+  { -- | Number of resources associated with licenses.+    associationCount :: Prelude.Maybe Prelude.Integer,+    -- | Type of resource associated with a license.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManagedResourceSummary' 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:+--+-- 'associationCount', 'managedResourceSummary_associationCount' - Number of resources associated with licenses.+--+-- 'resourceType', 'managedResourceSummary_resourceType' - Type of resource associated with a license.+newManagedResourceSummary ::+  ManagedResourceSummary+newManagedResourceSummary =+  ManagedResourceSummary'+    { associationCount =+        Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Number of resources associated with licenses.+managedResourceSummary_associationCount :: Lens.Lens' ManagedResourceSummary (Prelude.Maybe Prelude.Integer)+managedResourceSummary_associationCount = Lens.lens (\ManagedResourceSummary' {associationCount} -> associationCount) (\s@ManagedResourceSummary' {} a -> s {associationCount = a} :: ManagedResourceSummary)++-- | Type of resource associated with a license.+managedResourceSummary_resourceType :: Lens.Lens' ManagedResourceSummary (Prelude.Maybe ResourceType)+managedResourceSummary_resourceType = Lens.lens (\ManagedResourceSummary' {resourceType} -> resourceType) (\s@ManagedResourceSummary' {} a -> s {resourceType = a} :: ManagedResourceSummary)++instance Data.FromJSON ManagedResourceSummary where+  parseJSON =+    Data.withObject+      "ManagedResourceSummary"+      ( \x ->+          ManagedResourceSummary'+            Prelude.<$> (x Data..:? "AssociationCount")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable ManagedResourceSummary where+  hashWithSalt _salt ManagedResourceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` associationCount+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ManagedResourceSummary where+  rnf ManagedResourceSummary' {..} =+    Prelude.rnf associationCount+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/Metadata.hs view
@@ -0,0 +1,92 @@+{-# 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.LicenseManager.Types.Metadata+-- 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.LicenseManager.Types.Metadata 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++-- | Describes key\/value pairs.+--+-- /See:/ 'newMetadata' smart constructor.+data Metadata = Metadata'+  { -- | The key name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Metadata' 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', 'metadata_name' - The key name.+--+-- 'value', 'metadata_value' - The value.+newMetadata ::+  Metadata+newMetadata =+  Metadata'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The key name.+metadata_name :: Lens.Lens' Metadata (Prelude.Maybe Prelude.Text)+metadata_name = Lens.lens (\Metadata' {name} -> name) (\s@Metadata' {} a -> s {name = a} :: Metadata)++-- | The value.+metadata_value :: Lens.Lens' Metadata (Prelude.Maybe Prelude.Text)+metadata_value = Lens.lens (\Metadata' {value} -> value) (\s@Metadata' {} a -> s {value = a} :: Metadata)++instance Data.FromJSON Metadata where+  parseJSON =+    Data.withObject+      "Metadata"+      ( \x ->+          Metadata'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable Metadata where+  hashWithSalt _salt Metadata' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData Metadata where+  rnf Metadata' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Metadata where+  toJSON Metadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/LicenseManager/Types/OrganizationConfiguration.hs view
@@ -0,0 +1,83 @@+{-# 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.LicenseManager.Types.OrganizationConfiguration+-- 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.LicenseManager.Types.OrganizationConfiguration 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++-- | Configuration information for Organizations.+--+-- /See:/ 'newOrganizationConfiguration' smart constructor.+data OrganizationConfiguration = OrganizationConfiguration'+  { -- | Enables Organizations integration.+    enableIntegration :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OrganizationConfiguration' 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:+--+-- 'enableIntegration', 'organizationConfiguration_enableIntegration' - Enables Organizations integration.+newOrganizationConfiguration ::+  -- | 'enableIntegration'+  Prelude.Bool ->+  OrganizationConfiguration+newOrganizationConfiguration pEnableIntegration_ =+  OrganizationConfiguration'+    { enableIntegration =+        pEnableIntegration_+    }++-- | Enables Organizations integration.+organizationConfiguration_enableIntegration :: Lens.Lens' OrganizationConfiguration Prelude.Bool+organizationConfiguration_enableIntegration = Lens.lens (\OrganizationConfiguration' {enableIntegration} -> enableIntegration) (\s@OrganizationConfiguration' {} a -> s {enableIntegration = a} :: OrganizationConfiguration)++instance Data.FromJSON OrganizationConfiguration where+  parseJSON =+    Data.withObject+      "OrganizationConfiguration"+      ( \x ->+          OrganizationConfiguration'+            Prelude.<$> (x Data..: "EnableIntegration")+      )++instance Prelude.Hashable OrganizationConfiguration where+  hashWithSalt _salt OrganizationConfiguration' {..} =+    _salt `Prelude.hashWithSalt` enableIntegration++instance Prelude.NFData OrganizationConfiguration where+  rnf OrganizationConfiguration' {..} =+    Prelude.rnf enableIntegration++instance Data.ToJSON OrganizationConfiguration where+  toJSON OrganizationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("EnableIntegration" Data..= enableIntegration)+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ProductInformation.hs view
@@ -0,0 +1,258 @@+{-# 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.LicenseManager.Types.ProductInformation+-- 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.LicenseManager.Types.ProductInformation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ProductInformationFilter+import qualified Amazonka.Prelude as Prelude++-- | Describes product information for a license configuration.+--+-- /See:/ 'newProductInformation' smart constructor.+data ProductInformation = ProductInformation'+  { -- | Resource type. The possible values are @SSM_MANAGED@ | @RDS@.+    resourceType :: Prelude.Text,+    -- | A Product information filter consists of a+    -- @ProductInformationFilterComparator@ which is a logical operator, a+    -- @ProductInformationFilterName@ which specifies the type of filter being+    -- declared, and a @ProductInformationFilterValue@ that specifies the value+    -- to filter on.+    --+    -- Accepted values for @ProductInformationFilterName@ are listed here along+    -- with descriptions and valid options for+    -- @ProductInformationFilterComparator@.+    --+    -- The following filters and are supported when the resource type is+    -- @SSM_MANAGED@:+    --+    -- -   @Application Name@ - The name of the application. Logical operator+    --     is @EQUALS@.+    --+    -- -   @Application Publisher@ - The publisher of the application. Logical+    --     operator is @EQUALS@.+    --+    -- -   @Application Version@ - The version of the application. Logical+    --     operator is @EQUALS@.+    --+    -- -   @Platform Name@ - The name of the platform. Logical operator is+    --     @EQUALS@.+    --+    -- -   @Platform Type@ - The platform type. Logical operator is @EQUALS@.+    --+    -- -   @Tag:key@ - The key of a tag attached to an Amazon Web Services+    --     resource you wish to exclude from automated discovery. Logical+    --     operator is @NOT_EQUALS@. The key for your tag must be appended to+    --     @Tag:@ following the example: @Tag:name-of-your-key@.+    --     @ProductInformationFilterValue@ is optional if you are not using+    --     values for the key.+    --+    -- -   @AccountId@ - The 12-digit ID of an Amazon Web Services account you+    --     wish to exclude from automated discovery. Logical operator is+    --     @NOT_EQUALS@.+    --+    -- -   @License Included@ - The type of license included. Logical operators+    --     are @EQUALS@ and @NOT_EQUALS@. Possible values are:+    --     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+    --     @windows-server-datacenter@.+    --+    -- The following filters and logical operators are supported when the+    -- resource type is @RDS@:+    --+    -- -   @Engine Edition@ - The edition of the database engine. Logical+    --     operator is @EQUALS@. Possible values are: @oracle-ee@ | @oracle-se@+    --     | @oracle-se1@ | @oracle-se2@.+    --+    -- -   @License Pack@ - The license pack. Logical operator is @EQUALS@.+    --     Possible values are: @data guard@ | @diagnostic pack sqlt@ |+    --     @tuning pack sqlt@ | @ols@ | @olap@.+    productInformationFilterList :: [ProductInformationFilter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProductInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceType', 'productInformation_resourceType' - Resource type. The possible values are @SSM_MANAGED@ | @RDS@.+--+-- 'productInformationFilterList', 'productInformation_productInformationFilterList' - A Product information filter consists of a+-- @ProductInformationFilterComparator@ which is a logical operator, a+-- @ProductInformationFilterName@ which specifies the type of filter being+-- declared, and a @ProductInformationFilterValue@ that specifies the value+-- to filter on.+--+-- Accepted values for @ProductInformationFilterName@ are listed here along+-- with descriptions and valid options for+-- @ProductInformationFilterComparator@.+--+-- The following filters and are supported when the resource type is+-- @SSM_MANAGED@:+--+-- -   @Application Name@ - The name of the application. Logical operator+--     is @EQUALS@.+--+-- -   @Application Publisher@ - The publisher of the application. Logical+--     operator is @EQUALS@.+--+-- -   @Application Version@ - The version of the application. Logical+--     operator is @EQUALS@.+--+-- -   @Platform Name@ - The name of the platform. Logical operator is+--     @EQUALS@.+--+-- -   @Platform Type@ - The platform type. Logical operator is @EQUALS@.+--+-- -   @Tag:key@ - The key of a tag attached to an Amazon Web Services+--     resource you wish to exclude from automated discovery. Logical+--     operator is @NOT_EQUALS@. The key for your tag must be appended to+--     @Tag:@ following the example: @Tag:name-of-your-key@.+--     @ProductInformationFilterValue@ is optional if you are not using+--     values for the key.+--+-- -   @AccountId@ - The 12-digit ID of an Amazon Web Services account you+--     wish to exclude from automated discovery. Logical operator is+--     @NOT_EQUALS@.+--+-- -   @License Included@ - The type of license included. Logical operators+--     are @EQUALS@ and @NOT_EQUALS@. Possible values are:+--     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+--     @windows-server-datacenter@.+--+-- The following filters and logical operators are supported when the+-- resource type is @RDS@:+--+-- -   @Engine Edition@ - The edition of the database engine. Logical+--     operator is @EQUALS@. Possible values are: @oracle-ee@ | @oracle-se@+--     | @oracle-se1@ | @oracle-se2@.+--+-- -   @License Pack@ - The license pack. Logical operator is @EQUALS@.+--     Possible values are: @data guard@ | @diagnostic pack sqlt@ |+--     @tuning pack sqlt@ | @ols@ | @olap@.+newProductInformation ::+  -- | 'resourceType'+  Prelude.Text ->+  ProductInformation+newProductInformation pResourceType_ =+  ProductInformation'+    { resourceType = pResourceType_,+      productInformationFilterList = Prelude.mempty+    }++-- | Resource type. The possible values are @SSM_MANAGED@ | @RDS@.+productInformation_resourceType :: Lens.Lens' ProductInformation Prelude.Text+productInformation_resourceType = Lens.lens (\ProductInformation' {resourceType} -> resourceType) (\s@ProductInformation' {} a -> s {resourceType = a} :: ProductInformation)++-- | A Product information filter consists of a+-- @ProductInformationFilterComparator@ which is a logical operator, a+-- @ProductInformationFilterName@ which specifies the type of filter being+-- declared, and a @ProductInformationFilterValue@ that specifies the value+-- to filter on.+--+-- Accepted values for @ProductInformationFilterName@ are listed here along+-- with descriptions and valid options for+-- @ProductInformationFilterComparator@.+--+-- The following filters and are supported when the resource type is+-- @SSM_MANAGED@:+--+-- -   @Application Name@ - The name of the application. Logical operator+--     is @EQUALS@.+--+-- -   @Application Publisher@ - The publisher of the application. Logical+--     operator is @EQUALS@.+--+-- -   @Application Version@ - The version of the application. Logical+--     operator is @EQUALS@.+--+-- -   @Platform Name@ - The name of the platform. Logical operator is+--     @EQUALS@.+--+-- -   @Platform Type@ - The platform type. Logical operator is @EQUALS@.+--+-- -   @Tag:key@ - The key of a tag attached to an Amazon Web Services+--     resource you wish to exclude from automated discovery. Logical+--     operator is @NOT_EQUALS@. The key for your tag must be appended to+--     @Tag:@ following the example: @Tag:name-of-your-key@.+--     @ProductInformationFilterValue@ is optional if you are not using+--     values for the key.+--+-- -   @AccountId@ - The 12-digit ID of an Amazon Web Services account you+--     wish to exclude from automated discovery. Logical operator is+--     @NOT_EQUALS@.+--+-- -   @License Included@ - The type of license included. Logical operators+--     are @EQUALS@ and @NOT_EQUALS@. Possible values are:+--     @sql-server-enterprise@ | @sql-server-standard@ | @sql-server-web@ |+--     @windows-server-datacenter@.+--+-- The following filters and logical operators are supported when the+-- resource type is @RDS@:+--+-- -   @Engine Edition@ - The edition of the database engine. Logical+--     operator is @EQUALS@. Possible values are: @oracle-ee@ | @oracle-se@+--     | @oracle-se1@ | @oracle-se2@.+--+-- -   @License Pack@ - The license pack. Logical operator is @EQUALS@.+--     Possible values are: @data guard@ | @diagnostic pack sqlt@ |+--     @tuning pack sqlt@ | @ols@ | @olap@.+productInformation_productInformationFilterList :: Lens.Lens' ProductInformation [ProductInformationFilter]+productInformation_productInformationFilterList = Lens.lens (\ProductInformation' {productInformationFilterList} -> productInformationFilterList) (\s@ProductInformation' {} a -> s {productInformationFilterList = a} :: ProductInformation) Prelude.. Lens.coerced++instance Data.FromJSON ProductInformation where+  parseJSON =+    Data.withObject+      "ProductInformation"+      ( \x ->+          ProductInformation'+            Prelude.<$> (x Data..: "ResourceType")+            Prelude.<*> ( x+                            Data..:? "ProductInformationFilterList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ProductInformation where+  hashWithSalt _salt ProductInformation' {..} =+    _salt+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` productInformationFilterList++instance Prelude.NFData ProductInformation where+  rnf ProductInformation' {..} =+    Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf productInformationFilterList++instance Data.ToJSON ProductInformation where+  toJSON ProductInformation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceType" Data..= resourceType),+            Prelude.Just+              ( "ProductInformationFilterList"+                  Data..= productInformationFilterList+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ProductInformationFilter.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.ProductInformationFilter+-- 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.LicenseManager.Types.ProductInformationFilter 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++-- | Describes product information filters.+--+-- /See:/ 'newProductInformationFilter' smart constructor.+data ProductInformationFilter = ProductInformationFilter'+  { -- | Filter value.+    productInformationFilterValue :: Prelude.Maybe [Prelude.Text],+    -- | Filter name.+    productInformationFilterName :: Prelude.Text,+    -- | Logical operator.+    productInformationFilterComparator :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProductInformationFilter' 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:+--+-- 'productInformationFilterValue', 'productInformationFilter_productInformationFilterValue' - Filter value.+--+-- 'productInformationFilterName', 'productInformationFilter_productInformationFilterName' - Filter name.+--+-- 'productInformationFilterComparator', 'productInformationFilter_productInformationFilterComparator' - Logical operator.+newProductInformationFilter ::+  -- | 'productInformationFilterName'+  Prelude.Text ->+  -- | 'productInformationFilterComparator'+  Prelude.Text ->+  ProductInformationFilter+newProductInformationFilter+  pProductInformationFilterName_+  pProductInformationFilterComparator_ =+    ProductInformationFilter'+      { productInformationFilterValue =+          Prelude.Nothing,+        productInformationFilterName =+          pProductInformationFilterName_,+        productInformationFilterComparator =+          pProductInformationFilterComparator_+      }++-- | Filter value.+productInformationFilter_productInformationFilterValue :: Lens.Lens' ProductInformationFilter (Prelude.Maybe [Prelude.Text])+productInformationFilter_productInformationFilterValue = Lens.lens (\ProductInformationFilter' {productInformationFilterValue} -> productInformationFilterValue) (\s@ProductInformationFilter' {} a -> s {productInformationFilterValue = a} :: ProductInformationFilter) Prelude.. Lens.mapping Lens.coerced++-- | Filter name.+productInformationFilter_productInformationFilterName :: Lens.Lens' ProductInformationFilter Prelude.Text+productInformationFilter_productInformationFilterName = Lens.lens (\ProductInformationFilter' {productInformationFilterName} -> productInformationFilterName) (\s@ProductInformationFilter' {} a -> s {productInformationFilterName = a} :: ProductInformationFilter)++-- | Logical operator.+productInformationFilter_productInformationFilterComparator :: Lens.Lens' ProductInformationFilter Prelude.Text+productInformationFilter_productInformationFilterComparator = Lens.lens (\ProductInformationFilter' {productInformationFilterComparator} -> productInformationFilterComparator) (\s@ProductInformationFilter' {} a -> s {productInformationFilterComparator = a} :: ProductInformationFilter)++instance Data.FromJSON ProductInformationFilter where+  parseJSON =+    Data.withObject+      "ProductInformationFilter"+      ( \x ->+          ProductInformationFilter'+            Prelude.<$> ( x+                            Data..:? "ProductInformationFilterValue"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "ProductInformationFilterName")+            Prelude.<*> (x Data..: "ProductInformationFilterComparator")+      )++instance Prelude.Hashable ProductInformationFilter where+  hashWithSalt _salt ProductInformationFilter' {..} =+    _salt+      `Prelude.hashWithSalt` productInformationFilterValue+      `Prelude.hashWithSalt` productInformationFilterName+      `Prelude.hashWithSalt` productInformationFilterComparator++instance Prelude.NFData ProductInformationFilter where+  rnf ProductInformationFilter' {..} =+    Prelude.rnf productInformationFilterValue+      `Prelude.seq` Prelude.rnf productInformationFilterName+      `Prelude.seq` Prelude.rnf productInformationFilterComparator++instance Data.ToJSON ProductInformationFilter where+  toJSON ProductInformationFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ProductInformationFilterValue" Data..=)+              Prelude.<$> productInformationFilterValue,+            Prelude.Just+              ( "ProductInformationFilterName"+                  Data..= productInformationFilterName+              ),+            Prelude.Just+              ( "ProductInformationFilterComparator"+                  Data..= productInformationFilterComparator+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ProvisionalConfiguration.hs view
@@ -0,0 +1,85 @@+{-# 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.LicenseManager.Types.ProvisionalConfiguration+-- 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.LicenseManager.Types.ProvisionalConfiguration 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 a provisional configuration.+--+-- /See:/ 'newProvisionalConfiguration' smart constructor.+data ProvisionalConfiguration = ProvisionalConfiguration'+  { -- | Maximum time for the provisional configuration, in minutes.+    maxTimeToLiveInMinutes :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionalConfiguration' 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:+--+-- 'maxTimeToLiveInMinutes', 'provisionalConfiguration_maxTimeToLiveInMinutes' - Maximum time for the provisional configuration, in minutes.+newProvisionalConfiguration ::+  -- | 'maxTimeToLiveInMinutes'+  Prelude.Int ->+  ProvisionalConfiguration+newProvisionalConfiguration pMaxTimeToLiveInMinutes_ =+  ProvisionalConfiguration'+    { maxTimeToLiveInMinutes =+        pMaxTimeToLiveInMinutes_+    }++-- | Maximum time for the provisional configuration, in minutes.+provisionalConfiguration_maxTimeToLiveInMinutes :: Lens.Lens' ProvisionalConfiguration Prelude.Int+provisionalConfiguration_maxTimeToLiveInMinutes = Lens.lens (\ProvisionalConfiguration' {maxTimeToLiveInMinutes} -> maxTimeToLiveInMinutes) (\s@ProvisionalConfiguration' {} a -> s {maxTimeToLiveInMinutes = a} :: ProvisionalConfiguration)++instance Data.FromJSON ProvisionalConfiguration where+  parseJSON =+    Data.withObject+      "ProvisionalConfiguration"+      ( \x ->+          ProvisionalConfiguration'+            Prelude.<$> (x Data..: "MaxTimeToLiveInMinutes")+      )++instance Prelude.Hashable ProvisionalConfiguration where+  hashWithSalt _salt ProvisionalConfiguration' {..} =+    _salt `Prelude.hashWithSalt` maxTimeToLiveInMinutes++instance Prelude.NFData ProvisionalConfiguration where+  rnf ProvisionalConfiguration' {..} =+    Prelude.rnf maxTimeToLiveInMinutes++instance Data.ToJSON ProvisionalConfiguration where+  toJSON ProvisionalConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "MaxTimeToLiveInMinutes"+                  Data..= maxTimeToLiveInMinutes+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ReceivedMetadata.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.LicenseManager.Types.ReceivedMetadata+-- 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.LicenseManager.Types.ReceivedMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.AllowedOperation+import Amazonka.LicenseManager.Types.ReceivedStatus+import qualified Amazonka.Prelude as Prelude++-- | Metadata associated with received licenses and grants.+--+-- /See:/ 'newReceivedMetadata' smart constructor.+data ReceivedMetadata = ReceivedMetadata'+  { -- | Allowed operations.+    allowedOperations :: Prelude.Maybe (Prelude.NonEmpty AllowedOperation),+    -- | Received status.+    receivedStatus :: Prelude.Maybe ReceivedStatus,+    -- | Received status reason.+    receivedStatusReason :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReceivedMetadata' 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:+--+-- 'allowedOperations', 'receivedMetadata_allowedOperations' - Allowed operations.+--+-- 'receivedStatus', 'receivedMetadata_receivedStatus' - Received status.+--+-- 'receivedStatusReason', 'receivedMetadata_receivedStatusReason' - Received status reason.+newReceivedMetadata ::+  ReceivedMetadata+newReceivedMetadata =+  ReceivedMetadata'+    { allowedOperations =+        Prelude.Nothing,+      receivedStatus = Prelude.Nothing,+      receivedStatusReason = Prelude.Nothing+    }++-- | Allowed operations.+receivedMetadata_allowedOperations :: Lens.Lens' ReceivedMetadata (Prelude.Maybe (Prelude.NonEmpty AllowedOperation))+receivedMetadata_allowedOperations = Lens.lens (\ReceivedMetadata' {allowedOperations} -> allowedOperations) (\s@ReceivedMetadata' {} a -> s {allowedOperations = a} :: ReceivedMetadata) Prelude.. Lens.mapping Lens.coerced++-- | Received status.+receivedMetadata_receivedStatus :: Lens.Lens' ReceivedMetadata (Prelude.Maybe ReceivedStatus)+receivedMetadata_receivedStatus = Lens.lens (\ReceivedMetadata' {receivedStatus} -> receivedStatus) (\s@ReceivedMetadata' {} a -> s {receivedStatus = a} :: ReceivedMetadata)++-- | Received status reason.+receivedMetadata_receivedStatusReason :: Lens.Lens' ReceivedMetadata (Prelude.Maybe Prelude.Text)+receivedMetadata_receivedStatusReason = Lens.lens (\ReceivedMetadata' {receivedStatusReason} -> receivedStatusReason) (\s@ReceivedMetadata' {} a -> s {receivedStatusReason = a} :: ReceivedMetadata)++instance Data.FromJSON ReceivedMetadata where+  parseJSON =+    Data.withObject+      "ReceivedMetadata"+      ( \x ->+          ReceivedMetadata'+            Prelude.<$> (x Data..:? "AllowedOperations")+            Prelude.<*> (x Data..:? "ReceivedStatus")+            Prelude.<*> (x Data..:? "ReceivedStatusReason")+      )++instance Prelude.Hashable ReceivedMetadata where+  hashWithSalt _salt ReceivedMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` allowedOperations+      `Prelude.hashWithSalt` receivedStatus+      `Prelude.hashWithSalt` receivedStatusReason++instance Prelude.NFData ReceivedMetadata where+  rnf ReceivedMetadata' {..} =+    Prelude.rnf allowedOperations+      `Prelude.seq` Prelude.rnf receivedStatus+      `Prelude.seq` Prelude.rnf receivedStatusReason
+ gen/Amazonka/LicenseManager/Types/ReceivedStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.LicenseManager.Types.ReceivedStatus+-- 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.LicenseManager.Types.ReceivedStatus+  ( ReceivedStatus+      ( ..,+        ReceivedStatus_ACTIVE,+        ReceivedStatus_DELETED,+        ReceivedStatus_DISABLED,+        ReceivedStatus_FAILED_WORKFLOW,+        ReceivedStatus_PENDING_ACCEPT,+        ReceivedStatus_PENDING_WORKFLOW,+        ReceivedStatus_REJECTED,+        ReceivedStatus_WORKFLOW_COMPLETED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReceivedStatus = ReceivedStatus'+  { fromReceivedStatus ::+      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 ReceivedStatus_ACTIVE :: ReceivedStatus+pattern ReceivedStatus_ACTIVE = ReceivedStatus' "ACTIVE"++pattern ReceivedStatus_DELETED :: ReceivedStatus+pattern ReceivedStatus_DELETED = ReceivedStatus' "DELETED"++pattern ReceivedStatus_DISABLED :: ReceivedStatus+pattern ReceivedStatus_DISABLED = ReceivedStatus' "DISABLED"++pattern ReceivedStatus_FAILED_WORKFLOW :: ReceivedStatus+pattern ReceivedStatus_FAILED_WORKFLOW = ReceivedStatus' "FAILED_WORKFLOW"++pattern ReceivedStatus_PENDING_ACCEPT :: ReceivedStatus+pattern ReceivedStatus_PENDING_ACCEPT = ReceivedStatus' "PENDING_ACCEPT"++pattern ReceivedStatus_PENDING_WORKFLOW :: ReceivedStatus+pattern ReceivedStatus_PENDING_WORKFLOW = ReceivedStatus' "PENDING_WORKFLOW"++pattern ReceivedStatus_REJECTED :: ReceivedStatus+pattern ReceivedStatus_REJECTED = ReceivedStatus' "REJECTED"++pattern ReceivedStatus_WORKFLOW_COMPLETED :: ReceivedStatus+pattern ReceivedStatus_WORKFLOW_COMPLETED = ReceivedStatus' "WORKFLOW_COMPLETED"++{-# COMPLETE+  ReceivedStatus_ACTIVE,+  ReceivedStatus_DELETED,+  ReceivedStatus_DISABLED,+  ReceivedStatus_FAILED_WORKFLOW,+  ReceivedStatus_PENDING_ACCEPT,+  ReceivedStatus_PENDING_WORKFLOW,+  ReceivedStatus_REJECTED,+  ReceivedStatus_WORKFLOW_COMPLETED,+  ReceivedStatus'+  #-}
+ gen/Amazonka/LicenseManager/Types/RenewType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.RenewType+-- 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.LicenseManager.Types.RenewType+  ( RenewType+      ( ..,+        RenewType_Monthly,+        RenewType_None,+        RenewType_Weekly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RenewType = RenewType'+  { fromRenewType ::+      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 RenewType_Monthly :: RenewType+pattern RenewType_Monthly = RenewType' "Monthly"++pattern RenewType_None :: RenewType+pattern RenewType_None = RenewType' "None"++pattern RenewType_Weekly :: RenewType+pattern RenewType_Weekly = RenewType' "Weekly"++{-# COMPLETE+  RenewType_Monthly,+  RenewType_None,+  RenewType_Weekly,+  RenewType'+  #-}
+ gen/Amazonka/LicenseManager/Types/ReportContext.hs view
@@ -0,0 +1,90 @@+{-# 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.LicenseManager.Types.ReportContext+-- 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.LicenseManager.Types.ReportContext 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 of the license configuration that this generator reports on.+--+-- /See:/ 'newReportContext' smart constructor.+data ReportContext = ReportContext'+  { -- | Amazon Resource Name (ARN) of the license configuration that this+    -- generator reports on.+    licenseConfigurationArns :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReportContext' 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:+--+-- 'licenseConfigurationArns', 'reportContext_licenseConfigurationArns' - Amazon Resource Name (ARN) of the license configuration that this+-- generator reports on.+newReportContext ::+  ReportContext+newReportContext =+  ReportContext'+    { licenseConfigurationArns =+        Prelude.mempty+    }++-- | Amazon Resource Name (ARN) of the license configuration that this+-- generator reports on.+reportContext_licenseConfigurationArns :: Lens.Lens' ReportContext [Prelude.Text]+reportContext_licenseConfigurationArns = Lens.lens (\ReportContext' {licenseConfigurationArns} -> licenseConfigurationArns) (\s@ReportContext' {} a -> s {licenseConfigurationArns = a} :: ReportContext) Prelude.. Lens.coerced++instance Data.FromJSON ReportContext where+  parseJSON =+    Data.withObject+      "ReportContext"+      ( \x ->+          ReportContext'+            Prelude.<$> ( x+                            Data..:? "licenseConfigurationArns"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ReportContext where+  hashWithSalt _salt ReportContext' {..} =+    _salt+      `Prelude.hashWithSalt` licenseConfigurationArns++instance Prelude.NFData ReportContext where+  rnf ReportContext' {..} =+    Prelude.rnf licenseConfigurationArns++instance Data.ToJSON ReportContext where+  toJSON ReportContext' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "licenseConfigurationArns"+                  Data..= licenseConfigurationArns+              )+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ReportFrequency.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.LicenseManager.Types.ReportFrequency+-- 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.LicenseManager.Types.ReportFrequency where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ReportFrequencyType+import qualified Amazonka.Prelude as Prelude++-- | Details about how frequently reports are generated.+--+-- /See:/ 'newReportFrequency' smart constructor.+data ReportFrequency = ReportFrequency'+  { -- | Time period between each report. The period can be daily, weekly, or+    -- monthly.+    period :: Prelude.Maybe ReportFrequencyType,+    -- | Number of times within the frequency period that a report is generated.+    -- The only supported value is @1@.+    value :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReportFrequency' 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:+--+-- 'period', 'reportFrequency_period' - Time period between each report. The period can be daily, weekly, or+-- monthly.+--+-- 'value', 'reportFrequency_value' - Number of times within the frequency period that a report is generated.+-- The only supported value is @1@.+newReportFrequency ::+  ReportFrequency+newReportFrequency =+  ReportFrequency'+    { period = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | Time period between each report. The period can be daily, weekly, or+-- monthly.+reportFrequency_period :: Lens.Lens' ReportFrequency (Prelude.Maybe ReportFrequencyType)+reportFrequency_period = Lens.lens (\ReportFrequency' {period} -> period) (\s@ReportFrequency' {} a -> s {period = a} :: ReportFrequency)++-- | Number of times within the frequency period that a report is generated.+-- The only supported value is @1@.+reportFrequency_value :: Lens.Lens' ReportFrequency (Prelude.Maybe Prelude.Int)+reportFrequency_value = Lens.lens (\ReportFrequency' {value} -> value) (\s@ReportFrequency' {} a -> s {value = a} :: ReportFrequency)++instance Data.FromJSON ReportFrequency where+  parseJSON =+    Data.withObject+      "ReportFrequency"+      ( \x ->+          ReportFrequency'+            Prelude.<$> (x Data..:? "period")+            Prelude.<*> (x Data..:? "value")+      )++instance Prelude.Hashable ReportFrequency where+  hashWithSalt _salt ReportFrequency' {..} =+    _salt+      `Prelude.hashWithSalt` period+      `Prelude.hashWithSalt` value++instance Prelude.NFData ReportFrequency where+  rnf ReportFrequency' {..} =+    Prelude.rnf period `Prelude.seq` Prelude.rnf value++instance Data.ToJSON ReportFrequency where+  toJSON ReportFrequency' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("period" Data..=) Prelude.<$> period,+            ("value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/LicenseManager/Types/ReportFrequencyType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.ReportFrequencyType+-- 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.LicenseManager.Types.ReportFrequencyType+  ( ReportFrequencyType+      ( ..,+        ReportFrequencyType_DAY,+        ReportFrequencyType_MONTH,+        ReportFrequencyType_WEEK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReportFrequencyType = ReportFrequencyType'+  { fromReportFrequencyType ::+      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 ReportFrequencyType_DAY :: ReportFrequencyType+pattern ReportFrequencyType_DAY = ReportFrequencyType' "DAY"++pattern ReportFrequencyType_MONTH :: ReportFrequencyType+pattern ReportFrequencyType_MONTH = ReportFrequencyType' "MONTH"++pattern ReportFrequencyType_WEEK :: ReportFrequencyType+pattern ReportFrequencyType_WEEK = ReportFrequencyType' "WEEK"++{-# COMPLETE+  ReportFrequencyType_DAY,+  ReportFrequencyType_MONTH,+  ReportFrequencyType_WEEK,+  ReportFrequencyType'+  #-}
+ gen/Amazonka/LicenseManager/Types/ReportGenerator.hs view
@@ -0,0 +1,221 @@+{-# 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.LicenseManager.Types.ReportGenerator+-- 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.LicenseManager.Types.ReportGenerator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ReportContext+import Amazonka.LicenseManager.Types.ReportFrequency+import Amazonka.LicenseManager.Types.ReportType+import Amazonka.LicenseManager.Types.S3Location+import Amazonka.LicenseManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describe the details of a report generator.+--+-- /See:/ 'newReportGenerator' smart constructor.+data ReportGenerator = ReportGenerator'+  { -- | Time the report was created.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | Description of the report generator.+    description :: Prelude.Maybe Prelude.Text,+    -- | Time the last report was generated at.+    lastReportGenerationTime :: Prelude.Maybe Prelude.Text,+    -- | Failure message for the last report generation attempt.+    lastRunFailureReason :: Prelude.Maybe Prelude.Text,+    -- | Status of the last report generation attempt.+    lastRunStatus :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the report generator.+    licenseManagerReportGeneratorArn :: Prelude.Maybe Prelude.Text,+    -- | License configuration type for this generator.+    reportContext :: Prelude.Maybe ReportContext,+    -- | The Amazon Web Services account ID used to create the report generator.+    reportCreatorAccount :: Prelude.Maybe Prelude.Text,+    -- | Details about how frequently reports are generated.+    reportFrequency :: Prelude.Maybe ReportFrequency,+    -- | Name of the report generator.+    reportGeneratorName :: Prelude.Maybe Prelude.Text,+    -- | Type of reports that are generated.+    reportType :: Prelude.Maybe [ReportType],+    -- | Details of the S3 bucket that report generator reports are published to.+    s3Location :: Prelude.Maybe S3Location,+    -- | Tags associated with the report generator.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReportGenerator' 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:+--+-- 'createTime', 'reportGenerator_createTime' - Time the report was created.+--+-- 'description', 'reportGenerator_description' - Description of the report generator.+--+-- 'lastReportGenerationTime', 'reportGenerator_lastReportGenerationTime' - Time the last report was generated at.+--+-- 'lastRunFailureReason', 'reportGenerator_lastRunFailureReason' - Failure message for the last report generation attempt.+--+-- 'lastRunStatus', 'reportGenerator_lastRunStatus' - Status of the last report generation attempt.+--+-- 'licenseManagerReportGeneratorArn', 'reportGenerator_licenseManagerReportGeneratorArn' - Amazon Resource Name (ARN) of the report generator.+--+-- 'reportContext', 'reportGenerator_reportContext' - License configuration type for this generator.+--+-- 'reportCreatorAccount', 'reportGenerator_reportCreatorAccount' - The Amazon Web Services account ID used to create the report generator.+--+-- 'reportFrequency', 'reportGenerator_reportFrequency' - Details about how frequently reports are generated.+--+-- 'reportGeneratorName', 'reportGenerator_reportGeneratorName' - Name of the report generator.+--+-- 'reportType', 'reportGenerator_reportType' - Type of reports that are generated.+--+-- 's3Location', 'reportGenerator_s3Location' - Details of the S3 bucket that report generator reports are published to.+--+-- 'tags', 'reportGenerator_tags' - Tags associated with the report generator.+newReportGenerator ::+  ReportGenerator+newReportGenerator =+  ReportGenerator'+    { createTime = Prelude.Nothing,+      description = Prelude.Nothing,+      lastReportGenerationTime = Prelude.Nothing,+      lastRunFailureReason = Prelude.Nothing,+      lastRunStatus = Prelude.Nothing,+      licenseManagerReportGeneratorArn = Prelude.Nothing,+      reportContext = Prelude.Nothing,+      reportCreatorAccount = Prelude.Nothing,+      reportFrequency = Prelude.Nothing,+      reportGeneratorName = Prelude.Nothing,+      reportType = Prelude.Nothing,+      s3Location = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Time the report was created.+reportGenerator_createTime :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_createTime = Lens.lens (\ReportGenerator' {createTime} -> createTime) (\s@ReportGenerator' {} a -> s {createTime = a} :: ReportGenerator)++-- | Description of the report generator.+reportGenerator_description :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_description = Lens.lens (\ReportGenerator' {description} -> description) (\s@ReportGenerator' {} a -> s {description = a} :: ReportGenerator)++-- | Time the last report was generated at.+reportGenerator_lastReportGenerationTime :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_lastReportGenerationTime = Lens.lens (\ReportGenerator' {lastReportGenerationTime} -> lastReportGenerationTime) (\s@ReportGenerator' {} a -> s {lastReportGenerationTime = a} :: ReportGenerator)++-- | Failure message for the last report generation attempt.+reportGenerator_lastRunFailureReason :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_lastRunFailureReason = Lens.lens (\ReportGenerator' {lastRunFailureReason} -> lastRunFailureReason) (\s@ReportGenerator' {} a -> s {lastRunFailureReason = a} :: ReportGenerator)++-- | Status of the last report generation attempt.+reportGenerator_lastRunStatus :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_lastRunStatus = Lens.lens (\ReportGenerator' {lastRunStatus} -> lastRunStatus) (\s@ReportGenerator' {} a -> s {lastRunStatus = a} :: ReportGenerator)++-- | Amazon Resource Name (ARN) of the report generator.+reportGenerator_licenseManagerReportGeneratorArn :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_licenseManagerReportGeneratorArn = Lens.lens (\ReportGenerator' {licenseManagerReportGeneratorArn} -> licenseManagerReportGeneratorArn) (\s@ReportGenerator' {} a -> s {licenseManagerReportGeneratorArn = a} :: ReportGenerator)++-- | License configuration type for this generator.+reportGenerator_reportContext :: Lens.Lens' ReportGenerator (Prelude.Maybe ReportContext)+reportGenerator_reportContext = Lens.lens (\ReportGenerator' {reportContext} -> reportContext) (\s@ReportGenerator' {} a -> s {reportContext = a} :: ReportGenerator)++-- | The Amazon Web Services account ID used to create the report generator.+reportGenerator_reportCreatorAccount :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_reportCreatorAccount = Lens.lens (\ReportGenerator' {reportCreatorAccount} -> reportCreatorAccount) (\s@ReportGenerator' {} a -> s {reportCreatorAccount = a} :: ReportGenerator)++-- | Details about how frequently reports are generated.+reportGenerator_reportFrequency :: Lens.Lens' ReportGenerator (Prelude.Maybe ReportFrequency)+reportGenerator_reportFrequency = Lens.lens (\ReportGenerator' {reportFrequency} -> reportFrequency) (\s@ReportGenerator' {} a -> s {reportFrequency = a} :: ReportGenerator)++-- | Name of the report generator.+reportGenerator_reportGeneratorName :: Lens.Lens' ReportGenerator (Prelude.Maybe Prelude.Text)+reportGenerator_reportGeneratorName = Lens.lens (\ReportGenerator' {reportGeneratorName} -> reportGeneratorName) (\s@ReportGenerator' {} a -> s {reportGeneratorName = a} :: ReportGenerator)++-- | Type of reports that are generated.+reportGenerator_reportType :: Lens.Lens' ReportGenerator (Prelude.Maybe [ReportType])+reportGenerator_reportType = Lens.lens (\ReportGenerator' {reportType} -> reportType) (\s@ReportGenerator' {} a -> s {reportType = a} :: ReportGenerator) Prelude.. Lens.mapping Lens.coerced++-- | Details of the S3 bucket that report generator reports are published to.+reportGenerator_s3Location :: Lens.Lens' ReportGenerator (Prelude.Maybe S3Location)+reportGenerator_s3Location = Lens.lens (\ReportGenerator' {s3Location} -> s3Location) (\s@ReportGenerator' {} a -> s {s3Location = a} :: ReportGenerator)++-- | Tags associated with the report generator.+reportGenerator_tags :: Lens.Lens' ReportGenerator (Prelude.Maybe [Tag])+reportGenerator_tags = Lens.lens (\ReportGenerator' {tags} -> tags) (\s@ReportGenerator' {} a -> s {tags = a} :: ReportGenerator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ReportGenerator where+  parseJSON =+    Data.withObject+      "ReportGenerator"+      ( \x ->+          ReportGenerator'+            Prelude.<$> (x Data..:? "CreateTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "LastReportGenerationTime")+            Prelude.<*> (x Data..:? "LastRunFailureReason")+            Prelude.<*> (x Data..:? "LastRunStatus")+            Prelude.<*> (x Data..:? "LicenseManagerReportGeneratorArn")+            Prelude.<*> (x Data..:? "ReportContext")+            Prelude.<*> (x Data..:? "ReportCreatorAccount")+            Prelude.<*> (x Data..:? "ReportFrequency")+            Prelude.<*> (x Data..:? "ReportGeneratorName")+            Prelude.<*> (x Data..:? "ReportType" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "S3Location")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ReportGenerator where+  hashWithSalt _salt ReportGenerator' {..} =+    _salt+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lastReportGenerationTime+      `Prelude.hashWithSalt` lastRunFailureReason+      `Prelude.hashWithSalt` lastRunStatus+      `Prelude.hashWithSalt` licenseManagerReportGeneratorArn+      `Prelude.hashWithSalt` reportContext+      `Prelude.hashWithSalt` reportCreatorAccount+      `Prelude.hashWithSalt` reportFrequency+      `Prelude.hashWithSalt` reportGeneratorName+      `Prelude.hashWithSalt` reportType+      `Prelude.hashWithSalt` s3Location+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ReportGenerator where+  rnf ReportGenerator' {..} =+    Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf lastReportGenerationTime+      `Prelude.seq` Prelude.rnf lastRunFailureReason+      `Prelude.seq` Prelude.rnf lastRunStatus+      `Prelude.seq` Prelude.rnf licenseManagerReportGeneratorArn+      `Prelude.seq` Prelude.rnf reportContext+      `Prelude.seq` Prelude.rnf reportCreatorAccount+      `Prelude.seq` Prelude.rnf reportFrequency+      `Prelude.seq` Prelude.rnf reportGeneratorName+      `Prelude.seq` Prelude.rnf reportType+      `Prelude.seq` Prelude.rnf s3Location+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/LicenseManager/Types/ReportType.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.LicenseManager.Types.ReportType+-- 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.LicenseManager.Types.ReportType+  ( ReportType+      ( ..,+        ReportType_LicenseConfigurationSummaryReport,+        ReportType_LicenseConfigurationUsageReport+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReportType = ReportType'+  { fromReportType ::+      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 ReportType_LicenseConfigurationSummaryReport :: ReportType+pattern ReportType_LicenseConfigurationSummaryReport = ReportType' "LicenseConfigurationSummaryReport"++pattern ReportType_LicenseConfigurationUsageReport :: ReportType+pattern ReportType_LicenseConfigurationUsageReport = ReportType' "LicenseConfigurationUsageReport"++{-# COMPLETE+  ReportType_LicenseConfigurationSummaryReport,+  ReportType_LicenseConfigurationUsageReport,+  ReportType'+  #-}
+ gen/Amazonka/LicenseManager/Types/ResourceInventory.hs view
@@ -0,0 +1,133 @@+{-# 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.LicenseManager.Types.ResourceInventory+-- 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.LicenseManager.Types.ResourceInventory where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | Details about a resource.+--+-- /See:/ 'newResourceInventory' smart constructor.+data ResourceInventory = ResourceInventory'+  { -- | Platform of the resource.+    platform :: Prelude.Maybe Prelude.Text,+    -- | Platform version of the resource in the inventory.+    platformVersion :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | ID of the resource.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | ID of the account that owns the resource.+    resourceOwningAccountId :: Prelude.Maybe Prelude.Text,+    -- | Type of resource.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceInventory' 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:+--+-- 'platform', 'resourceInventory_platform' - Platform of the resource.+--+-- 'platformVersion', 'resourceInventory_platformVersion' - Platform version of the resource in the inventory.+--+-- 'resourceArn', 'resourceInventory_resourceArn' - Amazon Resource Name (ARN) of the resource.+--+-- 'resourceId', 'resourceInventory_resourceId' - ID of the resource.+--+-- 'resourceOwningAccountId', 'resourceInventory_resourceOwningAccountId' - ID of the account that owns the resource.+--+-- 'resourceType', 'resourceInventory_resourceType' - Type of resource.+newResourceInventory ::+  ResourceInventory+newResourceInventory =+  ResourceInventory'+    { platform = Prelude.Nothing,+      platformVersion = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      resourceOwningAccountId = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Platform of the resource.+resourceInventory_platform :: Lens.Lens' ResourceInventory (Prelude.Maybe Prelude.Text)+resourceInventory_platform = Lens.lens (\ResourceInventory' {platform} -> platform) (\s@ResourceInventory' {} a -> s {platform = a} :: ResourceInventory)++-- | Platform version of the resource in the inventory.+resourceInventory_platformVersion :: Lens.Lens' ResourceInventory (Prelude.Maybe Prelude.Text)+resourceInventory_platformVersion = Lens.lens (\ResourceInventory' {platformVersion} -> platformVersion) (\s@ResourceInventory' {} a -> s {platformVersion = a} :: ResourceInventory)++-- | Amazon Resource Name (ARN) of the resource.+resourceInventory_resourceArn :: Lens.Lens' ResourceInventory (Prelude.Maybe Prelude.Text)+resourceInventory_resourceArn = Lens.lens (\ResourceInventory' {resourceArn} -> resourceArn) (\s@ResourceInventory' {} a -> s {resourceArn = a} :: ResourceInventory)++-- | ID of the resource.+resourceInventory_resourceId :: Lens.Lens' ResourceInventory (Prelude.Maybe Prelude.Text)+resourceInventory_resourceId = Lens.lens (\ResourceInventory' {resourceId} -> resourceId) (\s@ResourceInventory' {} a -> s {resourceId = a} :: ResourceInventory)++-- | ID of the account that owns the resource.+resourceInventory_resourceOwningAccountId :: Lens.Lens' ResourceInventory (Prelude.Maybe Prelude.Text)+resourceInventory_resourceOwningAccountId = Lens.lens (\ResourceInventory' {resourceOwningAccountId} -> resourceOwningAccountId) (\s@ResourceInventory' {} a -> s {resourceOwningAccountId = a} :: ResourceInventory)++-- | Type of resource.+resourceInventory_resourceType :: Lens.Lens' ResourceInventory (Prelude.Maybe ResourceType)+resourceInventory_resourceType = Lens.lens (\ResourceInventory' {resourceType} -> resourceType) (\s@ResourceInventory' {} a -> s {resourceType = a} :: ResourceInventory)++instance Data.FromJSON ResourceInventory where+  parseJSON =+    Data.withObject+      "ResourceInventory"+      ( \x ->+          ResourceInventory'+            Prelude.<$> (x Data..:? "Platform")+            Prelude.<*> (x Data..:? "PlatformVersion")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "ResourceOwningAccountId")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable ResourceInventory where+  hashWithSalt _salt ResourceInventory' {..} =+    _salt+      `Prelude.hashWithSalt` platform+      `Prelude.hashWithSalt` platformVersion+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceOwningAccountId+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ResourceInventory where+  rnf ResourceInventory' {..} =+    Prelude.rnf platform+      `Prelude.seq` Prelude.rnf platformVersion+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceOwningAccountId+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/LicenseManager/Types/ResourceType.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.LicenseManager.Types.ResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LicenseManager.Types.ResourceType+  ( ResourceType+      ( ..,+        ResourceType_EC2_AMI,+        ResourceType_EC2_HOST,+        ResourceType_EC2_INSTANCE,+        ResourceType_RDS,+        ResourceType_SYSTEMS_MANAGER_MANAGED_INSTANCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceType = ResourceType'+  { fromResourceType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ResourceType_EC2_AMI :: ResourceType+pattern ResourceType_EC2_AMI = ResourceType' "EC2_AMI"++pattern ResourceType_EC2_HOST :: ResourceType+pattern ResourceType_EC2_HOST = ResourceType' "EC2_HOST"++pattern ResourceType_EC2_INSTANCE :: ResourceType+pattern ResourceType_EC2_INSTANCE = ResourceType' "EC2_INSTANCE"++pattern ResourceType_RDS :: ResourceType+pattern ResourceType_RDS = ResourceType' "RDS"++pattern ResourceType_SYSTEMS_MANAGER_MANAGED_INSTANCE :: ResourceType+pattern ResourceType_SYSTEMS_MANAGER_MANAGED_INSTANCE = ResourceType' "SYSTEMS_MANAGER_MANAGED_INSTANCE"++{-# COMPLETE+  ResourceType_EC2_AMI,+  ResourceType_EC2_HOST,+  ResourceType_EC2_INSTANCE,+  ResourceType_RDS,+  ResourceType_SYSTEMS_MANAGER_MANAGED_INSTANCE,+  ResourceType'+  #-}
+ gen/Amazonka/LicenseManager/Types/S3Location.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.LicenseManager.Types.S3Location+-- 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.LicenseManager.Types.S3Location 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 of the S3 bucket that report generator reports are published to.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+  { -- | Name of the S3 bucket reports are published to.+    bucket :: Prelude.Maybe Prelude.Text,+    -- | Prefix of the S3 bucket reports are published to.+    keyPrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' 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:+--+-- 'bucket', 's3Location_bucket' - Name of the S3 bucket reports are published to.+--+-- 'keyPrefix', 's3Location_keyPrefix' - Prefix of the S3 bucket reports are published to.+newS3Location ::+  S3Location+newS3Location =+  S3Location'+    { bucket = Prelude.Nothing,+      keyPrefix = Prelude.Nothing+    }++-- | Name of the S3 bucket reports are published to.+s3Location_bucket :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_bucket = Lens.lens (\S3Location' {bucket} -> bucket) (\s@S3Location' {} a -> s {bucket = a} :: S3Location)++-- | Prefix of the S3 bucket reports are published to.+s3Location_keyPrefix :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_keyPrefix = Lens.lens (\S3Location' {keyPrefix} -> keyPrefix) (\s@S3Location' {} a -> s {keyPrefix = a} :: S3Location)++instance Data.FromJSON S3Location where+  parseJSON =+    Data.withObject+      "S3Location"+      ( \x ->+          S3Location'+            Prelude.<$> (x Data..:? "bucket")+            Prelude.<*> (x Data..:? "keyPrefix")+      )++instance Prelude.Hashable S3Location where+  hashWithSalt _salt S3Location' {..} =+    _salt+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` keyPrefix++instance Prelude.NFData S3Location where+  rnf S3Location' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf keyPrefix
+ gen/Amazonka/LicenseManager/Types/Tag.hs view
@@ -0,0 +1,92 @@+{-# 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.LicenseManager.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.LicenseManager.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++-- | Details about a tag for a license configuration.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | Tag key.+    key :: Prelude.Maybe Prelude.Text,+    -- | Tag value.+    value :: Prelude.Maybe 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' - Tag key.+--+-- 'value', 'tag_value' - Tag value.+newTag ::+  Tag+newTag =+  Tag'+    { key = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | Tag key.+tag_key :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | Tag value.+tag_value :: Lens.Lens' Tag (Prelude.Maybe 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+          [ ("Key" Data..=) Prelude.<$> key,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/LicenseManager/Types/TokenData.hs view
@@ -0,0 +1,147 @@+{-# 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.LicenseManager.Types.TokenData+-- 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.LicenseManager.Types.TokenData 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++-- | Describes a token.+--+-- /See:/ 'newTokenData' smart constructor.+data TokenData = TokenData'+  { -- | Token expiration time, in ISO8601-UTC format.+    expirationTime :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the license.+    licenseArn :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Names (ARN) of the roles included in the token.+    roleArns :: Prelude.Maybe [Prelude.Text],+    -- | Token status. The possible values are @AVAILABLE@ and @DELETED@.+    status :: Prelude.Maybe Prelude.Text,+    -- | Token ID.+    tokenId :: Prelude.Maybe Prelude.Text,+    -- | Data specified by the caller.+    tokenProperties :: Prelude.Maybe [Prelude.Text],+    -- | Type of token generated. The supported value is @REFRESH_TOKEN@.+    tokenType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TokenData' 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:+--+-- 'expirationTime', 'tokenData_expirationTime' - Token expiration time, in ISO8601-UTC format.+--+-- 'licenseArn', 'tokenData_licenseArn' - Amazon Resource Name (ARN) of the license.+--+-- 'roleArns', 'tokenData_roleArns' - Amazon Resource Names (ARN) of the roles included in the token.+--+-- 'status', 'tokenData_status' - Token status. The possible values are @AVAILABLE@ and @DELETED@.+--+-- 'tokenId', 'tokenData_tokenId' - Token ID.+--+-- 'tokenProperties', 'tokenData_tokenProperties' - Data specified by the caller.+--+-- 'tokenType', 'tokenData_tokenType' - Type of token generated. The supported value is @REFRESH_TOKEN@.+newTokenData ::+  TokenData+newTokenData =+  TokenData'+    { expirationTime = Prelude.Nothing,+      licenseArn = Prelude.Nothing,+      roleArns = Prelude.Nothing,+      status = Prelude.Nothing,+      tokenId = Prelude.Nothing,+      tokenProperties = Prelude.Nothing,+      tokenType = Prelude.Nothing+    }++-- | Token expiration time, in ISO8601-UTC format.+tokenData_expirationTime :: Lens.Lens' TokenData (Prelude.Maybe Prelude.Text)+tokenData_expirationTime = Lens.lens (\TokenData' {expirationTime} -> expirationTime) (\s@TokenData' {} a -> s {expirationTime = a} :: TokenData)++-- | Amazon Resource Name (ARN) of the license.+tokenData_licenseArn :: Lens.Lens' TokenData (Prelude.Maybe Prelude.Text)+tokenData_licenseArn = Lens.lens (\TokenData' {licenseArn} -> licenseArn) (\s@TokenData' {} a -> s {licenseArn = a} :: TokenData)++-- | Amazon Resource Names (ARN) of the roles included in the token.+tokenData_roleArns :: Lens.Lens' TokenData (Prelude.Maybe [Prelude.Text])+tokenData_roleArns = Lens.lens (\TokenData' {roleArns} -> roleArns) (\s@TokenData' {} a -> s {roleArns = a} :: TokenData) Prelude.. Lens.mapping Lens.coerced++-- | Token status. The possible values are @AVAILABLE@ and @DELETED@.+tokenData_status :: Lens.Lens' TokenData (Prelude.Maybe Prelude.Text)+tokenData_status = Lens.lens (\TokenData' {status} -> status) (\s@TokenData' {} a -> s {status = a} :: TokenData)++-- | Token ID.+tokenData_tokenId :: Lens.Lens' TokenData (Prelude.Maybe Prelude.Text)+tokenData_tokenId = Lens.lens (\TokenData' {tokenId} -> tokenId) (\s@TokenData' {} a -> s {tokenId = a} :: TokenData)++-- | Data specified by the caller.+tokenData_tokenProperties :: Lens.Lens' TokenData (Prelude.Maybe [Prelude.Text])+tokenData_tokenProperties = Lens.lens (\TokenData' {tokenProperties} -> tokenProperties) (\s@TokenData' {} a -> s {tokenProperties = a} :: TokenData) Prelude.. Lens.mapping Lens.coerced++-- | Type of token generated. The supported value is @REFRESH_TOKEN@.+tokenData_tokenType :: Lens.Lens' TokenData (Prelude.Maybe Prelude.Text)+tokenData_tokenType = Lens.lens (\TokenData' {tokenType} -> tokenType) (\s@TokenData' {} a -> s {tokenType = a} :: TokenData)++instance Data.FromJSON TokenData where+  parseJSON =+    Data.withObject+      "TokenData"+      ( \x ->+          TokenData'+            Prelude.<$> (x Data..:? "ExpirationTime")+            Prelude.<*> (x Data..:? "LicenseArn")+            Prelude.<*> (x Data..:? "RoleArns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TokenId")+            Prelude.<*> ( x+                            Data..:? "TokenProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "TokenType")+      )++instance Prelude.Hashable TokenData where+  hashWithSalt _salt TokenData' {..} =+    _salt+      `Prelude.hashWithSalt` expirationTime+      `Prelude.hashWithSalt` licenseArn+      `Prelude.hashWithSalt` roleArns+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` tokenId+      `Prelude.hashWithSalt` tokenProperties+      `Prelude.hashWithSalt` tokenType++instance Prelude.NFData TokenData where+  rnf TokenData' {..} =+    Prelude.rnf expirationTime+      `Prelude.seq` Prelude.rnf licenseArn+      `Prelude.seq` Prelude.rnf roleArns+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tokenId+      `Prelude.seq` Prelude.rnf tokenProperties+      `Prelude.seq` Prelude.rnf tokenType
+ gen/Amazonka/LicenseManager/Types/TokenType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.Types.TokenType+-- 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.LicenseManager.Types.TokenType+  ( TokenType+      ( ..,+        TokenType_REFRESH_TOKEN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TokenType = TokenType'+  { fromTokenType ::+      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 TokenType_REFRESH_TOKEN :: TokenType+pattern TokenType_REFRESH_TOKEN = TokenType' "REFRESH_TOKEN"++{-# COMPLETE+  TokenType_REFRESH_TOKEN,+  TokenType'+  #-}
+ gen/Amazonka/LicenseManager/UntagResource.hs view
@@ -0,0 +1,171 @@+{-# 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.LicenseManager.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 the specified tags from the specified license configuration.+module Amazonka.LicenseManager.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.LicenseManager.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'+  { -- | Amazon Resource Name (ARN) of the license configuration.+    resourceArn :: Prelude.Text,+    -- | Keys identifying the tags to remove.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - Amazon Resource Name (ARN) of the license configuration.+--+-- 'tagKeys', 'untagResource_tagKeys' - Keys identifying the tags to remove.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | Amazon Resource Name (ARN) of the license configuration.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Keys identifying the tags to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.UntagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/UpdateLicenseConfiguration.hs view
@@ -0,0 +1,281 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.UpdateLicenseConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the attributes of an existing license configuration.+module Amazonka.LicenseManager.UpdateLicenseConfiguration+  ( -- * Creating a Request+    UpdateLicenseConfiguration (..),+    newUpdateLicenseConfiguration,++    -- * Request Lenses+    updateLicenseConfiguration_description,+    updateLicenseConfiguration_disassociateWhenNotFound,+    updateLicenseConfiguration_licenseConfigurationStatus,+    updateLicenseConfiguration_licenseCount,+    updateLicenseConfiguration_licenseCountHardLimit,+    updateLicenseConfiguration_licenseRules,+    updateLicenseConfiguration_name,+    updateLicenseConfiguration_productInformationList,+    updateLicenseConfiguration_licenseConfigurationArn,++    -- * Destructuring the Response+    UpdateLicenseConfigurationResponse (..),+    newUpdateLicenseConfigurationResponse,++    -- * Response Lenses+    updateLicenseConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLicenseConfiguration' smart constructor.+data UpdateLicenseConfiguration = UpdateLicenseConfiguration'+  { -- | New description of the license configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | When true, disassociates a resource when software is uninstalled.+    disassociateWhenNotFound :: Prelude.Maybe Prelude.Bool,+    -- | New status of the license configuration.+    licenseConfigurationStatus :: Prelude.Maybe LicenseConfigurationStatus,+    -- | New number of licenses managed by the license configuration.+    licenseCount :: Prelude.Maybe Prelude.Integer,+    -- | New hard limit of the number of available licenses.+    licenseCountHardLimit :: Prelude.Maybe Prelude.Bool,+    -- | New license rule. The only rule that you can add after you create a+    -- license configuration is licenseAffinityToHost.+    licenseRules :: Prelude.Maybe [Prelude.Text],+    -- | New name of the license configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | New product information.+    productInformationList :: Prelude.Maybe [ProductInformation],+    -- | Amazon Resource Name (ARN) of the license configuration.+    licenseConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateLicenseConfiguration_description' - New description of the license configuration.+--+-- 'disassociateWhenNotFound', 'updateLicenseConfiguration_disassociateWhenNotFound' - When true, disassociates a resource when software is uninstalled.+--+-- 'licenseConfigurationStatus', 'updateLicenseConfiguration_licenseConfigurationStatus' - New status of the license configuration.+--+-- 'licenseCount', 'updateLicenseConfiguration_licenseCount' - New number of licenses managed by the license configuration.+--+-- 'licenseCountHardLimit', 'updateLicenseConfiguration_licenseCountHardLimit' - New hard limit of the number of available licenses.+--+-- 'licenseRules', 'updateLicenseConfiguration_licenseRules' - New license rule. The only rule that you can add after you create a+-- license configuration is licenseAffinityToHost.+--+-- 'name', 'updateLicenseConfiguration_name' - New name of the license configuration.+--+-- 'productInformationList', 'updateLicenseConfiguration_productInformationList' - New product information.+--+-- 'licenseConfigurationArn', 'updateLicenseConfiguration_licenseConfigurationArn' - Amazon Resource Name (ARN) of the license configuration.+newUpdateLicenseConfiguration ::+  -- | 'licenseConfigurationArn'+  Prelude.Text ->+  UpdateLicenseConfiguration+newUpdateLicenseConfiguration+  pLicenseConfigurationArn_ =+    UpdateLicenseConfiguration'+      { description =+          Prelude.Nothing,+        disassociateWhenNotFound = Prelude.Nothing,+        licenseConfigurationStatus = Prelude.Nothing,+        licenseCount = Prelude.Nothing,+        licenseCountHardLimit = Prelude.Nothing,+        licenseRules = Prelude.Nothing,+        name = Prelude.Nothing,+        productInformationList = Prelude.Nothing,+        licenseConfigurationArn =+          pLicenseConfigurationArn_+      }++-- | New description of the license configuration.+updateLicenseConfiguration_description :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe Prelude.Text)+updateLicenseConfiguration_description = Lens.lens (\UpdateLicenseConfiguration' {description} -> description) (\s@UpdateLicenseConfiguration' {} a -> s {description = a} :: UpdateLicenseConfiguration)++-- | When true, disassociates a resource when software is uninstalled.+updateLicenseConfiguration_disassociateWhenNotFound :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe Prelude.Bool)+updateLicenseConfiguration_disassociateWhenNotFound = Lens.lens (\UpdateLicenseConfiguration' {disassociateWhenNotFound} -> disassociateWhenNotFound) (\s@UpdateLicenseConfiguration' {} a -> s {disassociateWhenNotFound = a} :: UpdateLicenseConfiguration)++-- | New status of the license configuration.+updateLicenseConfiguration_licenseConfigurationStatus :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe LicenseConfigurationStatus)+updateLicenseConfiguration_licenseConfigurationStatus = Lens.lens (\UpdateLicenseConfiguration' {licenseConfigurationStatus} -> licenseConfigurationStatus) (\s@UpdateLicenseConfiguration' {} a -> s {licenseConfigurationStatus = a} :: UpdateLicenseConfiguration)++-- | New number of licenses managed by the license configuration.+updateLicenseConfiguration_licenseCount :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe Prelude.Integer)+updateLicenseConfiguration_licenseCount = Lens.lens (\UpdateLicenseConfiguration' {licenseCount} -> licenseCount) (\s@UpdateLicenseConfiguration' {} a -> s {licenseCount = a} :: UpdateLicenseConfiguration)++-- | New hard limit of the number of available licenses.+updateLicenseConfiguration_licenseCountHardLimit :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe Prelude.Bool)+updateLicenseConfiguration_licenseCountHardLimit = Lens.lens (\UpdateLicenseConfiguration' {licenseCountHardLimit} -> licenseCountHardLimit) (\s@UpdateLicenseConfiguration' {} a -> s {licenseCountHardLimit = a} :: UpdateLicenseConfiguration)++-- | New license rule. The only rule that you can add after you create a+-- license configuration is licenseAffinityToHost.+updateLicenseConfiguration_licenseRules :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe [Prelude.Text])+updateLicenseConfiguration_licenseRules = Lens.lens (\UpdateLicenseConfiguration' {licenseRules} -> licenseRules) (\s@UpdateLicenseConfiguration' {} a -> s {licenseRules = a} :: UpdateLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | New name of the license configuration.+updateLicenseConfiguration_name :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe Prelude.Text)+updateLicenseConfiguration_name = Lens.lens (\UpdateLicenseConfiguration' {name} -> name) (\s@UpdateLicenseConfiguration' {} a -> s {name = a} :: UpdateLicenseConfiguration)++-- | New product information.+updateLicenseConfiguration_productInformationList :: Lens.Lens' UpdateLicenseConfiguration (Prelude.Maybe [ProductInformation])+updateLicenseConfiguration_productInformationList = Lens.lens (\UpdateLicenseConfiguration' {productInformationList} -> productInformationList) (\s@UpdateLicenseConfiguration' {} a -> s {productInformationList = a} :: UpdateLicenseConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Name (ARN) of the license configuration.+updateLicenseConfiguration_licenseConfigurationArn :: Lens.Lens' UpdateLicenseConfiguration Prelude.Text+updateLicenseConfiguration_licenseConfigurationArn = Lens.lens (\UpdateLicenseConfiguration' {licenseConfigurationArn} -> licenseConfigurationArn) (\s@UpdateLicenseConfiguration' {} a -> s {licenseConfigurationArn = a} :: UpdateLicenseConfiguration)++instance Core.AWSRequest UpdateLicenseConfiguration where+  type+    AWSResponse UpdateLicenseConfiguration =+      UpdateLicenseConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateLicenseConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateLicenseConfiguration where+  hashWithSalt _salt UpdateLicenseConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` disassociateWhenNotFound+      `Prelude.hashWithSalt` licenseConfigurationStatus+      `Prelude.hashWithSalt` licenseCount+      `Prelude.hashWithSalt` licenseCountHardLimit+      `Prelude.hashWithSalt` licenseRules+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` productInformationList+      `Prelude.hashWithSalt` licenseConfigurationArn++instance Prelude.NFData UpdateLicenseConfiguration where+  rnf UpdateLicenseConfiguration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf disassociateWhenNotFound+      `Prelude.seq` Prelude.rnf licenseConfigurationStatus+      `Prelude.seq` Prelude.rnf licenseCount+      `Prelude.seq` Prelude.rnf licenseCountHardLimit+      `Prelude.seq` Prelude.rnf licenseRules+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf productInformationList+      `Prelude.seq` Prelude.rnf licenseConfigurationArn++instance Data.ToHeaders UpdateLicenseConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.UpdateLicenseConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateLicenseConfiguration where+  toJSON UpdateLicenseConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("DisassociateWhenNotFound" Data..=)+              Prelude.<$> disassociateWhenNotFound,+            ("LicenseConfigurationStatus" Data..=)+              Prelude.<$> licenseConfigurationStatus,+            ("LicenseCount" Data..=) Prelude.<$> licenseCount,+            ("LicenseCountHardLimit" Data..=)+              Prelude.<$> licenseCountHardLimit,+            ("LicenseRules" Data..=) Prelude.<$> licenseRules,+            ("Name" Data..=) Prelude.<$> name,+            ("ProductInformationList" Data..=)+              Prelude.<$> productInformationList,+            Prelude.Just+              ( "LicenseConfigurationArn"+                  Data..= licenseConfigurationArn+              )+          ]+      )++instance Data.ToPath UpdateLicenseConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateLicenseConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLicenseConfigurationResponse' smart constructor.+data UpdateLicenseConfigurationResponse = UpdateLicenseConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseConfigurationResponse' 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', 'updateLicenseConfigurationResponse_httpStatus' - The response's http status code.+newUpdateLicenseConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLicenseConfigurationResponse+newUpdateLicenseConfigurationResponse pHttpStatus_ =+  UpdateLicenseConfigurationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateLicenseConfigurationResponse_httpStatus :: Lens.Lens' UpdateLicenseConfigurationResponse Prelude.Int+updateLicenseConfigurationResponse_httpStatus = Lens.lens (\UpdateLicenseConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateLicenseConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateLicenseConfigurationResponse)++instance+  Prelude.NFData+    UpdateLicenseConfigurationResponse+  where+  rnf UpdateLicenseConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/UpdateLicenseManagerReportGenerator.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.LicenseManager.UpdateLicenseManagerReportGenerator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a report generator.+--+-- After you make changes to a report generator, it starts generating new+-- reports within 60 minutes of being updated.+module Amazonka.LicenseManager.UpdateLicenseManagerReportGenerator+  ( -- * Creating a Request+    UpdateLicenseManagerReportGenerator (..),+    newUpdateLicenseManagerReportGenerator,++    -- * Request Lenses+    updateLicenseManagerReportGenerator_description,+    updateLicenseManagerReportGenerator_licenseManagerReportGeneratorArn,+    updateLicenseManagerReportGenerator_reportGeneratorName,+    updateLicenseManagerReportGenerator_type,+    updateLicenseManagerReportGenerator_reportContext,+    updateLicenseManagerReportGenerator_reportFrequency,+    updateLicenseManagerReportGenerator_clientToken,++    -- * Destructuring the Response+    UpdateLicenseManagerReportGeneratorResponse (..),+    newUpdateLicenseManagerReportGeneratorResponse,++    -- * Response Lenses+    updateLicenseManagerReportGeneratorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLicenseManagerReportGenerator' smart constructor.+data UpdateLicenseManagerReportGenerator = UpdateLicenseManagerReportGenerator'+  { -- | Description of the report generator.+    description :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the report generator to update.+    licenseManagerReportGeneratorArn :: Prelude.Text,+    -- | Name of the report generator.+    reportGeneratorName :: Prelude.Text,+    -- | Type of reports to generate. The following report types are supported:+    --+    -- -   License configuration report - Reports the number and details of+    --     consumed licenses for a license configuration.+    --+    -- -   Resource report - Reports the tracked licenses and resource+    --     consumption for a license configuration.+    type' :: [ReportType],+    -- | The report context.+    reportContext :: ReportContext,+    -- | Frequency by which reports are generated.+    reportFrequency :: ReportFrequency,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseManagerReportGenerator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateLicenseManagerReportGenerator_description' - Description of the report generator.+--+-- 'licenseManagerReportGeneratorArn', 'updateLicenseManagerReportGenerator_licenseManagerReportGeneratorArn' - Amazon Resource Name (ARN) of the report generator to update.+--+-- 'reportGeneratorName', 'updateLicenseManagerReportGenerator_reportGeneratorName' - Name of the report generator.+--+-- 'type'', 'updateLicenseManagerReportGenerator_type' - Type of reports to generate. The following report types are supported:+--+-- -   License configuration report - Reports the number and details of+--     consumed licenses for a license configuration.+--+-- -   Resource report - Reports the tracked licenses and resource+--     consumption for a license configuration.+--+-- 'reportContext', 'updateLicenseManagerReportGenerator_reportContext' - The report context.+--+-- 'reportFrequency', 'updateLicenseManagerReportGenerator_reportFrequency' - Frequency by which reports are generated.+--+-- 'clientToken', 'updateLicenseManagerReportGenerator_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+newUpdateLicenseManagerReportGenerator ::+  -- | 'licenseManagerReportGeneratorArn'+  Prelude.Text ->+  -- | 'reportGeneratorName'+  Prelude.Text ->+  -- | 'reportContext'+  ReportContext ->+  -- | 'reportFrequency'+  ReportFrequency ->+  -- | 'clientToken'+  Prelude.Text ->+  UpdateLicenseManagerReportGenerator+newUpdateLicenseManagerReportGenerator+  pLicenseManagerReportGeneratorArn_+  pReportGeneratorName_+  pReportContext_+  pReportFrequency_+  pClientToken_ =+    UpdateLicenseManagerReportGenerator'+      { description =+          Prelude.Nothing,+        licenseManagerReportGeneratorArn =+          pLicenseManagerReportGeneratorArn_,+        reportGeneratorName =+          pReportGeneratorName_,+        type' = Prelude.mempty,+        reportContext = pReportContext_,+        reportFrequency = pReportFrequency_,+        clientToken = pClientToken_+      }++-- | Description of the report generator.+updateLicenseManagerReportGenerator_description :: Lens.Lens' UpdateLicenseManagerReportGenerator (Prelude.Maybe Prelude.Text)+updateLicenseManagerReportGenerator_description = Lens.lens (\UpdateLicenseManagerReportGenerator' {description} -> description) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {description = a} :: UpdateLicenseManagerReportGenerator)++-- | Amazon Resource Name (ARN) of the report generator to update.+updateLicenseManagerReportGenerator_licenseManagerReportGeneratorArn :: Lens.Lens' UpdateLicenseManagerReportGenerator Prelude.Text+updateLicenseManagerReportGenerator_licenseManagerReportGeneratorArn = Lens.lens (\UpdateLicenseManagerReportGenerator' {licenseManagerReportGeneratorArn} -> licenseManagerReportGeneratorArn) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {licenseManagerReportGeneratorArn = a} :: UpdateLicenseManagerReportGenerator)++-- | Name of the report generator.+updateLicenseManagerReportGenerator_reportGeneratorName :: Lens.Lens' UpdateLicenseManagerReportGenerator Prelude.Text+updateLicenseManagerReportGenerator_reportGeneratorName = Lens.lens (\UpdateLicenseManagerReportGenerator' {reportGeneratorName} -> reportGeneratorName) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {reportGeneratorName = a} :: UpdateLicenseManagerReportGenerator)++-- | Type of reports to generate. The following report types are supported:+--+-- -   License configuration report - Reports the number and details of+--     consumed licenses for a license configuration.+--+-- -   Resource report - Reports the tracked licenses and resource+--     consumption for a license configuration.+updateLicenseManagerReportGenerator_type :: Lens.Lens' UpdateLicenseManagerReportGenerator [ReportType]+updateLicenseManagerReportGenerator_type = Lens.lens (\UpdateLicenseManagerReportGenerator' {type'} -> type') (\s@UpdateLicenseManagerReportGenerator' {} a -> s {type' = a} :: UpdateLicenseManagerReportGenerator) Prelude.. Lens.coerced++-- | The report context.+updateLicenseManagerReportGenerator_reportContext :: Lens.Lens' UpdateLicenseManagerReportGenerator ReportContext+updateLicenseManagerReportGenerator_reportContext = Lens.lens (\UpdateLicenseManagerReportGenerator' {reportContext} -> reportContext) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {reportContext = a} :: UpdateLicenseManagerReportGenerator)++-- | Frequency by which reports are generated.+updateLicenseManagerReportGenerator_reportFrequency :: Lens.Lens' UpdateLicenseManagerReportGenerator ReportFrequency+updateLicenseManagerReportGenerator_reportFrequency = Lens.lens (\UpdateLicenseManagerReportGenerator' {reportFrequency} -> reportFrequency) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {reportFrequency = a} :: UpdateLicenseManagerReportGenerator)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+updateLicenseManagerReportGenerator_clientToken :: Lens.Lens' UpdateLicenseManagerReportGenerator Prelude.Text+updateLicenseManagerReportGenerator_clientToken = Lens.lens (\UpdateLicenseManagerReportGenerator' {clientToken} -> clientToken) (\s@UpdateLicenseManagerReportGenerator' {} a -> s {clientToken = a} :: UpdateLicenseManagerReportGenerator)++instance+  Core.AWSRequest+    UpdateLicenseManagerReportGenerator+  where+  type+    AWSResponse UpdateLicenseManagerReportGenerator =+      UpdateLicenseManagerReportGeneratorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateLicenseManagerReportGeneratorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateLicenseManagerReportGenerator+  where+  hashWithSalt+    _salt+    UpdateLicenseManagerReportGenerator' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` licenseManagerReportGeneratorArn+        `Prelude.hashWithSalt` reportGeneratorName+        `Prelude.hashWithSalt` type'+        `Prelude.hashWithSalt` reportContext+        `Prelude.hashWithSalt` reportFrequency+        `Prelude.hashWithSalt` clientToken++instance+  Prelude.NFData+    UpdateLicenseManagerReportGenerator+  where+  rnf UpdateLicenseManagerReportGenerator' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf licenseManagerReportGeneratorArn+      `Prelude.seq` Prelude.rnf reportGeneratorName+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf reportContext+      `Prelude.seq` Prelude.rnf reportFrequency+      `Prelude.seq` Prelude.rnf clientToken++instance+  Data.ToHeaders+    UpdateLicenseManagerReportGenerator+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.UpdateLicenseManagerReportGenerator" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    UpdateLicenseManagerReportGenerator+  where+  toJSON UpdateLicenseManagerReportGenerator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            Prelude.Just+              ( "LicenseManagerReportGeneratorArn"+                  Data..= licenseManagerReportGeneratorArn+              ),+            Prelude.Just+              ("ReportGeneratorName" Data..= reportGeneratorName),+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("ReportContext" Data..= reportContext),+            Prelude.Just+              ("ReportFrequency" Data..= reportFrequency),+            Prelude.Just ("ClientToken" Data..= clientToken)+          ]+      )++instance+  Data.ToPath+    UpdateLicenseManagerReportGenerator+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    UpdateLicenseManagerReportGenerator+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLicenseManagerReportGeneratorResponse' smart constructor.+data UpdateLicenseManagerReportGeneratorResponse = UpdateLicenseManagerReportGeneratorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseManagerReportGeneratorResponse' 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', 'updateLicenseManagerReportGeneratorResponse_httpStatus' - The response's http status code.+newUpdateLicenseManagerReportGeneratorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLicenseManagerReportGeneratorResponse+newUpdateLicenseManagerReportGeneratorResponse+  pHttpStatus_ =+    UpdateLicenseManagerReportGeneratorResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateLicenseManagerReportGeneratorResponse_httpStatus :: Lens.Lens' UpdateLicenseManagerReportGeneratorResponse Prelude.Int+updateLicenseManagerReportGeneratorResponse_httpStatus = Lens.lens (\UpdateLicenseManagerReportGeneratorResponse' {httpStatus} -> httpStatus) (\s@UpdateLicenseManagerReportGeneratorResponse' {} a -> s {httpStatus = a} :: UpdateLicenseManagerReportGeneratorResponse)++instance+  Prelude.NFData+    UpdateLicenseManagerReportGeneratorResponse+  where+  rnf UpdateLicenseManagerReportGeneratorResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/UpdateLicenseSpecificationsForResource.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LicenseManager.UpdateLicenseSpecificationsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or removes the specified license configurations for the specified+-- Amazon Web Services resource.+--+-- You can update the license specifications of AMIs, instances, and hosts.+-- You cannot update the license specifications for launch templates and+-- CloudFormation templates, as they send license configurations to the+-- operation that creates the resource.+module Amazonka.LicenseManager.UpdateLicenseSpecificationsForResource+  ( -- * Creating a Request+    UpdateLicenseSpecificationsForResource (..),+    newUpdateLicenseSpecificationsForResource,++    -- * Request Lenses+    updateLicenseSpecificationsForResource_addLicenseSpecifications,+    updateLicenseSpecificationsForResource_removeLicenseSpecifications,+    updateLicenseSpecificationsForResource_resourceArn,++    -- * Destructuring the Response+    UpdateLicenseSpecificationsForResourceResponse (..),+    newUpdateLicenseSpecificationsForResourceResponse,++    -- * Response Lenses+    updateLicenseSpecificationsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLicenseSpecificationsForResource' smart constructor.+data UpdateLicenseSpecificationsForResource = UpdateLicenseSpecificationsForResource'+  { -- | ARNs of the license configurations to add.+    addLicenseSpecifications :: Prelude.Maybe [LicenseSpecification],+    -- | ARNs of the license configurations to remove.+    removeLicenseSpecifications :: Prelude.Maybe [LicenseSpecification],+    -- | Amazon Resource Name (ARN) of the Amazon Web Services resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseSpecificationsForResource' 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:+--+-- 'addLicenseSpecifications', 'updateLicenseSpecificationsForResource_addLicenseSpecifications' - ARNs of the license configurations to add.+--+-- 'removeLicenseSpecifications', 'updateLicenseSpecificationsForResource_removeLicenseSpecifications' - ARNs of the license configurations to remove.+--+-- 'resourceArn', 'updateLicenseSpecificationsForResource_resourceArn' - Amazon Resource Name (ARN) of the Amazon Web Services resource.+newUpdateLicenseSpecificationsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UpdateLicenseSpecificationsForResource+newUpdateLicenseSpecificationsForResource+  pResourceArn_ =+    UpdateLicenseSpecificationsForResource'+      { addLicenseSpecifications =+          Prelude.Nothing,+        removeLicenseSpecifications =+          Prelude.Nothing,+        resourceArn = pResourceArn_+      }++-- | ARNs of the license configurations to add.+updateLicenseSpecificationsForResource_addLicenseSpecifications :: Lens.Lens' UpdateLicenseSpecificationsForResource (Prelude.Maybe [LicenseSpecification])+updateLicenseSpecificationsForResource_addLicenseSpecifications = Lens.lens (\UpdateLicenseSpecificationsForResource' {addLicenseSpecifications} -> addLicenseSpecifications) (\s@UpdateLicenseSpecificationsForResource' {} a -> s {addLicenseSpecifications = a} :: UpdateLicenseSpecificationsForResource) Prelude.. Lens.mapping Lens.coerced++-- | ARNs of the license configurations to remove.+updateLicenseSpecificationsForResource_removeLicenseSpecifications :: Lens.Lens' UpdateLicenseSpecificationsForResource (Prelude.Maybe [LicenseSpecification])+updateLicenseSpecificationsForResource_removeLicenseSpecifications = Lens.lens (\UpdateLicenseSpecificationsForResource' {removeLicenseSpecifications} -> removeLicenseSpecifications) (\s@UpdateLicenseSpecificationsForResource' {} a -> s {removeLicenseSpecifications = a} :: UpdateLicenseSpecificationsForResource) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Name (ARN) of the Amazon Web Services resource.+updateLicenseSpecificationsForResource_resourceArn :: Lens.Lens' UpdateLicenseSpecificationsForResource Prelude.Text+updateLicenseSpecificationsForResource_resourceArn = Lens.lens (\UpdateLicenseSpecificationsForResource' {resourceArn} -> resourceArn) (\s@UpdateLicenseSpecificationsForResource' {} a -> s {resourceArn = a} :: UpdateLicenseSpecificationsForResource)++instance+  Core.AWSRequest+    UpdateLicenseSpecificationsForResource+  where+  type+    AWSResponse+      UpdateLicenseSpecificationsForResource =+      UpdateLicenseSpecificationsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateLicenseSpecificationsForResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateLicenseSpecificationsForResource+  where+  hashWithSalt+    _salt+    UpdateLicenseSpecificationsForResource' {..} =+      _salt+        `Prelude.hashWithSalt` addLicenseSpecifications+        `Prelude.hashWithSalt` removeLicenseSpecifications+        `Prelude.hashWithSalt` resourceArn++instance+  Prelude.NFData+    UpdateLicenseSpecificationsForResource+  where+  rnf UpdateLicenseSpecificationsForResource' {..} =+    Prelude.rnf addLicenseSpecifications+      `Prelude.seq` Prelude.rnf removeLicenseSpecifications+      `Prelude.seq` Prelude.rnf resourceArn++instance+  Data.ToHeaders+    UpdateLicenseSpecificationsForResource+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.UpdateLicenseSpecificationsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    UpdateLicenseSpecificationsForResource+  where+  toJSON UpdateLicenseSpecificationsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AddLicenseSpecifications" Data..=)+              Prelude.<$> addLicenseSpecifications,+            ("RemoveLicenseSpecifications" Data..=)+              Prelude.<$> removeLicenseSpecifications,+            Prelude.Just ("ResourceArn" Data..= resourceArn)+          ]+      )++instance+  Data.ToPath+    UpdateLicenseSpecificationsForResource+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    UpdateLicenseSpecificationsForResource+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLicenseSpecificationsForResourceResponse' smart constructor.+data UpdateLicenseSpecificationsForResourceResponse = UpdateLicenseSpecificationsForResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLicenseSpecificationsForResourceResponse' 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', 'updateLicenseSpecificationsForResourceResponse_httpStatus' - The response's http status code.+newUpdateLicenseSpecificationsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLicenseSpecificationsForResourceResponse+newUpdateLicenseSpecificationsForResourceResponse+  pHttpStatus_ =+    UpdateLicenseSpecificationsForResourceResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateLicenseSpecificationsForResourceResponse_httpStatus :: Lens.Lens' UpdateLicenseSpecificationsForResourceResponse Prelude.Int+updateLicenseSpecificationsForResourceResponse_httpStatus = Lens.lens (\UpdateLicenseSpecificationsForResourceResponse' {httpStatus} -> httpStatus) (\s@UpdateLicenseSpecificationsForResourceResponse' {} a -> s {httpStatus = a} :: UpdateLicenseSpecificationsForResourceResponse)++instance+  Prelude.NFData+    UpdateLicenseSpecificationsForResourceResponse+  where+  rnf+    UpdateLicenseSpecificationsForResourceResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/UpdateServiceSettings.hs view
@@ -0,0 +1,207 @@+{-# 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.LicenseManager.UpdateServiceSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates License Manager settings for the current Region.+module Amazonka.LicenseManager.UpdateServiceSettings+  ( -- * Creating a Request+    UpdateServiceSettings (..),+    newUpdateServiceSettings,++    -- * Request Lenses+    updateServiceSettings_enableCrossAccountsDiscovery,+    updateServiceSettings_organizationConfiguration,+    updateServiceSettings_s3BucketArn,+    updateServiceSettings_snsTopicArn,++    -- * Destructuring the Response+    UpdateServiceSettingsResponse (..),+    newUpdateServiceSettingsResponse,++    -- * Response Lenses+    updateServiceSettingsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateServiceSettings' smart constructor.+data UpdateServiceSettings = UpdateServiceSettings'+  { -- | Activates cross-account discovery.+    enableCrossAccountsDiscovery :: Prelude.Maybe Prelude.Bool,+    -- | Enables integration with Organizations for cross-account discovery.+    organizationConfiguration :: Prelude.Maybe OrganizationConfiguration,+    -- | Amazon Resource Name (ARN) of the Amazon S3 bucket where the License+    -- Manager information is stored.+    s3BucketArn :: Prelude.Maybe Prelude.Text,+    -- | Amazon Resource Name (ARN) of the Amazon SNS topic used for License+    -- Manager alerts.+    snsTopicArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateServiceSettings' 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:+--+-- 'enableCrossAccountsDiscovery', 'updateServiceSettings_enableCrossAccountsDiscovery' - Activates cross-account discovery.+--+-- 'organizationConfiguration', 'updateServiceSettings_organizationConfiguration' - Enables integration with Organizations for cross-account discovery.+--+-- 's3BucketArn', 'updateServiceSettings_s3BucketArn' - Amazon Resource Name (ARN) of the Amazon S3 bucket where the License+-- Manager information is stored.+--+-- 'snsTopicArn', 'updateServiceSettings_snsTopicArn' - Amazon Resource Name (ARN) of the Amazon SNS topic used for License+-- Manager alerts.+newUpdateServiceSettings ::+  UpdateServiceSettings+newUpdateServiceSettings =+  UpdateServiceSettings'+    { enableCrossAccountsDiscovery =+        Prelude.Nothing,+      organizationConfiguration = Prelude.Nothing,+      s3BucketArn = Prelude.Nothing,+      snsTopicArn = Prelude.Nothing+    }++-- | Activates cross-account discovery.+updateServiceSettings_enableCrossAccountsDiscovery :: Lens.Lens' UpdateServiceSettings (Prelude.Maybe Prelude.Bool)+updateServiceSettings_enableCrossAccountsDiscovery = Lens.lens (\UpdateServiceSettings' {enableCrossAccountsDiscovery} -> enableCrossAccountsDiscovery) (\s@UpdateServiceSettings' {} a -> s {enableCrossAccountsDiscovery = a} :: UpdateServiceSettings)++-- | Enables integration with Organizations for cross-account discovery.+updateServiceSettings_organizationConfiguration :: Lens.Lens' UpdateServiceSettings (Prelude.Maybe OrganizationConfiguration)+updateServiceSettings_organizationConfiguration = Lens.lens (\UpdateServiceSettings' {organizationConfiguration} -> organizationConfiguration) (\s@UpdateServiceSettings' {} a -> s {organizationConfiguration = a} :: UpdateServiceSettings)++-- | Amazon Resource Name (ARN) of the Amazon S3 bucket where the License+-- Manager information is stored.+updateServiceSettings_s3BucketArn :: Lens.Lens' UpdateServiceSettings (Prelude.Maybe Prelude.Text)+updateServiceSettings_s3BucketArn = Lens.lens (\UpdateServiceSettings' {s3BucketArn} -> s3BucketArn) (\s@UpdateServiceSettings' {} a -> s {s3BucketArn = a} :: UpdateServiceSettings)++-- | Amazon Resource Name (ARN) of the Amazon SNS topic used for License+-- Manager alerts.+updateServiceSettings_snsTopicArn :: Lens.Lens' UpdateServiceSettings (Prelude.Maybe Prelude.Text)+updateServiceSettings_snsTopicArn = Lens.lens (\UpdateServiceSettings' {snsTopicArn} -> snsTopicArn) (\s@UpdateServiceSettings' {} a -> s {snsTopicArn = a} :: UpdateServiceSettings)++instance Core.AWSRequest UpdateServiceSettings where+  type+    AWSResponse UpdateServiceSettings =+      UpdateServiceSettingsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateServiceSettingsResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateServiceSettings where+  hashWithSalt _salt UpdateServiceSettings' {..} =+    _salt+      `Prelude.hashWithSalt` enableCrossAccountsDiscovery+      `Prelude.hashWithSalt` organizationConfiguration+      `Prelude.hashWithSalt` s3BucketArn+      `Prelude.hashWithSalt` snsTopicArn++instance Prelude.NFData UpdateServiceSettings where+  rnf UpdateServiceSettings' {..} =+    Prelude.rnf enableCrossAccountsDiscovery+      `Prelude.seq` Prelude.rnf organizationConfiguration+      `Prelude.seq` Prelude.rnf s3BucketArn+      `Prelude.seq` Prelude.rnf snsTopicArn++instance Data.ToHeaders UpdateServiceSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSLicenseManager.UpdateServiceSettings" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateServiceSettings where+  toJSON UpdateServiceSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EnableCrossAccountsDiscovery" Data..=)+              Prelude.<$> enableCrossAccountsDiscovery,+            ("OrganizationConfiguration" Data..=)+              Prelude.<$> organizationConfiguration,+            ("S3BucketArn" Data..=) Prelude.<$> s3BucketArn,+            ("SnsTopicArn" Data..=) Prelude.<$> snsTopicArn+          ]+      )++instance Data.ToPath UpdateServiceSettings where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateServiceSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateServiceSettingsResponse' smart constructor.+data UpdateServiceSettingsResponse = UpdateServiceSettingsResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateServiceSettingsResponse' 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', 'updateServiceSettingsResponse_httpStatus' - The response's http status code.+newUpdateServiceSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateServiceSettingsResponse+newUpdateServiceSettingsResponse pHttpStatus_ =+  UpdateServiceSettingsResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateServiceSettingsResponse_httpStatus :: Lens.Lens' UpdateServiceSettingsResponse Prelude.Int+updateServiceSettingsResponse_httpStatus = Lens.lens (\UpdateServiceSettingsResponse' {httpStatus} -> httpStatus) (\s@UpdateServiceSettingsResponse' {} a -> s {httpStatus = a} :: UpdateServiceSettingsResponse)++instance Prelude.NFData UpdateServiceSettingsResponse where+  rnf UpdateServiceSettingsResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/LicenseManager/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.LicenseManager.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.LicenseManager.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LicenseManager.Lens+import Amazonka.LicenseManager.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.LicenseManager+import Test.Amazonka.LicenseManager.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "LicenseManager"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/LicenseManager.hs view
@@ -0,0 +1,1038 @@+{-# 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.LicenseManager+-- 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.LicenseManager where++import Amazonka.LicenseManager+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.LicenseManager.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"+--         [ requestAcceptGrant $+--             newAcceptGrant+--+--         , requestCheckInLicense $+--             newCheckInLicense+--+--         , requestCheckoutBorrowLicense $+--             newCheckoutBorrowLicense+--+--         , requestCheckoutLicense $+--             newCheckoutLicense+--+--         , requestCreateGrant $+--             newCreateGrant+--+--         , requestCreateGrantVersion $+--             newCreateGrantVersion+--+--         , requestCreateLicense $+--             newCreateLicense+--+--         , requestCreateLicenseConfiguration $+--             newCreateLicenseConfiguration+--+--         , requestCreateLicenseConversionTaskForResource $+--             newCreateLicenseConversionTaskForResource+--+--         , requestCreateLicenseManagerReportGenerator $+--             newCreateLicenseManagerReportGenerator+--+--         , requestCreateLicenseVersion $+--             newCreateLicenseVersion+--+--         , requestCreateToken $+--             newCreateToken+--+--         , requestDeleteGrant $+--             newDeleteGrant+--+--         , requestDeleteLicense $+--             newDeleteLicense+--+--         , requestDeleteLicenseConfiguration $+--             newDeleteLicenseConfiguration+--+--         , requestDeleteLicenseManagerReportGenerator $+--             newDeleteLicenseManagerReportGenerator+--+--         , requestDeleteToken $+--             newDeleteToken+--+--         , requestExtendLicenseConsumption $+--             newExtendLicenseConsumption+--+--         , requestGetAccessToken $+--             newGetAccessToken+--+--         , requestGetGrant $+--             newGetGrant+--+--         , requestGetLicense $+--             newGetLicense+--+--         , requestGetLicenseConfiguration $+--             newGetLicenseConfiguration+--+--         , requestGetLicenseConversionTask $+--             newGetLicenseConversionTask+--+--         , requestGetLicenseManagerReportGenerator $+--             newGetLicenseManagerReportGenerator+--+--         , requestGetLicenseUsage $+--             newGetLicenseUsage+--+--         , requestGetServiceSettings $+--             newGetServiceSettings+--+--         , requestListAssociationsForLicenseConfiguration $+--             newListAssociationsForLicenseConfiguration+--+--         , requestListDistributedGrants $+--             newListDistributedGrants+--+--         , requestListFailuresForLicenseConfigurationOperations $+--             newListFailuresForLicenseConfigurationOperations+--+--         , requestListLicenseConfigurations $+--             newListLicenseConfigurations+--+--         , requestListLicenseConversionTasks $+--             newListLicenseConversionTasks+--+--         , requestListLicenseManagerReportGenerators $+--             newListLicenseManagerReportGenerators+--+--         , requestListLicenseSpecificationsForResource $+--             newListLicenseSpecificationsForResource+--+--         , requestListLicenseVersions $+--             newListLicenseVersions+--+--         , requestListLicenses $+--             newListLicenses+--+--         , requestListReceivedGrants $+--             newListReceivedGrants+--+--         , requestListReceivedGrantsForOrganization $+--             newListReceivedGrantsForOrganization+--+--         , requestListReceivedLicenses $+--             newListReceivedLicenses+--+--         , requestListReceivedLicensesForOrganization $+--             newListReceivedLicensesForOrganization+--+--         , requestListResourceInventory $+--             newListResourceInventory+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListTokens $+--             newListTokens+--+--         , requestListUsageForLicenseConfiguration $+--             newListUsageForLicenseConfiguration+--+--         , requestRejectGrant $+--             newRejectGrant+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateLicenseConfiguration $+--             newUpdateLicenseConfiguration+--+--         , requestUpdateLicenseManagerReportGenerator $+--             newUpdateLicenseManagerReportGenerator+--+--         , requestUpdateLicenseSpecificationsForResource $+--             newUpdateLicenseSpecificationsForResource+--+--         , requestUpdateServiceSettings $+--             newUpdateServiceSettings+--+--           ]++--     , testGroup "response"+--         [ responseAcceptGrant $+--             newAcceptGrantResponse+--+--         , responseCheckInLicense $+--             newCheckInLicenseResponse+--+--         , responseCheckoutBorrowLicense $+--             newCheckoutBorrowLicenseResponse+--+--         , responseCheckoutLicense $+--             newCheckoutLicenseResponse+--+--         , responseCreateGrant $+--             newCreateGrantResponse+--+--         , responseCreateGrantVersion $+--             newCreateGrantVersionResponse+--+--         , responseCreateLicense $+--             newCreateLicenseResponse+--+--         , responseCreateLicenseConfiguration $+--             newCreateLicenseConfigurationResponse+--+--         , responseCreateLicenseConversionTaskForResource $+--             newCreateLicenseConversionTaskForResourceResponse+--+--         , responseCreateLicenseManagerReportGenerator $+--             newCreateLicenseManagerReportGeneratorResponse+--+--         , responseCreateLicenseVersion $+--             newCreateLicenseVersionResponse+--+--         , responseCreateToken $+--             newCreateTokenResponse+--+--         , responseDeleteGrant $+--             newDeleteGrantResponse+--+--         , responseDeleteLicense $+--             newDeleteLicenseResponse+--+--         , responseDeleteLicenseConfiguration $+--             newDeleteLicenseConfigurationResponse+--+--         , responseDeleteLicenseManagerReportGenerator $+--             newDeleteLicenseManagerReportGeneratorResponse+--+--         , responseDeleteToken $+--             newDeleteTokenResponse+--+--         , responseExtendLicenseConsumption $+--             newExtendLicenseConsumptionResponse+--+--         , responseGetAccessToken $+--             newGetAccessTokenResponse+--+--         , responseGetGrant $+--             newGetGrantResponse+--+--         , responseGetLicense $+--             newGetLicenseResponse+--+--         , responseGetLicenseConfiguration $+--             newGetLicenseConfigurationResponse+--+--         , responseGetLicenseConversionTask $+--             newGetLicenseConversionTaskResponse+--+--         , responseGetLicenseManagerReportGenerator $+--             newGetLicenseManagerReportGeneratorResponse+--+--         , responseGetLicenseUsage $+--             newGetLicenseUsageResponse+--+--         , responseGetServiceSettings $+--             newGetServiceSettingsResponse+--+--         , responseListAssociationsForLicenseConfiguration $+--             newListAssociationsForLicenseConfigurationResponse+--+--         , responseListDistributedGrants $+--             newListDistributedGrantsResponse+--+--         , responseListFailuresForLicenseConfigurationOperations $+--             newListFailuresForLicenseConfigurationOperationsResponse+--+--         , responseListLicenseConfigurations $+--             newListLicenseConfigurationsResponse+--+--         , responseListLicenseConversionTasks $+--             newListLicenseConversionTasksResponse+--+--         , responseListLicenseManagerReportGenerators $+--             newListLicenseManagerReportGeneratorsResponse+--+--         , responseListLicenseSpecificationsForResource $+--             newListLicenseSpecificationsForResourceResponse+--+--         , responseListLicenseVersions $+--             newListLicenseVersionsResponse+--+--         , responseListLicenses $+--             newListLicensesResponse+--+--         , responseListReceivedGrants $+--             newListReceivedGrantsResponse+--+--         , responseListReceivedGrantsForOrganization $+--             newListReceivedGrantsForOrganizationResponse+--+--         , responseListReceivedLicenses $+--             newListReceivedLicensesResponse+--+--         , responseListReceivedLicensesForOrganization $+--             newListReceivedLicensesForOrganizationResponse+--+--         , responseListResourceInventory $+--             newListResourceInventoryResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListTokens $+--             newListTokensResponse+--+--         , responseListUsageForLicenseConfiguration $+--             newListUsageForLicenseConfigurationResponse+--+--         , responseRejectGrant $+--             newRejectGrantResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateLicenseConfiguration $+--             newUpdateLicenseConfigurationResponse+--+--         , responseUpdateLicenseManagerReportGenerator $+--             newUpdateLicenseManagerReportGeneratorResponse+--+--         , responseUpdateLicenseSpecificationsForResource $+--             newUpdateLicenseSpecificationsForResourceResponse+--+--         , responseUpdateServiceSettings $+--             newUpdateServiceSettingsResponse+--+--           ]+--     ]++-- Requests++requestAcceptGrant :: AcceptGrant -> TestTree+requestAcceptGrant =+  req+    "AcceptGrant"+    "fixture/AcceptGrant.yaml"++requestCheckInLicense :: CheckInLicense -> TestTree+requestCheckInLicense =+  req+    "CheckInLicense"+    "fixture/CheckInLicense.yaml"++requestCheckoutBorrowLicense :: CheckoutBorrowLicense -> TestTree+requestCheckoutBorrowLicense =+  req+    "CheckoutBorrowLicense"+    "fixture/CheckoutBorrowLicense.yaml"++requestCheckoutLicense :: CheckoutLicense -> TestTree+requestCheckoutLicense =+  req+    "CheckoutLicense"+    "fixture/CheckoutLicense.yaml"++requestCreateGrant :: CreateGrant -> TestTree+requestCreateGrant =+  req+    "CreateGrant"+    "fixture/CreateGrant.yaml"++requestCreateGrantVersion :: CreateGrantVersion -> TestTree+requestCreateGrantVersion =+  req+    "CreateGrantVersion"+    "fixture/CreateGrantVersion.yaml"++requestCreateLicense :: CreateLicense -> TestTree+requestCreateLicense =+  req+    "CreateLicense"+    "fixture/CreateLicense.yaml"++requestCreateLicenseConfiguration :: CreateLicenseConfiguration -> TestTree+requestCreateLicenseConfiguration =+  req+    "CreateLicenseConfiguration"+    "fixture/CreateLicenseConfiguration.yaml"++requestCreateLicenseConversionTaskForResource :: CreateLicenseConversionTaskForResource -> TestTree+requestCreateLicenseConversionTaskForResource =+  req+    "CreateLicenseConversionTaskForResource"+    "fixture/CreateLicenseConversionTaskForResource.yaml"++requestCreateLicenseManagerReportGenerator :: CreateLicenseManagerReportGenerator -> TestTree+requestCreateLicenseManagerReportGenerator =+  req+    "CreateLicenseManagerReportGenerator"+    "fixture/CreateLicenseManagerReportGenerator.yaml"++requestCreateLicenseVersion :: CreateLicenseVersion -> TestTree+requestCreateLicenseVersion =+  req+    "CreateLicenseVersion"+    "fixture/CreateLicenseVersion.yaml"++requestCreateToken :: CreateToken -> TestTree+requestCreateToken =+  req+    "CreateToken"+    "fixture/CreateToken.yaml"++requestDeleteGrant :: DeleteGrant -> TestTree+requestDeleteGrant =+  req+    "DeleteGrant"+    "fixture/DeleteGrant.yaml"++requestDeleteLicense :: DeleteLicense -> TestTree+requestDeleteLicense =+  req+    "DeleteLicense"+    "fixture/DeleteLicense.yaml"++requestDeleteLicenseConfiguration :: DeleteLicenseConfiguration -> TestTree+requestDeleteLicenseConfiguration =+  req+    "DeleteLicenseConfiguration"+    "fixture/DeleteLicenseConfiguration.yaml"++requestDeleteLicenseManagerReportGenerator :: DeleteLicenseManagerReportGenerator -> TestTree+requestDeleteLicenseManagerReportGenerator =+  req+    "DeleteLicenseManagerReportGenerator"+    "fixture/DeleteLicenseManagerReportGenerator.yaml"++requestDeleteToken :: DeleteToken -> TestTree+requestDeleteToken =+  req+    "DeleteToken"+    "fixture/DeleteToken.yaml"++requestExtendLicenseConsumption :: ExtendLicenseConsumption -> TestTree+requestExtendLicenseConsumption =+  req+    "ExtendLicenseConsumption"+    "fixture/ExtendLicenseConsumption.yaml"++requestGetAccessToken :: GetAccessToken -> TestTree+requestGetAccessToken =+  req+    "GetAccessToken"+    "fixture/GetAccessToken.yaml"++requestGetGrant :: GetGrant -> TestTree+requestGetGrant =+  req+    "GetGrant"+    "fixture/GetGrant.yaml"++requestGetLicense :: GetLicense -> TestTree+requestGetLicense =+  req+    "GetLicense"+    "fixture/GetLicense.yaml"++requestGetLicenseConfiguration :: GetLicenseConfiguration -> TestTree+requestGetLicenseConfiguration =+  req+    "GetLicenseConfiguration"+    "fixture/GetLicenseConfiguration.yaml"++requestGetLicenseConversionTask :: GetLicenseConversionTask -> TestTree+requestGetLicenseConversionTask =+  req+    "GetLicenseConversionTask"+    "fixture/GetLicenseConversionTask.yaml"++requestGetLicenseManagerReportGenerator :: GetLicenseManagerReportGenerator -> TestTree+requestGetLicenseManagerReportGenerator =+  req+    "GetLicenseManagerReportGenerator"+    "fixture/GetLicenseManagerReportGenerator.yaml"++requestGetLicenseUsage :: GetLicenseUsage -> TestTree+requestGetLicenseUsage =+  req+    "GetLicenseUsage"+    "fixture/GetLicenseUsage.yaml"++requestGetServiceSettings :: GetServiceSettings -> TestTree+requestGetServiceSettings =+  req+    "GetServiceSettings"+    "fixture/GetServiceSettings.yaml"++requestListAssociationsForLicenseConfiguration :: ListAssociationsForLicenseConfiguration -> TestTree+requestListAssociationsForLicenseConfiguration =+  req+    "ListAssociationsForLicenseConfiguration"+    "fixture/ListAssociationsForLicenseConfiguration.yaml"++requestListDistributedGrants :: ListDistributedGrants -> TestTree+requestListDistributedGrants =+  req+    "ListDistributedGrants"+    "fixture/ListDistributedGrants.yaml"++requestListFailuresForLicenseConfigurationOperations :: ListFailuresForLicenseConfigurationOperations -> TestTree+requestListFailuresForLicenseConfigurationOperations =+  req+    "ListFailuresForLicenseConfigurationOperations"+    "fixture/ListFailuresForLicenseConfigurationOperations.yaml"++requestListLicenseConfigurations :: ListLicenseConfigurations -> TestTree+requestListLicenseConfigurations =+  req+    "ListLicenseConfigurations"+    "fixture/ListLicenseConfigurations.yaml"++requestListLicenseConversionTasks :: ListLicenseConversionTasks -> TestTree+requestListLicenseConversionTasks =+  req+    "ListLicenseConversionTasks"+    "fixture/ListLicenseConversionTasks.yaml"++requestListLicenseManagerReportGenerators :: ListLicenseManagerReportGenerators -> TestTree+requestListLicenseManagerReportGenerators =+  req+    "ListLicenseManagerReportGenerators"+    "fixture/ListLicenseManagerReportGenerators.yaml"++requestListLicenseSpecificationsForResource :: ListLicenseSpecificationsForResource -> TestTree+requestListLicenseSpecificationsForResource =+  req+    "ListLicenseSpecificationsForResource"+    "fixture/ListLicenseSpecificationsForResource.yaml"++requestListLicenseVersions :: ListLicenseVersions -> TestTree+requestListLicenseVersions =+  req+    "ListLicenseVersions"+    "fixture/ListLicenseVersions.yaml"++requestListLicenses :: ListLicenses -> TestTree+requestListLicenses =+  req+    "ListLicenses"+    "fixture/ListLicenses.yaml"++requestListReceivedGrants :: ListReceivedGrants -> TestTree+requestListReceivedGrants =+  req+    "ListReceivedGrants"+    "fixture/ListReceivedGrants.yaml"++requestListReceivedGrantsForOrganization :: ListReceivedGrantsForOrganization -> TestTree+requestListReceivedGrantsForOrganization =+  req+    "ListReceivedGrantsForOrganization"+    "fixture/ListReceivedGrantsForOrganization.yaml"++requestListReceivedLicenses :: ListReceivedLicenses -> TestTree+requestListReceivedLicenses =+  req+    "ListReceivedLicenses"+    "fixture/ListReceivedLicenses.yaml"++requestListReceivedLicensesForOrganization :: ListReceivedLicensesForOrganization -> TestTree+requestListReceivedLicensesForOrganization =+  req+    "ListReceivedLicensesForOrganization"+    "fixture/ListReceivedLicensesForOrganization.yaml"++requestListResourceInventory :: ListResourceInventory -> TestTree+requestListResourceInventory =+  req+    "ListResourceInventory"+    "fixture/ListResourceInventory.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListTokens :: ListTokens -> TestTree+requestListTokens =+  req+    "ListTokens"+    "fixture/ListTokens.yaml"++requestListUsageForLicenseConfiguration :: ListUsageForLicenseConfiguration -> TestTree+requestListUsageForLicenseConfiguration =+  req+    "ListUsageForLicenseConfiguration"+    "fixture/ListUsageForLicenseConfiguration.yaml"++requestRejectGrant :: RejectGrant -> TestTree+requestRejectGrant =+  req+    "RejectGrant"+    "fixture/RejectGrant.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateLicenseConfiguration :: UpdateLicenseConfiguration -> TestTree+requestUpdateLicenseConfiguration =+  req+    "UpdateLicenseConfiguration"+    "fixture/UpdateLicenseConfiguration.yaml"++requestUpdateLicenseManagerReportGenerator :: UpdateLicenseManagerReportGenerator -> TestTree+requestUpdateLicenseManagerReportGenerator =+  req+    "UpdateLicenseManagerReportGenerator"+    "fixture/UpdateLicenseManagerReportGenerator.yaml"++requestUpdateLicenseSpecificationsForResource :: UpdateLicenseSpecificationsForResource -> TestTree+requestUpdateLicenseSpecificationsForResource =+  req+    "UpdateLicenseSpecificationsForResource"+    "fixture/UpdateLicenseSpecificationsForResource.yaml"++requestUpdateServiceSettings :: UpdateServiceSettings -> TestTree+requestUpdateServiceSettings =+  req+    "UpdateServiceSettings"+    "fixture/UpdateServiceSettings.yaml"++-- Responses++responseAcceptGrant :: AcceptGrantResponse -> TestTree+responseAcceptGrant =+  res+    "AcceptGrantResponse"+    "fixture/AcceptGrantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AcceptGrant)++responseCheckInLicense :: CheckInLicenseResponse -> TestTree+responseCheckInLicense =+  res+    "CheckInLicenseResponse"+    "fixture/CheckInLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CheckInLicense)++responseCheckoutBorrowLicense :: CheckoutBorrowLicenseResponse -> TestTree+responseCheckoutBorrowLicense =+  res+    "CheckoutBorrowLicenseResponse"+    "fixture/CheckoutBorrowLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CheckoutBorrowLicense)++responseCheckoutLicense :: CheckoutLicenseResponse -> TestTree+responseCheckoutLicense =+  res+    "CheckoutLicenseResponse"+    "fixture/CheckoutLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CheckoutLicense)++responseCreateGrant :: CreateGrantResponse -> TestTree+responseCreateGrant =+  res+    "CreateGrantResponse"+    "fixture/CreateGrantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGrant)++responseCreateGrantVersion :: CreateGrantVersionResponse -> TestTree+responseCreateGrantVersion =+  res+    "CreateGrantVersionResponse"+    "fixture/CreateGrantVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGrantVersion)++responseCreateLicense :: CreateLicenseResponse -> TestTree+responseCreateLicense =+  res+    "CreateLicenseResponse"+    "fixture/CreateLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLicense)++responseCreateLicenseConfiguration :: CreateLicenseConfigurationResponse -> TestTree+responseCreateLicenseConfiguration =+  res+    "CreateLicenseConfigurationResponse"+    "fixture/CreateLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLicenseConfiguration)++responseCreateLicenseConversionTaskForResource :: CreateLicenseConversionTaskForResourceResponse -> TestTree+responseCreateLicenseConversionTaskForResource =+  res+    "CreateLicenseConversionTaskForResourceResponse"+    "fixture/CreateLicenseConversionTaskForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLicenseConversionTaskForResource)++responseCreateLicenseManagerReportGenerator :: CreateLicenseManagerReportGeneratorResponse -> TestTree+responseCreateLicenseManagerReportGenerator =+  res+    "CreateLicenseManagerReportGeneratorResponse"+    "fixture/CreateLicenseManagerReportGeneratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLicenseManagerReportGenerator)++responseCreateLicenseVersion :: CreateLicenseVersionResponse -> TestTree+responseCreateLicenseVersion =+  res+    "CreateLicenseVersionResponse"+    "fixture/CreateLicenseVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLicenseVersion)++responseCreateToken :: CreateTokenResponse -> TestTree+responseCreateToken =+  res+    "CreateTokenResponse"+    "fixture/CreateTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateToken)++responseDeleteGrant :: DeleteGrantResponse -> TestTree+responseDeleteGrant =+  res+    "DeleteGrantResponse"+    "fixture/DeleteGrantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGrant)++responseDeleteLicense :: DeleteLicenseResponse -> TestTree+responseDeleteLicense =+  res+    "DeleteLicenseResponse"+    "fixture/DeleteLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLicense)++responseDeleteLicenseConfiguration :: DeleteLicenseConfigurationResponse -> TestTree+responseDeleteLicenseConfiguration =+  res+    "DeleteLicenseConfigurationResponse"+    "fixture/DeleteLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLicenseConfiguration)++responseDeleteLicenseManagerReportGenerator :: DeleteLicenseManagerReportGeneratorResponse -> TestTree+responseDeleteLicenseManagerReportGenerator =+  res+    "DeleteLicenseManagerReportGeneratorResponse"+    "fixture/DeleteLicenseManagerReportGeneratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLicenseManagerReportGenerator)++responseDeleteToken :: DeleteTokenResponse -> TestTree+responseDeleteToken =+  res+    "DeleteTokenResponse"+    "fixture/DeleteTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteToken)++responseExtendLicenseConsumption :: ExtendLicenseConsumptionResponse -> TestTree+responseExtendLicenseConsumption =+  res+    "ExtendLicenseConsumptionResponse"+    "fixture/ExtendLicenseConsumptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExtendLicenseConsumption)++responseGetAccessToken :: GetAccessTokenResponse -> TestTree+responseGetAccessToken =+  res+    "GetAccessTokenResponse"+    "fixture/GetAccessTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAccessToken)++responseGetGrant :: GetGrantResponse -> TestTree+responseGetGrant =+  res+    "GetGrantResponse"+    "fixture/GetGrantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetGrant)++responseGetLicense :: GetLicenseResponse -> TestTree+responseGetLicense =+  res+    "GetLicenseResponse"+    "fixture/GetLicenseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLicense)++responseGetLicenseConfiguration :: GetLicenseConfigurationResponse -> TestTree+responseGetLicenseConfiguration =+  res+    "GetLicenseConfigurationResponse"+    "fixture/GetLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLicenseConfiguration)++responseGetLicenseConversionTask :: GetLicenseConversionTaskResponse -> TestTree+responseGetLicenseConversionTask =+  res+    "GetLicenseConversionTaskResponse"+    "fixture/GetLicenseConversionTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLicenseConversionTask)++responseGetLicenseManagerReportGenerator :: GetLicenseManagerReportGeneratorResponse -> TestTree+responseGetLicenseManagerReportGenerator =+  res+    "GetLicenseManagerReportGeneratorResponse"+    "fixture/GetLicenseManagerReportGeneratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLicenseManagerReportGenerator)++responseGetLicenseUsage :: GetLicenseUsageResponse -> TestTree+responseGetLicenseUsage =+  res+    "GetLicenseUsageResponse"+    "fixture/GetLicenseUsageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLicenseUsage)++responseGetServiceSettings :: GetServiceSettingsResponse -> TestTree+responseGetServiceSettings =+  res+    "GetServiceSettingsResponse"+    "fixture/GetServiceSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetServiceSettings)++responseListAssociationsForLicenseConfiguration :: ListAssociationsForLicenseConfigurationResponse -> TestTree+responseListAssociationsForLicenseConfiguration =+  res+    "ListAssociationsForLicenseConfigurationResponse"+    "fixture/ListAssociationsForLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssociationsForLicenseConfiguration)++responseListDistributedGrants :: ListDistributedGrantsResponse -> TestTree+responseListDistributedGrants =+  res+    "ListDistributedGrantsResponse"+    "fixture/ListDistributedGrantsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDistributedGrants)++responseListFailuresForLicenseConfigurationOperations :: ListFailuresForLicenseConfigurationOperationsResponse -> TestTree+responseListFailuresForLicenseConfigurationOperations =+  res+    "ListFailuresForLicenseConfigurationOperationsResponse"+    "fixture/ListFailuresForLicenseConfigurationOperationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListFailuresForLicenseConfigurationOperations)++responseListLicenseConfigurations :: ListLicenseConfigurationsResponse -> TestTree+responseListLicenseConfigurations =+  res+    "ListLicenseConfigurationsResponse"+    "fixture/ListLicenseConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenseConfigurations)++responseListLicenseConversionTasks :: ListLicenseConversionTasksResponse -> TestTree+responseListLicenseConversionTasks =+  res+    "ListLicenseConversionTasksResponse"+    "fixture/ListLicenseConversionTasksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenseConversionTasks)++responseListLicenseManagerReportGenerators :: ListLicenseManagerReportGeneratorsResponse -> TestTree+responseListLicenseManagerReportGenerators =+  res+    "ListLicenseManagerReportGeneratorsResponse"+    "fixture/ListLicenseManagerReportGeneratorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenseManagerReportGenerators)++responseListLicenseSpecificationsForResource :: ListLicenseSpecificationsForResourceResponse -> TestTree+responseListLicenseSpecificationsForResource =+  res+    "ListLicenseSpecificationsForResourceResponse"+    "fixture/ListLicenseSpecificationsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenseSpecificationsForResource)++responseListLicenseVersions :: ListLicenseVersionsResponse -> TestTree+responseListLicenseVersions =+  res+    "ListLicenseVersionsResponse"+    "fixture/ListLicenseVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenseVersions)++responseListLicenses :: ListLicensesResponse -> TestTree+responseListLicenses =+  res+    "ListLicensesResponse"+    "fixture/ListLicensesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLicenses)++responseListReceivedGrants :: ListReceivedGrantsResponse -> TestTree+responseListReceivedGrants =+  res+    "ListReceivedGrantsResponse"+    "fixture/ListReceivedGrantsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReceivedGrants)++responseListReceivedGrantsForOrganization :: ListReceivedGrantsForOrganizationResponse -> TestTree+responseListReceivedGrantsForOrganization =+  res+    "ListReceivedGrantsForOrganizationResponse"+    "fixture/ListReceivedGrantsForOrganizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReceivedGrantsForOrganization)++responseListReceivedLicenses :: ListReceivedLicensesResponse -> TestTree+responseListReceivedLicenses =+  res+    "ListReceivedLicensesResponse"+    "fixture/ListReceivedLicensesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReceivedLicenses)++responseListReceivedLicensesForOrganization :: ListReceivedLicensesForOrganizationResponse -> TestTree+responseListReceivedLicensesForOrganization =+  res+    "ListReceivedLicensesForOrganizationResponse"+    "fixture/ListReceivedLicensesForOrganizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReceivedLicensesForOrganization)++responseListResourceInventory :: ListResourceInventoryResponse -> TestTree+responseListResourceInventory =+  res+    "ListResourceInventoryResponse"+    "fixture/ListResourceInventoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListResourceInventory)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTokens :: ListTokensResponse -> TestTree+responseListTokens =+  res+    "ListTokensResponse"+    "fixture/ListTokensResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTokens)++responseListUsageForLicenseConfiguration :: ListUsageForLicenseConfigurationResponse -> TestTree+responseListUsageForLicenseConfiguration =+  res+    "ListUsageForLicenseConfigurationResponse"+    "fixture/ListUsageForLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListUsageForLicenseConfiguration)++responseRejectGrant :: RejectGrantResponse -> TestTree+responseRejectGrant =+  res+    "RejectGrantResponse"+    "fixture/RejectGrantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RejectGrant)++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)++responseUpdateLicenseConfiguration :: UpdateLicenseConfigurationResponse -> TestTree+responseUpdateLicenseConfiguration =+  res+    "UpdateLicenseConfigurationResponse"+    "fixture/UpdateLicenseConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLicenseConfiguration)++responseUpdateLicenseManagerReportGenerator :: UpdateLicenseManagerReportGeneratorResponse -> TestTree+responseUpdateLicenseManagerReportGenerator =+  res+    "UpdateLicenseManagerReportGeneratorResponse"+    "fixture/UpdateLicenseManagerReportGeneratorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLicenseManagerReportGenerator)++responseUpdateLicenseSpecificationsForResource :: UpdateLicenseSpecificationsForResourceResponse -> TestTree+responseUpdateLicenseSpecificationsForResource =+  res+    "UpdateLicenseSpecificationsForResourceResponse"+    "fixture/UpdateLicenseSpecificationsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLicenseSpecificationsForResource)++responseUpdateServiceSettings :: UpdateServiceSettingsResponse -> TestTree+responseUpdateServiceSettings =+  res+    "UpdateServiceSettingsResponse"+    "fixture/UpdateServiceSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateServiceSettings)
+ test/Test/Amazonka/LicenseManager.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.LicenseManager+-- 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.LicenseManager+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/LicenseManager/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.LicenseManager.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.LicenseManager.Internal where