packages feed

amazonka-signer (empty) → 2.0

raw patch · 90 files changed

+9066/−0 lines, 90 filesdep +amazonka-coredep +amazonka-signerdep +amazonka-test

Dependencies added: amazonka-core, amazonka-signer, 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 Signer SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2017-08-25@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-signer)+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.Signer](http://hackage.haskell.org/package/amazonka-signer/docs/Amazonka-Signer.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-signer` 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-signer.cabal view
@@ -0,0 +1,127 @@+cabal-version:      2.2+name:               amazonka-signer+version:            2.0+synopsis:           Amazon Signer 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 @2017-08-25@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.Signer.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.Signer" 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-signer++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.Signer+    Amazonka.Signer.AddProfilePermission+    Amazonka.Signer.CancelSigningProfile+    Amazonka.Signer.DescribeSigningJob+    Amazonka.Signer.GetSigningPlatform+    Amazonka.Signer.GetSigningProfile+    Amazonka.Signer.Lens+    Amazonka.Signer.ListProfilePermissions+    Amazonka.Signer.ListSigningJobs+    Amazonka.Signer.ListSigningPlatforms+    Amazonka.Signer.ListSigningProfiles+    Amazonka.Signer.ListTagsForResource+    Amazonka.Signer.PutSigningProfile+    Amazonka.Signer.RemoveProfilePermission+    Amazonka.Signer.RevokeSignature+    Amazonka.Signer.RevokeSigningProfile+    Amazonka.Signer.StartSigningJob+    Amazonka.Signer.TagResource+    Amazonka.Signer.Types+    Amazonka.Signer.Types.Category+    Amazonka.Signer.Types.Destination+    Amazonka.Signer.Types.EncryptionAlgorithm+    Amazonka.Signer.Types.EncryptionAlgorithmOptions+    Amazonka.Signer.Types.HashAlgorithm+    Amazonka.Signer.Types.HashAlgorithmOptions+    Amazonka.Signer.Types.ImageFormat+    Amazonka.Signer.Types.Permission+    Amazonka.Signer.Types.S3Destination+    Amazonka.Signer.Types.S3SignedObject+    Amazonka.Signer.Types.S3Source+    Amazonka.Signer.Types.SignatureValidityPeriod+    Amazonka.Signer.Types.SignedObject+    Amazonka.Signer.Types.SigningConfiguration+    Amazonka.Signer.Types.SigningConfigurationOverrides+    Amazonka.Signer.Types.SigningImageFormat+    Amazonka.Signer.Types.SigningJob+    Amazonka.Signer.Types.SigningJobRevocationRecord+    Amazonka.Signer.Types.SigningMaterial+    Amazonka.Signer.Types.SigningPlatform+    Amazonka.Signer.Types.SigningPlatformOverrides+    Amazonka.Signer.Types.SigningProfile+    Amazonka.Signer.Types.SigningProfileRevocationRecord+    Amazonka.Signer.Types.SigningProfileStatus+    Amazonka.Signer.Types.SigningStatus+    Amazonka.Signer.Types.Source+    Amazonka.Signer.Types.ValidityType+    Amazonka.Signer.UntagResource+    Amazonka.Signer.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-signer-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.Signer+    Test.Amazonka.Signer+    Test.Amazonka.Signer.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-signer+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AddProfilePermission.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/AddProfilePermissionResponse.proto view
+ fixture/CancelSigningProfile.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/CancelSigningProfileResponse.proto view
+ fixture/DescribeSigningJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/DescribeSigningJobResponse.proto view
+ fixture/GetSigningPlatform.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/GetSigningPlatformResponse.proto view
+ fixture/GetSigningProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/GetSigningProfileResponse.proto view
+ fixture/ListProfilePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/ListProfilePermissionsResponse.proto view
+ fixture/ListSigningJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/ListSigningJobsResponse.proto view
+ fixture/ListSigningPlatforms.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/ListSigningPlatformsResponse.proto view
+ fixture/ListSigningProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/ListSigningProfilesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/PutSigningProfile.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/PutSigningProfileResponse.proto view
+ fixture/RemoveProfilePermission.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/RemoveProfilePermissionResponse.proto view
+ fixture/RevokeSignature.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/RevokeSignatureResponse.proto view
+ fixture/RevokeSigningProfile.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/RevokeSigningProfileResponse.proto view
+ fixture/StartSigningJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.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/StartSigningJobResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/signer/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  signer.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ gen/Amazonka/Signer.hs view
@@ -0,0 +1,336 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Signer+-- 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 @2017-08-25@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS Signer is a fully managed code signing service to help you ensure+-- the trust and integrity of your code.+--+-- AWS Signer supports the following applications:+--+-- With /code signing for AWS Lambda/, you can sign AWS Lambda deployment+-- packages. Integrated support is provided for Amazon S3, Amazon+-- CloudWatch, and AWS CloudTrail. In order to sign code, you create a+-- signing profile and then use Signer to sign Lambda zip files in S3.+--+-- With /code signing for IoT/, you can sign code for any IoT device that+-- is supported by AWS. IoT code signing is available for+-- <http://docs.aws.amazon.com/freertos/latest/userguide/ Amazon FreeRTOS>+-- and+-- <http://docs.aws.amazon.com/iot/latest/developerguide/ AWS IoT Device Management>,+-- and is integrated with+-- <http://docs.aws.amazon.com/acm/latest/userguide/ AWS Certificate Manager (ACM)>.+-- In order to sign code, you import a third-party code signing certificate+-- using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT+-- Device Management.+--+-- For more information about AWS Signer, see the+-- <http://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html AWS Signer Developer Guide>.+module Amazonka.Signer+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** BadRequestException+    _BadRequestException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServiceErrorException+    _InternalServiceErrorException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceLimitExceededException+    _ServiceLimitExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** TooManyRequestsException+    _TooManyRequestsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- ** SuccessfulSigningJob+    newSuccessfulSigningJob,++    -- * Operations+    -- $operations++    -- ** AddProfilePermission+    AddProfilePermission (AddProfilePermission'),+    newAddProfilePermission,+    AddProfilePermissionResponse (AddProfilePermissionResponse'),+    newAddProfilePermissionResponse,++    -- ** CancelSigningProfile+    CancelSigningProfile (CancelSigningProfile'),+    newCancelSigningProfile,+    CancelSigningProfileResponse (CancelSigningProfileResponse'),+    newCancelSigningProfileResponse,++    -- ** DescribeSigningJob+    DescribeSigningJob (DescribeSigningJob'),+    newDescribeSigningJob,+    DescribeSigningJobResponse (DescribeSigningJobResponse'),+    newDescribeSigningJobResponse,++    -- ** GetSigningPlatform+    GetSigningPlatform (GetSigningPlatform'),+    newGetSigningPlatform,+    GetSigningPlatformResponse (GetSigningPlatformResponse'),+    newGetSigningPlatformResponse,++    -- ** GetSigningProfile+    GetSigningProfile (GetSigningProfile'),+    newGetSigningProfile,+    GetSigningProfileResponse (GetSigningProfileResponse'),+    newGetSigningProfileResponse,++    -- ** ListProfilePermissions+    ListProfilePermissions (ListProfilePermissions'),+    newListProfilePermissions,+    ListProfilePermissionsResponse (ListProfilePermissionsResponse'),+    newListProfilePermissionsResponse,++    -- ** ListSigningJobs (Paginated)+    ListSigningJobs (ListSigningJobs'),+    newListSigningJobs,+    ListSigningJobsResponse (ListSigningJobsResponse'),+    newListSigningJobsResponse,++    -- ** ListSigningPlatforms (Paginated)+    ListSigningPlatforms (ListSigningPlatforms'),+    newListSigningPlatforms,+    ListSigningPlatformsResponse (ListSigningPlatformsResponse'),+    newListSigningPlatformsResponse,++    -- ** ListSigningProfiles (Paginated)+    ListSigningProfiles (ListSigningProfiles'),+    newListSigningProfiles,+    ListSigningProfilesResponse (ListSigningProfilesResponse'),+    newListSigningProfilesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutSigningProfile+    PutSigningProfile (PutSigningProfile'),+    newPutSigningProfile,+    PutSigningProfileResponse (PutSigningProfileResponse'),+    newPutSigningProfileResponse,++    -- ** RemoveProfilePermission+    RemoveProfilePermission (RemoveProfilePermission'),+    newRemoveProfilePermission,+    RemoveProfilePermissionResponse (RemoveProfilePermissionResponse'),+    newRemoveProfilePermissionResponse,++    -- ** RevokeSignature+    RevokeSignature (RevokeSignature'),+    newRevokeSignature,+    RevokeSignatureResponse (RevokeSignatureResponse'),+    newRevokeSignatureResponse,++    -- ** RevokeSigningProfile+    RevokeSigningProfile (RevokeSigningProfile'),+    newRevokeSigningProfile,+    RevokeSigningProfileResponse (RevokeSigningProfileResponse'),+    newRevokeSigningProfileResponse,++    -- ** StartSigningJob+    StartSigningJob (StartSigningJob'),+    newStartSigningJob,+    StartSigningJobResponse (StartSigningJobResponse'),+    newStartSigningJobResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** Category+    Category (..),++    -- ** EncryptionAlgorithm+    EncryptionAlgorithm (..),++    -- ** HashAlgorithm+    HashAlgorithm (..),++    -- ** ImageFormat+    ImageFormat (..),++    -- ** SigningProfileStatus+    SigningProfileStatus (..),++    -- ** SigningStatus+    SigningStatus (..),++    -- ** ValidityType+    ValidityType (..),++    -- ** Destination+    Destination (Destination'),+    newDestination,++    -- ** EncryptionAlgorithmOptions+    EncryptionAlgorithmOptions (EncryptionAlgorithmOptions'),+    newEncryptionAlgorithmOptions,++    -- ** HashAlgorithmOptions+    HashAlgorithmOptions (HashAlgorithmOptions'),+    newHashAlgorithmOptions,++    -- ** Permission+    Permission (Permission'),+    newPermission,++    -- ** S3Destination+    S3Destination (S3Destination'),+    newS3Destination,++    -- ** S3SignedObject+    S3SignedObject (S3SignedObject'),+    newS3SignedObject,++    -- ** S3Source+    S3Source (S3Source'),+    newS3Source,++    -- ** SignatureValidityPeriod+    SignatureValidityPeriod (SignatureValidityPeriod'),+    newSignatureValidityPeriod,++    -- ** SignedObject+    SignedObject (SignedObject'),+    newSignedObject,++    -- ** SigningConfiguration+    SigningConfiguration (SigningConfiguration'),+    newSigningConfiguration,++    -- ** SigningConfigurationOverrides+    SigningConfigurationOverrides (SigningConfigurationOverrides'),+    newSigningConfigurationOverrides,++    -- ** SigningImageFormat+    SigningImageFormat (SigningImageFormat'),+    newSigningImageFormat,++    -- ** SigningJob+    SigningJob (SigningJob'),+    newSigningJob,++    -- ** SigningJobRevocationRecord+    SigningJobRevocationRecord (SigningJobRevocationRecord'),+    newSigningJobRevocationRecord,++    -- ** SigningMaterial+    SigningMaterial (SigningMaterial'),+    newSigningMaterial,++    -- ** SigningPlatform+    SigningPlatform (SigningPlatform'),+    newSigningPlatform,++    -- ** SigningPlatformOverrides+    SigningPlatformOverrides (SigningPlatformOverrides'),+    newSigningPlatformOverrides,++    -- ** SigningProfile+    SigningProfile (SigningProfile'),+    newSigningProfile,++    -- ** SigningProfileRevocationRecord+    SigningProfileRevocationRecord (SigningProfileRevocationRecord'),+    newSigningProfileRevocationRecord,++    -- ** Source+    Source (Source'),+    newSource,+  )+where++import Amazonka.Signer.AddProfilePermission+import Amazonka.Signer.CancelSigningProfile+import Amazonka.Signer.DescribeSigningJob+import Amazonka.Signer.GetSigningPlatform+import Amazonka.Signer.GetSigningProfile+import Amazonka.Signer.Lens+import Amazonka.Signer.ListProfilePermissions+import Amazonka.Signer.ListSigningJobs+import Amazonka.Signer.ListSigningPlatforms+import Amazonka.Signer.ListSigningProfiles+import Amazonka.Signer.ListTagsForResource+import Amazonka.Signer.PutSigningProfile+import Amazonka.Signer.RemoveProfilePermission+import Amazonka.Signer.RevokeSignature+import Amazonka.Signer.RevokeSigningProfile+import Amazonka.Signer.StartSigningJob+import Amazonka.Signer.TagResource+import Amazonka.Signer.Types+import Amazonka.Signer.UntagResource+import Amazonka.Signer.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 'Signer'.++-- $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/Signer/AddProfilePermission.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.Signer.AddProfilePermission+-- 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 cross-account permissions to a signing profile.+module Amazonka.Signer.AddProfilePermission+  ( -- * Creating a Request+    AddProfilePermission (..),+    newAddProfilePermission,++    -- * Request Lenses+    addProfilePermission_profileVersion,+    addProfilePermission_revisionId,+    addProfilePermission_action,+    addProfilePermission_principal,+    addProfilePermission_statementId,+    addProfilePermission_profileName,++    -- * Destructuring the Response+    AddProfilePermissionResponse (..),+    newAddProfilePermissionResponse,++    -- * Response Lenses+    addProfilePermissionResponse_revisionId,+    addProfilePermissionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newAddProfilePermission' smart constructor.+data AddProfilePermission = AddProfilePermission'+  { -- | The version of the signing profile.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the current profile revision.+    revisionId :: Prelude.Maybe Prelude.Text,+    -- | The AWS Signer action permitted as part of cross-account permissions.+    action :: Prelude.Text,+    -- | The AWS principal receiving cross-account permissions. This may be an+    -- IAM role or another AWS account ID.+    principal :: Prelude.Text,+    -- | A unique identifier for the cross-account permission statement.+    statementId :: Prelude.Text,+    -- | The human-readable name of the signing profile.+    profileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddProfilePermission' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'profileVersion', 'addProfilePermission_profileVersion' - The version of the signing profile.+--+-- 'revisionId', 'addProfilePermission_revisionId' - A unique identifier for the current profile revision.+--+-- 'action', 'addProfilePermission_action' - The AWS Signer action permitted as part of cross-account permissions.+--+-- 'principal', 'addProfilePermission_principal' - The AWS principal receiving cross-account permissions. This may be an+-- IAM role or another AWS account ID.+--+-- 'statementId', 'addProfilePermission_statementId' - A unique identifier for the cross-account permission statement.+--+-- 'profileName', 'addProfilePermission_profileName' - The human-readable name of the signing profile.+newAddProfilePermission ::+  -- | 'action'+  Prelude.Text ->+  -- | 'principal'+  Prelude.Text ->+  -- | 'statementId'+  Prelude.Text ->+  -- | 'profileName'+  Prelude.Text ->+  AddProfilePermission+newAddProfilePermission+  pAction_+  pPrincipal_+  pStatementId_+  pProfileName_ =+    AddProfilePermission'+      { profileVersion =+          Prelude.Nothing,+        revisionId = Prelude.Nothing,+        action = pAction_,+        principal = pPrincipal_,+        statementId = pStatementId_,+        profileName = pProfileName_+      }++-- | The version of the signing profile.+addProfilePermission_profileVersion :: Lens.Lens' AddProfilePermission (Prelude.Maybe Prelude.Text)+addProfilePermission_profileVersion = Lens.lens (\AddProfilePermission' {profileVersion} -> profileVersion) (\s@AddProfilePermission' {} a -> s {profileVersion = a} :: AddProfilePermission)++-- | A unique identifier for the current profile revision.+addProfilePermission_revisionId :: Lens.Lens' AddProfilePermission (Prelude.Maybe Prelude.Text)+addProfilePermission_revisionId = Lens.lens (\AddProfilePermission' {revisionId} -> revisionId) (\s@AddProfilePermission' {} a -> s {revisionId = a} :: AddProfilePermission)++-- | The AWS Signer action permitted as part of cross-account permissions.+addProfilePermission_action :: Lens.Lens' AddProfilePermission Prelude.Text+addProfilePermission_action = Lens.lens (\AddProfilePermission' {action} -> action) (\s@AddProfilePermission' {} a -> s {action = a} :: AddProfilePermission)++-- | The AWS principal receiving cross-account permissions. This may be an+-- IAM role or another AWS account ID.+addProfilePermission_principal :: Lens.Lens' AddProfilePermission Prelude.Text+addProfilePermission_principal = Lens.lens (\AddProfilePermission' {principal} -> principal) (\s@AddProfilePermission' {} a -> s {principal = a} :: AddProfilePermission)++-- | A unique identifier for the cross-account permission statement.+addProfilePermission_statementId :: Lens.Lens' AddProfilePermission Prelude.Text+addProfilePermission_statementId = Lens.lens (\AddProfilePermission' {statementId} -> statementId) (\s@AddProfilePermission' {} a -> s {statementId = a} :: AddProfilePermission)++-- | The human-readable name of the signing profile.+addProfilePermission_profileName :: Lens.Lens' AddProfilePermission Prelude.Text+addProfilePermission_profileName = Lens.lens (\AddProfilePermission' {profileName} -> profileName) (\s@AddProfilePermission' {} a -> s {profileName = a} :: AddProfilePermission)++instance Core.AWSRequest AddProfilePermission where+  type+    AWSResponse AddProfilePermission =+      AddProfilePermissionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AddProfilePermissionResponse'+            Prelude.<$> (x Data..?> "revisionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AddProfilePermission where+  hashWithSalt _salt AddProfilePermission' {..} =+    _salt+      `Prelude.hashWithSalt` profileVersion+      `Prelude.hashWithSalt` revisionId+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` principal+      `Prelude.hashWithSalt` statementId+      `Prelude.hashWithSalt` profileName++instance Prelude.NFData AddProfilePermission where+  rnf AddProfilePermission' {..} =+    Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf action+      `Prelude.seq` Prelude.rnf principal+      `Prelude.seq` Prelude.rnf statementId+      `Prelude.seq` Prelude.rnf profileName++instance Data.ToHeaders AddProfilePermission where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AddProfilePermission where+  toJSON AddProfilePermission' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("profileVersion" Data..=)+              Prelude.<$> profileVersion,+            ("revisionId" Data..=) Prelude.<$> revisionId,+            Prelude.Just ("action" Data..= action),+            Prelude.Just ("principal" Data..= principal),+            Prelude.Just ("statementId" Data..= statementId)+          ]+      )++instance Data.ToPath AddProfilePermission where+  toPath AddProfilePermission' {..} =+    Prelude.mconcat+      [ "/signing-profiles/",+        Data.toBS profileName,+        "/permissions"+      ]++instance Data.ToQuery AddProfilePermission where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAddProfilePermissionResponse' smart constructor.+data AddProfilePermissionResponse = AddProfilePermissionResponse'+  { -- | A unique identifier for the current profile revision.+    revisionId :: 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 'AddProfilePermissionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revisionId', 'addProfilePermissionResponse_revisionId' - A unique identifier for the current profile revision.+--+-- 'httpStatus', 'addProfilePermissionResponse_httpStatus' - The response's http status code.+newAddProfilePermissionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AddProfilePermissionResponse+newAddProfilePermissionResponse pHttpStatus_ =+  AddProfilePermissionResponse'+    { revisionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A unique identifier for the current profile revision.+addProfilePermissionResponse_revisionId :: Lens.Lens' AddProfilePermissionResponse (Prelude.Maybe Prelude.Text)+addProfilePermissionResponse_revisionId = Lens.lens (\AddProfilePermissionResponse' {revisionId} -> revisionId) (\s@AddProfilePermissionResponse' {} a -> s {revisionId = a} :: AddProfilePermissionResponse)++-- | The response's http status code.+addProfilePermissionResponse_httpStatus :: Lens.Lens' AddProfilePermissionResponse Prelude.Int+addProfilePermissionResponse_httpStatus = Lens.lens (\AddProfilePermissionResponse' {httpStatus} -> httpStatus) (\s@AddProfilePermissionResponse' {} a -> s {httpStatus = a} :: AddProfilePermissionResponse)++instance Prelude.NFData AddProfilePermissionResponse where+  rnf AddProfilePermissionResponse' {..} =+    Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/CancelSigningProfile.hs view
@@ -0,0 +1,128 @@+{-# 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.Signer.CancelSigningProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes the state of an @ACTIVE@ signing profile to @CANCELED@. A+-- canceled profile is still viewable with the @ListSigningProfiles@+-- operation, but it cannot perform new signing jobs, and is deleted two+-- years after cancelation.+module Amazonka.Signer.CancelSigningProfile+  ( -- * Creating a Request+    CancelSigningProfile (..),+    newCancelSigningProfile,++    -- * Request Lenses+    cancelSigningProfile_profileName,++    -- * Destructuring the Response+    CancelSigningProfileResponse (..),+    newCancelSigningProfileResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newCancelSigningProfile' smart constructor.+data CancelSigningProfile = CancelSigningProfile'+  { -- | The name of the signing profile to be canceled.+    profileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelSigningProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'profileName', 'cancelSigningProfile_profileName' - The name of the signing profile to be canceled.+newCancelSigningProfile ::+  -- | 'profileName'+  Prelude.Text ->+  CancelSigningProfile+newCancelSigningProfile pProfileName_ =+  CancelSigningProfile' {profileName = pProfileName_}++-- | The name of the signing profile to be canceled.+cancelSigningProfile_profileName :: Lens.Lens' CancelSigningProfile Prelude.Text+cancelSigningProfile_profileName = Lens.lens (\CancelSigningProfile' {profileName} -> profileName) (\s@CancelSigningProfile' {} a -> s {profileName = a} :: CancelSigningProfile)++instance Core.AWSRequest CancelSigningProfile where+  type+    AWSResponse CancelSigningProfile =+      CancelSigningProfileResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull CancelSigningProfileResponse'++instance Prelude.Hashable CancelSigningProfile where+  hashWithSalt _salt CancelSigningProfile' {..} =+    _salt `Prelude.hashWithSalt` profileName++instance Prelude.NFData CancelSigningProfile where+  rnf CancelSigningProfile' {..} =+    Prelude.rnf profileName++instance Data.ToHeaders CancelSigningProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath CancelSigningProfile where+  toPath CancelSigningProfile' {..} =+    Prelude.mconcat+      ["/signing-profiles/", Data.toBS profileName]++instance Data.ToQuery CancelSigningProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelSigningProfileResponse' smart constructor.+data CancelSigningProfileResponse = CancelSigningProfileResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelSigningProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newCancelSigningProfileResponse ::+  CancelSigningProfileResponse+newCancelSigningProfileResponse =+  CancelSigningProfileResponse'++instance Prelude.NFData CancelSigningProfileResponse where+  rnf _ = ()
+ gen/Amazonka/Signer/DescribeSigningJob.hs view
@@ -0,0 +1,397 @@+{-# 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.Signer.DescribeSigningJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific code signing job. You specify the+-- job by using the @jobId@ value that is returned by the StartSigningJob+-- operation.+module Amazonka.Signer.DescribeSigningJob+  ( -- * Creating a Request+    DescribeSigningJob (..),+    newDescribeSigningJob,++    -- * Request Lenses+    describeSigningJob_jobId,++    -- * Destructuring the Response+    DescribeSigningJobResponse (..),+    newDescribeSigningJobResponse,++    -- * Response Lenses+    describeSigningJobResponse_completedAt,+    describeSigningJobResponse_createdAt,+    describeSigningJobResponse_jobId,+    describeSigningJobResponse_jobInvoker,+    describeSigningJobResponse_jobOwner,+    describeSigningJobResponse_overrides,+    describeSigningJobResponse_platformDisplayName,+    describeSigningJobResponse_platformId,+    describeSigningJobResponse_profileName,+    describeSigningJobResponse_profileVersion,+    describeSigningJobResponse_requestedBy,+    describeSigningJobResponse_revocationRecord,+    describeSigningJobResponse_signatureExpiresAt,+    describeSigningJobResponse_signedObject,+    describeSigningJobResponse_signingMaterial,+    describeSigningJobResponse_signingParameters,+    describeSigningJobResponse_source,+    describeSigningJobResponse_status,+    describeSigningJobResponse_statusReason,+    describeSigningJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newDescribeSigningJob' smart constructor.+data DescribeSigningJob = DescribeSigningJob'+  { -- | The ID of the signing job on input.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSigningJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeSigningJob_jobId' - The ID of the signing job on input.+newDescribeSigningJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeSigningJob+newDescribeSigningJob pJobId_ =+  DescribeSigningJob' {jobId = pJobId_}++-- | The ID of the signing job on input.+describeSigningJob_jobId :: Lens.Lens' DescribeSigningJob Prelude.Text+describeSigningJob_jobId = Lens.lens (\DescribeSigningJob' {jobId} -> jobId) (\s@DescribeSigningJob' {} a -> s {jobId = a} :: DescribeSigningJob)++instance Core.AWSRequest DescribeSigningJob where+  type+    AWSResponse DescribeSigningJob =+      DescribeSigningJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeSigningJobResponse'+            Prelude.<$> (x Data..?> "completedAt")+            Prelude.<*> (x Data..?> "createdAt")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "jobInvoker")+            Prelude.<*> (x Data..?> "jobOwner")+            Prelude.<*> (x Data..?> "overrides")+            Prelude.<*> (x Data..?> "platformDisplayName")+            Prelude.<*> (x Data..?> "platformId")+            Prelude.<*> (x Data..?> "profileName")+            Prelude.<*> (x Data..?> "profileVersion")+            Prelude.<*> (x Data..?> "requestedBy")+            Prelude.<*> (x Data..?> "revocationRecord")+            Prelude.<*> (x Data..?> "signatureExpiresAt")+            Prelude.<*> (x Data..?> "signedObject")+            Prelude.<*> (x Data..?> "signingMaterial")+            Prelude.<*> ( x+                            Data..?> "signingParameters"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "source")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusReason")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeSigningJob where+  hashWithSalt _salt DescribeSigningJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeSigningJob where+  rnf DescribeSigningJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders DescribeSigningJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeSigningJob where+  toPath DescribeSigningJob' {..} =+    Prelude.mconcat ["/signing-jobs/", Data.toBS jobId]++instance Data.ToQuery DescribeSigningJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSigningJobResponse' smart constructor.+data DescribeSigningJobResponse = DescribeSigningJobResponse'+  { -- | Date and time that the signing job was completed.+    completedAt :: Prelude.Maybe Data.POSIX,+    -- | Date and time that the signing job was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The ID of the signing job on output.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The IAM entity that initiated the signing job.+    jobInvoker :: Prelude.Maybe Prelude.Text,+    -- | The AWS account ID of the job owner.+    jobOwner :: Prelude.Maybe Prelude.Text,+    -- | A list of any overrides that were applied to the signing operation.+    overrides :: Prelude.Maybe SigningPlatformOverrides,+    -- | A human-readable name for the signing platform associated with the+    -- signing job.+    platformDisplayName :: Prelude.Maybe Prelude.Text,+    -- | The microcontroller platform to which your signed code image will be+    -- distributed.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | The name of the profile that initiated the signing operation.+    profileName :: Prelude.Maybe Prelude.Text,+    -- | The version of the signing profile used to initiate the signing job.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | The IAM principal that requested the signing job.+    requestedBy :: Prelude.Maybe Prelude.Text,+    -- | A revocation record if the signature generated by the signing job has+    -- been revoked. Contains a timestamp and the ID of the IAM entity that+    -- revoked the signature.+    revocationRecord :: Prelude.Maybe SigningJobRevocationRecord,+    -- | Thr expiration timestamp for the signature generated by the signing job.+    signatureExpiresAt :: Prelude.Maybe Data.POSIX,+    -- | Name of the S3 bucket where the signed code image is saved by code+    -- signing.+    signedObject :: Prelude.Maybe SignedObject,+    -- | The Amazon Resource Name (ARN) of your code signing certificate.+    signingMaterial :: Prelude.Maybe SigningMaterial,+    -- | Map of user-assigned key-value pairs used during signing. These values+    -- contain any information that you specified for use in your signing job.+    signingParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The object that contains the name of your S3 bucket or your raw code.+    source :: Prelude.Maybe Source,+    -- | Status of the signing job.+    status :: Prelude.Maybe SigningStatus,+    -- | String value that contains the status reason.+    statusReason :: 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 'DescribeSigningJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'completedAt', 'describeSigningJobResponse_completedAt' - Date and time that the signing job was completed.+--+-- 'createdAt', 'describeSigningJobResponse_createdAt' - Date and time that the signing job was created.+--+-- 'jobId', 'describeSigningJobResponse_jobId' - The ID of the signing job on output.+--+-- 'jobInvoker', 'describeSigningJobResponse_jobInvoker' - The IAM entity that initiated the signing job.+--+-- 'jobOwner', 'describeSigningJobResponse_jobOwner' - The AWS account ID of the job owner.+--+-- 'overrides', 'describeSigningJobResponse_overrides' - A list of any overrides that were applied to the signing operation.+--+-- 'platformDisplayName', 'describeSigningJobResponse_platformDisplayName' - A human-readable name for the signing platform associated with the+-- signing job.+--+-- 'platformId', 'describeSigningJobResponse_platformId' - The microcontroller platform to which your signed code image will be+-- distributed.+--+-- 'profileName', 'describeSigningJobResponse_profileName' - The name of the profile that initiated the signing operation.+--+-- 'profileVersion', 'describeSigningJobResponse_profileVersion' - The version of the signing profile used to initiate the signing job.+--+-- 'requestedBy', 'describeSigningJobResponse_requestedBy' - The IAM principal that requested the signing job.+--+-- 'revocationRecord', 'describeSigningJobResponse_revocationRecord' - A revocation record if the signature generated by the signing job has+-- been revoked. Contains a timestamp and the ID of the IAM entity that+-- revoked the signature.+--+-- 'signatureExpiresAt', 'describeSigningJobResponse_signatureExpiresAt' - Thr expiration timestamp for the signature generated by the signing job.+--+-- 'signedObject', 'describeSigningJobResponse_signedObject' - Name of the S3 bucket where the signed code image is saved by code+-- signing.+--+-- 'signingMaterial', 'describeSigningJobResponse_signingMaterial' - The Amazon Resource Name (ARN) of your code signing certificate.+--+-- 'signingParameters', 'describeSigningJobResponse_signingParameters' - Map of user-assigned key-value pairs used during signing. These values+-- contain any information that you specified for use in your signing job.+--+-- 'source', 'describeSigningJobResponse_source' - The object that contains the name of your S3 bucket or your raw code.+--+-- 'status', 'describeSigningJobResponse_status' - Status of the signing job.+--+-- 'statusReason', 'describeSigningJobResponse_statusReason' - String value that contains the status reason.+--+-- 'httpStatus', 'describeSigningJobResponse_httpStatus' - The response's http status code.+newDescribeSigningJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeSigningJobResponse+newDescribeSigningJobResponse pHttpStatus_ =+  DescribeSigningJobResponse'+    { completedAt =+        Prelude.Nothing,+      createdAt = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobInvoker = Prelude.Nothing,+      jobOwner = Prelude.Nothing,+      overrides = Prelude.Nothing,+      platformDisplayName = Prelude.Nothing,+      platformId = Prelude.Nothing,+      profileName = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      requestedBy = Prelude.Nothing,+      revocationRecord = Prelude.Nothing,+      signatureExpiresAt = Prelude.Nothing,+      signedObject = Prelude.Nothing,+      signingMaterial = Prelude.Nothing,+      signingParameters = Prelude.Nothing,+      source = Prelude.Nothing,+      status = Prelude.Nothing,+      statusReason = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Date and time that the signing job was completed.+describeSigningJobResponse_completedAt :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.UTCTime)+describeSigningJobResponse_completedAt = Lens.lens (\DescribeSigningJobResponse' {completedAt} -> completedAt) (\s@DescribeSigningJobResponse' {} a -> s {completedAt = a} :: DescribeSigningJobResponse) Prelude.. Lens.mapping Data._Time++-- | Date and time that the signing job was created.+describeSigningJobResponse_createdAt :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.UTCTime)+describeSigningJobResponse_createdAt = Lens.lens (\DescribeSigningJobResponse' {createdAt} -> createdAt) (\s@DescribeSigningJobResponse' {} a -> s {createdAt = a} :: DescribeSigningJobResponse) Prelude.. Lens.mapping Data._Time++-- | The ID of the signing job on output.+describeSigningJobResponse_jobId :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_jobId = Lens.lens (\DescribeSigningJobResponse' {jobId} -> jobId) (\s@DescribeSigningJobResponse' {} a -> s {jobId = a} :: DescribeSigningJobResponse)++-- | The IAM entity that initiated the signing job.+describeSigningJobResponse_jobInvoker :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_jobInvoker = Lens.lens (\DescribeSigningJobResponse' {jobInvoker} -> jobInvoker) (\s@DescribeSigningJobResponse' {} a -> s {jobInvoker = a} :: DescribeSigningJobResponse)++-- | The AWS account ID of the job owner.+describeSigningJobResponse_jobOwner :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_jobOwner = Lens.lens (\DescribeSigningJobResponse' {jobOwner} -> jobOwner) (\s@DescribeSigningJobResponse' {} a -> s {jobOwner = a} :: DescribeSigningJobResponse)++-- | A list of any overrides that were applied to the signing operation.+describeSigningJobResponse_overrides :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe SigningPlatformOverrides)+describeSigningJobResponse_overrides = Lens.lens (\DescribeSigningJobResponse' {overrides} -> overrides) (\s@DescribeSigningJobResponse' {} a -> s {overrides = a} :: DescribeSigningJobResponse)++-- | A human-readable name for the signing platform associated with the+-- signing job.+describeSigningJobResponse_platformDisplayName :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_platformDisplayName = Lens.lens (\DescribeSigningJobResponse' {platformDisplayName} -> platformDisplayName) (\s@DescribeSigningJobResponse' {} a -> s {platformDisplayName = a} :: DescribeSigningJobResponse)++-- | The microcontroller platform to which your signed code image will be+-- distributed.+describeSigningJobResponse_platformId :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_platformId = Lens.lens (\DescribeSigningJobResponse' {platformId} -> platformId) (\s@DescribeSigningJobResponse' {} a -> s {platformId = a} :: DescribeSigningJobResponse)++-- | The name of the profile that initiated the signing operation.+describeSigningJobResponse_profileName :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_profileName = Lens.lens (\DescribeSigningJobResponse' {profileName} -> profileName) (\s@DescribeSigningJobResponse' {} a -> s {profileName = a} :: DescribeSigningJobResponse)++-- | The version of the signing profile used to initiate the signing job.+describeSigningJobResponse_profileVersion :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_profileVersion = Lens.lens (\DescribeSigningJobResponse' {profileVersion} -> profileVersion) (\s@DescribeSigningJobResponse' {} a -> s {profileVersion = a} :: DescribeSigningJobResponse)++-- | The IAM principal that requested the signing job.+describeSigningJobResponse_requestedBy :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_requestedBy = Lens.lens (\DescribeSigningJobResponse' {requestedBy} -> requestedBy) (\s@DescribeSigningJobResponse' {} a -> s {requestedBy = a} :: DescribeSigningJobResponse)++-- | A revocation record if the signature generated by the signing job has+-- been revoked. Contains a timestamp and the ID of the IAM entity that+-- revoked the signature.+describeSigningJobResponse_revocationRecord :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe SigningJobRevocationRecord)+describeSigningJobResponse_revocationRecord = Lens.lens (\DescribeSigningJobResponse' {revocationRecord} -> revocationRecord) (\s@DescribeSigningJobResponse' {} a -> s {revocationRecord = a} :: DescribeSigningJobResponse)++-- | Thr expiration timestamp for the signature generated by the signing job.+describeSigningJobResponse_signatureExpiresAt :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.UTCTime)+describeSigningJobResponse_signatureExpiresAt = Lens.lens (\DescribeSigningJobResponse' {signatureExpiresAt} -> signatureExpiresAt) (\s@DescribeSigningJobResponse' {} a -> s {signatureExpiresAt = a} :: DescribeSigningJobResponse) Prelude.. Lens.mapping Data._Time++-- | Name of the S3 bucket where the signed code image is saved by code+-- signing.+describeSigningJobResponse_signedObject :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe SignedObject)+describeSigningJobResponse_signedObject = Lens.lens (\DescribeSigningJobResponse' {signedObject} -> signedObject) (\s@DescribeSigningJobResponse' {} a -> s {signedObject = a} :: DescribeSigningJobResponse)++-- | The Amazon Resource Name (ARN) of your code signing certificate.+describeSigningJobResponse_signingMaterial :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe SigningMaterial)+describeSigningJobResponse_signingMaterial = Lens.lens (\DescribeSigningJobResponse' {signingMaterial} -> signingMaterial) (\s@DescribeSigningJobResponse' {} a -> s {signingMaterial = a} :: DescribeSigningJobResponse)++-- | Map of user-assigned key-value pairs used during signing. These values+-- contain any information that you specified for use in your signing job.+describeSigningJobResponse_signingParameters :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeSigningJobResponse_signingParameters = Lens.lens (\DescribeSigningJobResponse' {signingParameters} -> signingParameters) (\s@DescribeSigningJobResponse' {} a -> s {signingParameters = a} :: DescribeSigningJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The object that contains the name of your S3 bucket or your raw code.+describeSigningJobResponse_source :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Source)+describeSigningJobResponse_source = Lens.lens (\DescribeSigningJobResponse' {source} -> source) (\s@DescribeSigningJobResponse' {} a -> s {source = a} :: DescribeSigningJobResponse)++-- | Status of the signing job.+describeSigningJobResponse_status :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe SigningStatus)+describeSigningJobResponse_status = Lens.lens (\DescribeSigningJobResponse' {status} -> status) (\s@DescribeSigningJobResponse' {} a -> s {status = a} :: DescribeSigningJobResponse)++-- | String value that contains the status reason.+describeSigningJobResponse_statusReason :: Lens.Lens' DescribeSigningJobResponse (Prelude.Maybe Prelude.Text)+describeSigningJobResponse_statusReason = Lens.lens (\DescribeSigningJobResponse' {statusReason} -> statusReason) (\s@DescribeSigningJobResponse' {} a -> s {statusReason = a} :: DescribeSigningJobResponse)++-- | The response's http status code.+describeSigningJobResponse_httpStatus :: Lens.Lens' DescribeSigningJobResponse Prelude.Int+describeSigningJobResponse_httpStatus = Lens.lens (\DescribeSigningJobResponse' {httpStatus} -> httpStatus) (\s@DescribeSigningJobResponse' {} a -> s {httpStatus = a} :: DescribeSigningJobResponse)++instance Prelude.NFData DescribeSigningJobResponse where+  rnf DescribeSigningJobResponse' {..} =+    Prelude.rnf completedAt+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobInvoker+      `Prelude.seq` Prelude.rnf jobOwner+      `Prelude.seq` Prelude.rnf overrides+      `Prelude.seq` Prelude.rnf platformDisplayName+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf requestedBy+      `Prelude.seq` Prelude.rnf revocationRecord+      `Prelude.seq` Prelude.rnf signatureExpiresAt+      `Prelude.seq` Prelude.rnf signedObject+      `Prelude.seq` Prelude.rnf signingMaterial+      `Prelude.seq` Prelude.rnf signingParameters+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/GetSigningPlatform.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.GetSigningPlatform+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information on a specific signing platform.+module Amazonka.Signer.GetSigningPlatform+  ( -- * Creating a Request+    GetSigningPlatform (..),+    newGetSigningPlatform,++    -- * Request Lenses+    getSigningPlatform_platformId,++    -- * Destructuring the Response+    GetSigningPlatformResponse (..),+    newGetSigningPlatformResponse,++    -- * Response Lenses+    getSigningPlatformResponse_category,+    getSigningPlatformResponse_displayName,+    getSigningPlatformResponse_maxSizeInMB,+    getSigningPlatformResponse_partner,+    getSigningPlatformResponse_platformId,+    getSigningPlatformResponse_revocationSupported,+    getSigningPlatformResponse_signingConfiguration,+    getSigningPlatformResponse_signingImageFormat,+    getSigningPlatformResponse_target,+    getSigningPlatformResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newGetSigningPlatform' smart constructor.+data GetSigningPlatform = GetSigningPlatform'+  { -- | The ID of the target signing platform.+    platformId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSigningPlatform' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'platformId', 'getSigningPlatform_platformId' - The ID of the target signing platform.+newGetSigningPlatform ::+  -- | 'platformId'+  Prelude.Text ->+  GetSigningPlatform+newGetSigningPlatform pPlatformId_ =+  GetSigningPlatform' {platformId = pPlatformId_}++-- | The ID of the target signing platform.+getSigningPlatform_platformId :: Lens.Lens' GetSigningPlatform Prelude.Text+getSigningPlatform_platformId = Lens.lens (\GetSigningPlatform' {platformId} -> platformId) (\s@GetSigningPlatform' {} a -> s {platformId = a} :: GetSigningPlatform)++instance Core.AWSRequest GetSigningPlatform where+  type+    AWSResponse GetSigningPlatform =+      GetSigningPlatformResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSigningPlatformResponse'+            Prelude.<$> (x Data..?> "category")+            Prelude.<*> (x Data..?> "displayName")+            Prelude.<*> (x Data..?> "maxSizeInMB")+            Prelude.<*> (x Data..?> "partner")+            Prelude.<*> (x Data..?> "platformId")+            Prelude.<*> (x Data..?> "revocationSupported")+            Prelude.<*> (x Data..?> "signingConfiguration")+            Prelude.<*> (x Data..?> "signingImageFormat")+            Prelude.<*> (x Data..?> "target")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSigningPlatform where+  hashWithSalt _salt GetSigningPlatform' {..} =+    _salt `Prelude.hashWithSalt` platformId++instance Prelude.NFData GetSigningPlatform where+  rnf GetSigningPlatform' {..} = Prelude.rnf platformId++instance Data.ToHeaders GetSigningPlatform where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSigningPlatform where+  toPath GetSigningPlatform' {..} =+    Prelude.mconcat+      ["/signing-platforms/", Data.toBS platformId]++instance Data.ToQuery GetSigningPlatform where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSigningPlatformResponse' smart constructor.+data GetSigningPlatformResponse = GetSigningPlatformResponse'+  { -- | The category type of the target signing platform.+    category :: Prelude.Maybe Category,+    -- | The display name of the target signing platform.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The maximum size (in MB) of the payload that can be signed by the target+    -- platform.+    maxSizeInMB :: Prelude.Maybe Prelude.Int,+    -- | A list of partner entities that use the target signing platform.+    partner :: Prelude.Maybe Prelude.Text,+    -- | The ID of the target signing platform.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | A flag indicating whether signatures generated for the signing platform+    -- can be revoked.+    revocationSupported :: Prelude.Maybe Prelude.Bool,+    -- | A list of configurations applied to the target platform at signing.+    signingConfiguration :: Prelude.Maybe SigningConfiguration,+    -- | The format of the target platform\'s signing image.+    signingImageFormat :: Prelude.Maybe SigningImageFormat,+    -- | The validation template that is used by the target signing platform.+    target :: 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 'GetSigningPlatformResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'getSigningPlatformResponse_category' - The category type of the target signing platform.+--+-- 'displayName', 'getSigningPlatformResponse_displayName' - The display name of the target signing platform.+--+-- 'maxSizeInMB', 'getSigningPlatformResponse_maxSizeInMB' - The maximum size (in MB) of the payload that can be signed by the target+-- platform.+--+-- 'partner', 'getSigningPlatformResponse_partner' - A list of partner entities that use the target signing platform.+--+-- 'platformId', 'getSigningPlatformResponse_platformId' - The ID of the target signing platform.+--+-- 'revocationSupported', 'getSigningPlatformResponse_revocationSupported' - A flag indicating whether signatures generated for the signing platform+-- can be revoked.+--+-- 'signingConfiguration', 'getSigningPlatformResponse_signingConfiguration' - A list of configurations applied to the target platform at signing.+--+-- 'signingImageFormat', 'getSigningPlatformResponse_signingImageFormat' - The format of the target platform\'s signing image.+--+-- 'target', 'getSigningPlatformResponse_target' - The validation template that is used by the target signing platform.+--+-- 'httpStatus', 'getSigningPlatformResponse_httpStatus' - The response's http status code.+newGetSigningPlatformResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSigningPlatformResponse+newGetSigningPlatformResponse pHttpStatus_ =+  GetSigningPlatformResponse'+    { category =+        Prelude.Nothing,+      displayName = Prelude.Nothing,+      maxSizeInMB = Prelude.Nothing,+      partner = Prelude.Nothing,+      platformId = Prelude.Nothing,+      revocationSupported = Prelude.Nothing,+      signingConfiguration = Prelude.Nothing,+      signingImageFormat = Prelude.Nothing,+      target = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The category type of the target signing platform.+getSigningPlatformResponse_category :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Category)+getSigningPlatformResponse_category = Lens.lens (\GetSigningPlatformResponse' {category} -> category) (\s@GetSigningPlatformResponse' {} a -> s {category = a} :: GetSigningPlatformResponse)++-- | The display name of the target signing platform.+getSigningPlatformResponse_displayName :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Text)+getSigningPlatformResponse_displayName = Lens.lens (\GetSigningPlatformResponse' {displayName} -> displayName) (\s@GetSigningPlatformResponse' {} a -> s {displayName = a} :: GetSigningPlatformResponse)++-- | The maximum size (in MB) of the payload that can be signed by the target+-- platform.+getSigningPlatformResponse_maxSizeInMB :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Int)+getSigningPlatformResponse_maxSizeInMB = Lens.lens (\GetSigningPlatformResponse' {maxSizeInMB} -> maxSizeInMB) (\s@GetSigningPlatformResponse' {} a -> s {maxSizeInMB = a} :: GetSigningPlatformResponse)++-- | A list of partner entities that use the target signing platform.+getSigningPlatformResponse_partner :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Text)+getSigningPlatformResponse_partner = Lens.lens (\GetSigningPlatformResponse' {partner} -> partner) (\s@GetSigningPlatformResponse' {} a -> s {partner = a} :: GetSigningPlatformResponse)++-- | The ID of the target signing platform.+getSigningPlatformResponse_platformId :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Text)+getSigningPlatformResponse_platformId = Lens.lens (\GetSigningPlatformResponse' {platformId} -> platformId) (\s@GetSigningPlatformResponse' {} a -> s {platformId = a} :: GetSigningPlatformResponse)++-- | A flag indicating whether signatures generated for the signing platform+-- can be revoked.+getSigningPlatformResponse_revocationSupported :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Bool)+getSigningPlatformResponse_revocationSupported = Lens.lens (\GetSigningPlatformResponse' {revocationSupported} -> revocationSupported) (\s@GetSigningPlatformResponse' {} a -> s {revocationSupported = a} :: GetSigningPlatformResponse)++-- | A list of configurations applied to the target platform at signing.+getSigningPlatformResponse_signingConfiguration :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe SigningConfiguration)+getSigningPlatformResponse_signingConfiguration = Lens.lens (\GetSigningPlatformResponse' {signingConfiguration} -> signingConfiguration) (\s@GetSigningPlatformResponse' {} a -> s {signingConfiguration = a} :: GetSigningPlatformResponse)++-- | The format of the target platform\'s signing image.+getSigningPlatformResponse_signingImageFormat :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe SigningImageFormat)+getSigningPlatformResponse_signingImageFormat = Lens.lens (\GetSigningPlatformResponse' {signingImageFormat} -> signingImageFormat) (\s@GetSigningPlatformResponse' {} a -> s {signingImageFormat = a} :: GetSigningPlatformResponse)++-- | The validation template that is used by the target signing platform.+getSigningPlatformResponse_target :: Lens.Lens' GetSigningPlatformResponse (Prelude.Maybe Prelude.Text)+getSigningPlatformResponse_target = Lens.lens (\GetSigningPlatformResponse' {target} -> target) (\s@GetSigningPlatformResponse' {} a -> s {target = a} :: GetSigningPlatformResponse)++-- | The response's http status code.+getSigningPlatformResponse_httpStatus :: Lens.Lens' GetSigningPlatformResponse Prelude.Int+getSigningPlatformResponse_httpStatus = Lens.lens (\GetSigningPlatformResponse' {httpStatus} -> httpStatus) (\s@GetSigningPlatformResponse' {} a -> s {httpStatus = a} :: GetSigningPlatformResponse)++instance Prelude.NFData GetSigningPlatformResponse where+  rnf GetSigningPlatformResponse' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf maxSizeInMB+      `Prelude.seq` Prelude.rnf partner+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf revocationSupported+      `Prelude.seq` Prelude.rnf signingConfiguration+      `Prelude.seq` Prelude.rnf signingImageFormat+      `Prelude.seq` Prelude.rnf target+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/GetSigningProfile.hs view
@@ -0,0 +1,345 @@+{-# 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.Signer.GetSigningProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information on a specific signing profile.+module Amazonka.Signer.GetSigningProfile+  ( -- * Creating a Request+    GetSigningProfile (..),+    newGetSigningProfile,++    -- * Request Lenses+    getSigningProfile_profileOwner,+    getSigningProfile_profileName,++    -- * Destructuring the Response+    GetSigningProfileResponse (..),+    newGetSigningProfileResponse,++    -- * Response Lenses+    getSigningProfileResponse_arn,+    getSigningProfileResponse_overrides,+    getSigningProfileResponse_platformDisplayName,+    getSigningProfileResponse_platformId,+    getSigningProfileResponse_profileName,+    getSigningProfileResponse_profileVersion,+    getSigningProfileResponse_profileVersionArn,+    getSigningProfileResponse_revocationRecord,+    getSigningProfileResponse_signatureValidityPeriod,+    getSigningProfileResponse_signingMaterial,+    getSigningProfileResponse_signingParameters,+    getSigningProfileResponse_status,+    getSigningProfileResponse_statusReason,+    getSigningProfileResponse_tags,+    getSigningProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newGetSigningProfile' smart constructor.+data GetSigningProfile = GetSigningProfile'+  { -- | The AWS account ID of the profile owner.+    profileOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the target signing profile.+    profileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSigningProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'profileOwner', 'getSigningProfile_profileOwner' - The AWS account ID of the profile owner.+--+-- 'profileName', 'getSigningProfile_profileName' - The name of the target signing profile.+newGetSigningProfile ::+  -- | 'profileName'+  Prelude.Text ->+  GetSigningProfile+newGetSigningProfile pProfileName_ =+  GetSigningProfile'+    { profileOwner = Prelude.Nothing,+      profileName = pProfileName_+    }++-- | The AWS account ID of the profile owner.+getSigningProfile_profileOwner :: Lens.Lens' GetSigningProfile (Prelude.Maybe Prelude.Text)+getSigningProfile_profileOwner = Lens.lens (\GetSigningProfile' {profileOwner} -> profileOwner) (\s@GetSigningProfile' {} a -> s {profileOwner = a} :: GetSigningProfile)++-- | The name of the target signing profile.+getSigningProfile_profileName :: Lens.Lens' GetSigningProfile Prelude.Text+getSigningProfile_profileName = Lens.lens (\GetSigningProfile' {profileName} -> profileName) (\s@GetSigningProfile' {} a -> s {profileName = a} :: GetSigningProfile)++instance Core.AWSRequest GetSigningProfile where+  type+    AWSResponse GetSigningProfile =+      GetSigningProfileResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSigningProfileResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "overrides")+            Prelude.<*> (x Data..?> "platformDisplayName")+            Prelude.<*> (x Data..?> "platformId")+            Prelude.<*> (x Data..?> "profileName")+            Prelude.<*> (x Data..?> "profileVersion")+            Prelude.<*> (x Data..?> "profileVersionArn")+            Prelude.<*> (x Data..?> "revocationRecord")+            Prelude.<*> (x Data..?> "signatureValidityPeriod")+            Prelude.<*> (x Data..?> "signingMaterial")+            Prelude.<*> ( x+                            Data..?> "signingParameters"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusReason")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSigningProfile where+  hashWithSalt _salt GetSigningProfile' {..} =+    _salt+      `Prelude.hashWithSalt` profileOwner+      `Prelude.hashWithSalt` profileName++instance Prelude.NFData GetSigningProfile where+  rnf GetSigningProfile' {..} =+    Prelude.rnf profileOwner+      `Prelude.seq` Prelude.rnf profileName++instance Data.ToHeaders GetSigningProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSigningProfile where+  toPath GetSigningProfile' {..} =+    Prelude.mconcat+      ["/signing-profiles/", Data.toBS profileName]++instance Data.ToQuery GetSigningProfile where+  toQuery GetSigningProfile' {..} =+    Prelude.mconcat+      ["profileOwner" Data.=: profileOwner]++-- | /See:/ 'newGetSigningProfileResponse' smart constructor.+data GetSigningProfileResponse = GetSigningProfileResponse'+  { -- | The Amazon Resource Name (ARN) for the signing profile.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A list of overrides applied by the target signing profile for signing+    -- operations.+    overrides :: Prelude.Maybe SigningPlatformOverrides,+    -- | A human-readable name for the signing platform associated with the+    -- signing profile.+    platformDisplayName :: Prelude.Maybe Prelude.Text,+    -- | The ID of the platform that is used by the target signing profile.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | The name of the target signing profile.+    profileName :: Prelude.Maybe Prelude.Text,+    -- | The current version of the signing profile.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | The signing profile ARN, including the profile version.+    profileVersionArn :: Prelude.Maybe Prelude.Text,+    revocationRecord :: Prelude.Maybe SigningProfileRevocationRecord,+    signatureValidityPeriod :: Prelude.Maybe SignatureValidityPeriod,+    -- | The ARN of the certificate that the target profile uses for signing+    -- operations.+    signingMaterial :: Prelude.Maybe SigningMaterial,+    -- | A map of key-value pairs for signing operations that is attached to the+    -- target signing profile.+    signingParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The status of the target signing profile.+    status :: Prelude.Maybe SigningProfileStatus,+    -- | Reason for the status of the target signing profile.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | A list of tags associated with the signing profile.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSigningProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getSigningProfileResponse_arn' - The Amazon Resource Name (ARN) for the signing profile.+--+-- 'overrides', 'getSigningProfileResponse_overrides' - A list of overrides applied by the target signing profile for signing+-- operations.+--+-- 'platformDisplayName', 'getSigningProfileResponse_platformDisplayName' - A human-readable name for the signing platform associated with the+-- signing profile.+--+-- 'platformId', 'getSigningProfileResponse_platformId' - The ID of the platform that is used by the target signing profile.+--+-- 'profileName', 'getSigningProfileResponse_profileName' - The name of the target signing profile.+--+-- 'profileVersion', 'getSigningProfileResponse_profileVersion' - The current version of the signing profile.+--+-- 'profileVersionArn', 'getSigningProfileResponse_profileVersionArn' - The signing profile ARN, including the profile version.+--+-- 'revocationRecord', 'getSigningProfileResponse_revocationRecord' - Undocumented member.+--+-- 'signatureValidityPeriod', 'getSigningProfileResponse_signatureValidityPeriod' - Undocumented member.+--+-- 'signingMaterial', 'getSigningProfileResponse_signingMaterial' - The ARN of the certificate that the target profile uses for signing+-- operations.+--+-- 'signingParameters', 'getSigningProfileResponse_signingParameters' - A map of key-value pairs for signing operations that is attached to the+-- target signing profile.+--+-- 'status', 'getSigningProfileResponse_status' - The status of the target signing profile.+--+-- 'statusReason', 'getSigningProfileResponse_statusReason' - Reason for the status of the target signing profile.+--+-- 'tags', 'getSigningProfileResponse_tags' - A list of tags associated with the signing profile.+--+-- 'httpStatus', 'getSigningProfileResponse_httpStatus' - The response's http status code.+newGetSigningProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSigningProfileResponse+newGetSigningProfileResponse pHttpStatus_ =+  GetSigningProfileResponse'+    { arn = Prelude.Nothing,+      overrides = Prelude.Nothing,+      platformDisplayName = Prelude.Nothing,+      platformId = Prelude.Nothing,+      profileName = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      profileVersionArn = Prelude.Nothing,+      revocationRecord = Prelude.Nothing,+      signatureValidityPeriod = Prelude.Nothing,+      signingMaterial = Prelude.Nothing,+      signingParameters = Prelude.Nothing,+      status = Prelude.Nothing,+      statusReason = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the signing profile.+getSigningProfileResponse_arn :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_arn = Lens.lens (\GetSigningProfileResponse' {arn} -> arn) (\s@GetSigningProfileResponse' {} a -> s {arn = a} :: GetSigningProfileResponse)++-- | A list of overrides applied by the target signing profile for signing+-- operations.+getSigningProfileResponse_overrides :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe SigningPlatformOverrides)+getSigningProfileResponse_overrides = Lens.lens (\GetSigningProfileResponse' {overrides} -> overrides) (\s@GetSigningProfileResponse' {} a -> s {overrides = a} :: GetSigningProfileResponse)++-- | A human-readable name for the signing platform associated with the+-- signing profile.+getSigningProfileResponse_platformDisplayName :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_platformDisplayName = Lens.lens (\GetSigningProfileResponse' {platformDisplayName} -> platformDisplayName) (\s@GetSigningProfileResponse' {} a -> s {platformDisplayName = a} :: GetSigningProfileResponse)++-- | The ID of the platform that is used by the target signing profile.+getSigningProfileResponse_platformId :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_platformId = Lens.lens (\GetSigningProfileResponse' {platformId} -> platformId) (\s@GetSigningProfileResponse' {} a -> s {platformId = a} :: GetSigningProfileResponse)++-- | The name of the target signing profile.+getSigningProfileResponse_profileName :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_profileName = Lens.lens (\GetSigningProfileResponse' {profileName} -> profileName) (\s@GetSigningProfileResponse' {} a -> s {profileName = a} :: GetSigningProfileResponse)++-- | The current version of the signing profile.+getSigningProfileResponse_profileVersion :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_profileVersion = Lens.lens (\GetSigningProfileResponse' {profileVersion} -> profileVersion) (\s@GetSigningProfileResponse' {} a -> s {profileVersion = a} :: GetSigningProfileResponse)++-- | The signing profile ARN, including the profile version.+getSigningProfileResponse_profileVersionArn :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_profileVersionArn = Lens.lens (\GetSigningProfileResponse' {profileVersionArn} -> profileVersionArn) (\s@GetSigningProfileResponse' {} a -> s {profileVersionArn = a} :: GetSigningProfileResponse)++-- | Undocumented member.+getSigningProfileResponse_revocationRecord :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe SigningProfileRevocationRecord)+getSigningProfileResponse_revocationRecord = Lens.lens (\GetSigningProfileResponse' {revocationRecord} -> revocationRecord) (\s@GetSigningProfileResponse' {} a -> s {revocationRecord = a} :: GetSigningProfileResponse)++-- | Undocumented member.+getSigningProfileResponse_signatureValidityPeriod :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe SignatureValidityPeriod)+getSigningProfileResponse_signatureValidityPeriod = Lens.lens (\GetSigningProfileResponse' {signatureValidityPeriod} -> signatureValidityPeriod) (\s@GetSigningProfileResponse' {} a -> s {signatureValidityPeriod = a} :: GetSigningProfileResponse)++-- | The ARN of the certificate that the target profile uses for signing+-- operations.+getSigningProfileResponse_signingMaterial :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe SigningMaterial)+getSigningProfileResponse_signingMaterial = Lens.lens (\GetSigningProfileResponse' {signingMaterial} -> signingMaterial) (\s@GetSigningProfileResponse' {} a -> s {signingMaterial = a} :: GetSigningProfileResponse)++-- | A map of key-value pairs for signing operations that is attached to the+-- target signing profile.+getSigningProfileResponse_signingParameters :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getSigningProfileResponse_signingParameters = Lens.lens (\GetSigningProfileResponse' {signingParameters} -> signingParameters) (\s@GetSigningProfileResponse' {} a -> s {signingParameters = a} :: GetSigningProfileResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of the target signing profile.+getSigningProfileResponse_status :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe SigningProfileStatus)+getSigningProfileResponse_status = Lens.lens (\GetSigningProfileResponse' {status} -> status) (\s@GetSigningProfileResponse' {} a -> s {status = a} :: GetSigningProfileResponse)++-- | Reason for the status of the target signing profile.+getSigningProfileResponse_statusReason :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe Prelude.Text)+getSigningProfileResponse_statusReason = Lens.lens (\GetSigningProfileResponse' {statusReason} -> statusReason) (\s@GetSigningProfileResponse' {} a -> s {statusReason = a} :: GetSigningProfileResponse)++-- | A list of tags associated with the signing profile.+getSigningProfileResponse_tags :: Lens.Lens' GetSigningProfileResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getSigningProfileResponse_tags = Lens.lens (\GetSigningProfileResponse' {tags} -> tags) (\s@GetSigningProfileResponse' {} a -> s {tags = a} :: GetSigningProfileResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getSigningProfileResponse_httpStatus :: Lens.Lens' GetSigningProfileResponse Prelude.Int+getSigningProfileResponse_httpStatus = Lens.lens (\GetSigningProfileResponse' {httpStatus} -> httpStatus) (\s@GetSigningProfileResponse' {} a -> s {httpStatus = a} :: GetSigningProfileResponse)++instance Prelude.NFData GetSigningProfileResponse where+  rnf GetSigningProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf overrides+      `Prelude.seq` Prelude.rnf platformDisplayName+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf profileVersionArn+      `Prelude.seq` Prelude.rnf revocationRecord+      `Prelude.seq` Prelude.rnf signatureValidityPeriod+      `Prelude.seq` Prelude.rnf signingMaterial+      `Prelude.seq` Prelude.rnf signingParameters+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/Lens.hs view
@@ -0,0 +1,333 @@+{-# 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.Signer.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.Signer.Lens+  ( -- * Operations++    -- ** AddProfilePermission+    addProfilePermission_profileVersion,+    addProfilePermission_revisionId,+    addProfilePermission_action,+    addProfilePermission_principal,+    addProfilePermission_statementId,+    addProfilePermission_profileName,+    addProfilePermissionResponse_revisionId,+    addProfilePermissionResponse_httpStatus,++    -- ** CancelSigningProfile+    cancelSigningProfile_profileName,++    -- ** DescribeSigningJob+    describeSigningJob_jobId,+    describeSigningJobResponse_completedAt,+    describeSigningJobResponse_createdAt,+    describeSigningJobResponse_jobId,+    describeSigningJobResponse_jobInvoker,+    describeSigningJobResponse_jobOwner,+    describeSigningJobResponse_overrides,+    describeSigningJobResponse_platformDisplayName,+    describeSigningJobResponse_platformId,+    describeSigningJobResponse_profileName,+    describeSigningJobResponse_profileVersion,+    describeSigningJobResponse_requestedBy,+    describeSigningJobResponse_revocationRecord,+    describeSigningJobResponse_signatureExpiresAt,+    describeSigningJobResponse_signedObject,+    describeSigningJobResponse_signingMaterial,+    describeSigningJobResponse_signingParameters,+    describeSigningJobResponse_source,+    describeSigningJobResponse_status,+    describeSigningJobResponse_statusReason,+    describeSigningJobResponse_httpStatus,++    -- ** GetSigningPlatform+    getSigningPlatform_platformId,+    getSigningPlatformResponse_category,+    getSigningPlatformResponse_displayName,+    getSigningPlatformResponse_maxSizeInMB,+    getSigningPlatformResponse_partner,+    getSigningPlatformResponse_platformId,+    getSigningPlatformResponse_revocationSupported,+    getSigningPlatformResponse_signingConfiguration,+    getSigningPlatformResponse_signingImageFormat,+    getSigningPlatformResponse_target,+    getSigningPlatformResponse_httpStatus,++    -- ** GetSigningProfile+    getSigningProfile_profileOwner,+    getSigningProfile_profileName,+    getSigningProfileResponse_arn,+    getSigningProfileResponse_overrides,+    getSigningProfileResponse_platformDisplayName,+    getSigningProfileResponse_platformId,+    getSigningProfileResponse_profileName,+    getSigningProfileResponse_profileVersion,+    getSigningProfileResponse_profileVersionArn,+    getSigningProfileResponse_revocationRecord,+    getSigningProfileResponse_signatureValidityPeriod,+    getSigningProfileResponse_signingMaterial,+    getSigningProfileResponse_signingParameters,+    getSigningProfileResponse_status,+    getSigningProfileResponse_statusReason,+    getSigningProfileResponse_tags,+    getSigningProfileResponse_httpStatus,++    -- ** ListProfilePermissions+    listProfilePermissions_nextToken,+    listProfilePermissions_profileName,+    listProfilePermissionsResponse_nextToken,+    listProfilePermissionsResponse_permissions,+    listProfilePermissionsResponse_policySizeBytes,+    listProfilePermissionsResponse_revisionId,+    listProfilePermissionsResponse_httpStatus,++    -- ** ListSigningJobs+    listSigningJobs_isRevoked,+    listSigningJobs_jobInvoker,+    listSigningJobs_maxResults,+    listSigningJobs_nextToken,+    listSigningJobs_platformId,+    listSigningJobs_requestedBy,+    listSigningJobs_signatureExpiresAfter,+    listSigningJobs_signatureExpiresBefore,+    listSigningJobs_status,+    listSigningJobsResponse_jobs,+    listSigningJobsResponse_nextToken,+    listSigningJobsResponse_httpStatus,++    -- ** ListSigningPlatforms+    listSigningPlatforms_category,+    listSigningPlatforms_maxResults,+    listSigningPlatforms_nextToken,+    listSigningPlatforms_partner,+    listSigningPlatforms_target,+    listSigningPlatformsResponse_nextToken,+    listSigningPlatformsResponse_platforms,+    listSigningPlatformsResponse_httpStatus,++    -- ** ListSigningProfiles+    listSigningProfiles_includeCanceled,+    listSigningProfiles_maxResults,+    listSigningProfiles_nextToken,+    listSigningProfiles_platformId,+    listSigningProfiles_statuses,+    listSigningProfilesResponse_nextToken,+    listSigningProfilesResponse_profiles,+    listSigningProfilesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PutSigningProfile+    putSigningProfile_overrides,+    putSigningProfile_signatureValidityPeriod,+    putSigningProfile_signingMaterial,+    putSigningProfile_signingParameters,+    putSigningProfile_tags,+    putSigningProfile_profileName,+    putSigningProfile_platformId,+    putSigningProfileResponse_arn,+    putSigningProfileResponse_profileVersion,+    putSigningProfileResponse_profileVersionArn,+    putSigningProfileResponse_httpStatus,++    -- ** RemoveProfilePermission+    removeProfilePermission_revisionId,+    removeProfilePermission_profileName,+    removeProfilePermission_statementId,+    removeProfilePermissionResponse_revisionId,+    removeProfilePermissionResponse_httpStatus,++    -- ** RevokeSignature+    revokeSignature_jobOwner,+    revokeSignature_reason,+    revokeSignature_jobId,++    -- ** RevokeSigningProfile+    revokeSigningProfile_profileVersion,+    revokeSigningProfile_reason,+    revokeSigningProfile_effectiveTime,+    revokeSigningProfile_profileName,++    -- ** StartSigningJob+    startSigningJob_profileOwner,+    startSigningJob_source,+    startSigningJob_destination,+    startSigningJob_profileName,+    startSigningJob_clientRequestToken,+    startSigningJobResponse_jobId,+    startSigningJobResponse_jobOwner,+    startSigningJobResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** Destination+    destination_s3,++    -- ** EncryptionAlgorithmOptions+    encryptionAlgorithmOptions_allowedValues,+    encryptionAlgorithmOptions_defaultValue,++    -- ** HashAlgorithmOptions+    hashAlgorithmOptions_allowedValues,+    hashAlgorithmOptions_defaultValue,++    -- ** Permission+    permission_action,+    permission_principal,+    permission_profileVersion,+    permission_statementId,++    -- ** S3Destination+    s3Destination_bucketName,+    s3Destination_prefix,++    -- ** S3SignedObject+    s3SignedObject_bucketName,+    s3SignedObject_key,++    -- ** S3Source+    s3Source_bucketName,+    s3Source_key,+    s3Source_version,++    -- ** SignatureValidityPeriod+    signatureValidityPeriod_type,+    signatureValidityPeriod_value,++    -- ** SignedObject+    signedObject_s3,++    -- ** SigningConfiguration+    signingConfiguration_encryptionAlgorithmOptions,+    signingConfiguration_hashAlgorithmOptions,++    -- ** SigningConfigurationOverrides+    signingConfigurationOverrides_encryptionAlgorithm,+    signingConfigurationOverrides_hashAlgorithm,++    -- ** SigningImageFormat+    signingImageFormat_supportedFormats,+    signingImageFormat_defaultFormat,++    -- ** SigningJob+    signingJob_createdAt,+    signingJob_isRevoked,+    signingJob_jobId,+    signingJob_jobInvoker,+    signingJob_jobOwner,+    signingJob_platformDisplayName,+    signingJob_platformId,+    signingJob_profileName,+    signingJob_profileVersion,+    signingJob_signatureExpiresAt,+    signingJob_signedObject,+    signingJob_signingMaterial,+    signingJob_source,+    signingJob_status,++    -- ** SigningJobRevocationRecord+    signingJobRevocationRecord_reason,+    signingJobRevocationRecord_revokedAt,+    signingJobRevocationRecord_revokedBy,++    -- ** SigningMaterial+    signingMaterial_certificateArn,++    -- ** SigningPlatform+    signingPlatform_category,+    signingPlatform_displayName,+    signingPlatform_maxSizeInMB,+    signingPlatform_partner,+    signingPlatform_platformId,+    signingPlatform_revocationSupported,+    signingPlatform_signingConfiguration,+    signingPlatform_signingImageFormat,+    signingPlatform_target,++    -- ** SigningPlatformOverrides+    signingPlatformOverrides_signingConfiguration,+    signingPlatformOverrides_signingImageFormat,++    -- ** SigningProfile+    signingProfile_arn,+    signingProfile_platformDisplayName,+    signingProfile_platformId,+    signingProfile_profileName,+    signingProfile_profileVersion,+    signingProfile_profileVersionArn,+    signingProfile_signatureValidityPeriod,+    signingProfile_signingMaterial,+    signingProfile_signingParameters,+    signingProfile_status,+    signingProfile_tags,++    -- ** SigningProfileRevocationRecord+    signingProfileRevocationRecord_revocationEffectiveFrom,+    signingProfileRevocationRecord_revokedAt,+    signingProfileRevocationRecord_revokedBy,++    -- ** Source+    source_s3,+  )+where++import Amazonka.Signer.AddProfilePermission+import Amazonka.Signer.CancelSigningProfile+import Amazonka.Signer.DescribeSigningJob+import Amazonka.Signer.GetSigningPlatform+import Amazonka.Signer.GetSigningProfile+import Amazonka.Signer.ListProfilePermissions+import Amazonka.Signer.ListSigningJobs+import Amazonka.Signer.ListSigningPlatforms+import Amazonka.Signer.ListSigningProfiles+import Amazonka.Signer.ListTagsForResource+import Amazonka.Signer.PutSigningProfile+import Amazonka.Signer.RemoveProfilePermission+import Amazonka.Signer.RevokeSignature+import Amazonka.Signer.RevokeSigningProfile+import Amazonka.Signer.StartSigningJob+import Amazonka.Signer.TagResource+import Amazonka.Signer.Types.Destination+import Amazonka.Signer.Types.EncryptionAlgorithmOptions+import Amazonka.Signer.Types.HashAlgorithmOptions+import Amazonka.Signer.Types.Permission+import Amazonka.Signer.Types.S3Destination+import Amazonka.Signer.Types.S3SignedObject+import Amazonka.Signer.Types.S3Source+import Amazonka.Signer.Types.SignatureValidityPeriod+import Amazonka.Signer.Types.SignedObject+import Amazonka.Signer.Types.SigningConfiguration+import Amazonka.Signer.Types.SigningConfigurationOverrides+import Amazonka.Signer.Types.SigningImageFormat+import Amazonka.Signer.Types.SigningJob+import Amazonka.Signer.Types.SigningJobRevocationRecord+import Amazonka.Signer.Types.SigningMaterial+import Amazonka.Signer.Types.SigningPlatform+import Amazonka.Signer.Types.SigningPlatformOverrides+import Amazonka.Signer.Types.SigningProfile+import Amazonka.Signer.Types.SigningProfileRevocationRecord+import Amazonka.Signer.Types.Source+import Amazonka.Signer.UntagResource
+ gen/Amazonka/Signer/ListProfilePermissions.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.Signer.ListProfilePermissions+-- 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 cross-account permissions associated with a signing profile.+module Amazonka.Signer.ListProfilePermissions+  ( -- * Creating a Request+    ListProfilePermissions (..),+    newListProfilePermissions,++    -- * Request Lenses+    listProfilePermissions_nextToken,+    listProfilePermissions_profileName,++    -- * Destructuring the Response+    ListProfilePermissionsResponse (..),+    newListProfilePermissionsResponse,++    -- * Response Lenses+    listProfilePermissionsResponse_nextToken,+    listProfilePermissionsResponse_permissions,+    listProfilePermissionsResponse_policySizeBytes,+    listProfilePermissionsResponse_revisionId,+    listProfilePermissionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newListProfilePermissions' smart constructor.+data ListProfilePermissions = ListProfilePermissions'+  { -- | String for specifying the next set of paginated results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Name of the signing profile containing the cross-account permissions.+    profileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProfilePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listProfilePermissions_nextToken' - String for specifying the next set of paginated results.+--+-- 'profileName', 'listProfilePermissions_profileName' - Name of the signing profile containing the cross-account permissions.+newListProfilePermissions ::+  -- | 'profileName'+  Prelude.Text ->+  ListProfilePermissions+newListProfilePermissions pProfileName_ =+  ListProfilePermissions'+    { nextToken =+        Prelude.Nothing,+      profileName = pProfileName_+    }++-- | String for specifying the next set of paginated results.+listProfilePermissions_nextToken :: Lens.Lens' ListProfilePermissions (Prelude.Maybe Prelude.Text)+listProfilePermissions_nextToken = Lens.lens (\ListProfilePermissions' {nextToken} -> nextToken) (\s@ListProfilePermissions' {} a -> s {nextToken = a} :: ListProfilePermissions)++-- | Name of the signing profile containing the cross-account permissions.+listProfilePermissions_profileName :: Lens.Lens' ListProfilePermissions Prelude.Text+listProfilePermissions_profileName = Lens.lens (\ListProfilePermissions' {profileName} -> profileName) (\s@ListProfilePermissions' {} a -> s {profileName = a} :: ListProfilePermissions)++instance Core.AWSRequest ListProfilePermissions where+  type+    AWSResponse ListProfilePermissions =+      ListProfilePermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListProfilePermissionsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "permissions" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "policySizeBytes")+            Prelude.<*> (x Data..?> "revisionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListProfilePermissions where+  hashWithSalt _salt ListProfilePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` profileName++instance Prelude.NFData ListProfilePermissions where+  rnf ListProfilePermissions' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf profileName++instance Data.ToHeaders ListProfilePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListProfilePermissions where+  toPath ListProfilePermissions' {..} =+    Prelude.mconcat+      [ "/signing-profiles/",+        Data.toBS profileName,+        "/permissions"+      ]++instance Data.ToQuery ListProfilePermissions where+  toQuery ListProfilePermissions' {..} =+    Prelude.mconcat ["nextToken" Data.=: nextToken]++-- | /See:/ 'newListProfilePermissionsResponse' smart constructor.+data ListProfilePermissionsResponse = ListProfilePermissionsResponse'+  { -- | String for specifying the next set of paginated results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of permissions associated with the Signing Profile.+    permissions :: Prelude.Maybe [Permission],+    -- | Total size of the policy associated with the Signing Profile in bytes.+    policySizeBytes :: Prelude.Maybe Prelude.Int,+    -- | The identifier for the current revision of profile permissions.+    revisionId :: 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 'ListProfilePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listProfilePermissionsResponse_nextToken' - String for specifying the next set of paginated results.+--+-- 'permissions', 'listProfilePermissionsResponse_permissions' - List of permissions associated with the Signing Profile.+--+-- 'policySizeBytes', 'listProfilePermissionsResponse_policySizeBytes' - Total size of the policy associated with the Signing Profile in bytes.+--+-- 'revisionId', 'listProfilePermissionsResponse_revisionId' - The identifier for the current revision of profile permissions.+--+-- 'httpStatus', 'listProfilePermissionsResponse_httpStatus' - The response's http status code.+newListProfilePermissionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListProfilePermissionsResponse+newListProfilePermissionsResponse pHttpStatus_ =+  ListProfilePermissionsResponse'+    { nextToken =+        Prelude.Nothing,+      permissions = Prelude.Nothing,+      policySizeBytes = Prelude.Nothing,+      revisionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | String for specifying the next set of paginated results.+listProfilePermissionsResponse_nextToken :: Lens.Lens' ListProfilePermissionsResponse (Prelude.Maybe Prelude.Text)+listProfilePermissionsResponse_nextToken = Lens.lens (\ListProfilePermissionsResponse' {nextToken} -> nextToken) (\s@ListProfilePermissionsResponse' {} a -> s {nextToken = a} :: ListProfilePermissionsResponse)++-- | List of permissions associated with the Signing Profile.+listProfilePermissionsResponse_permissions :: Lens.Lens' ListProfilePermissionsResponse (Prelude.Maybe [Permission])+listProfilePermissionsResponse_permissions = Lens.lens (\ListProfilePermissionsResponse' {permissions} -> permissions) (\s@ListProfilePermissionsResponse' {} a -> s {permissions = a} :: ListProfilePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Total size of the policy associated with the Signing Profile in bytes.+listProfilePermissionsResponse_policySizeBytes :: Lens.Lens' ListProfilePermissionsResponse (Prelude.Maybe Prelude.Int)+listProfilePermissionsResponse_policySizeBytes = Lens.lens (\ListProfilePermissionsResponse' {policySizeBytes} -> policySizeBytes) (\s@ListProfilePermissionsResponse' {} a -> s {policySizeBytes = a} :: ListProfilePermissionsResponse)++-- | The identifier for the current revision of profile permissions.+listProfilePermissionsResponse_revisionId :: Lens.Lens' ListProfilePermissionsResponse (Prelude.Maybe Prelude.Text)+listProfilePermissionsResponse_revisionId = Lens.lens (\ListProfilePermissionsResponse' {revisionId} -> revisionId) (\s@ListProfilePermissionsResponse' {} a -> s {revisionId = a} :: ListProfilePermissionsResponse)++-- | The response's http status code.+listProfilePermissionsResponse_httpStatus :: Lens.Lens' ListProfilePermissionsResponse Prelude.Int+listProfilePermissionsResponse_httpStatus = Lens.lens (\ListProfilePermissionsResponse' {httpStatus} -> httpStatus) (\s@ListProfilePermissionsResponse' {} a -> s {httpStatus = a} :: ListProfilePermissionsResponse)++instance+  Prelude.NFData+    ListProfilePermissionsResponse+  where+  rnf ListProfilePermissionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf policySizeBytes+      `Prelude.seq` Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/ListSigningJobs.hs view
@@ -0,0 +1,343 @@+{-# 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.Signer.ListSigningJobs+-- 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 your signing jobs. You can use the @maxResults@ parameter to+-- limit the number of signing jobs that are returned in the response. If+-- additional jobs remain to be listed, code signing returns a @nextToken@+-- value. Use this value in subsequent calls to @ListSigningJobs@ to fetch+-- the remaining values. You can continue calling @ListSigningJobs@ with+-- your @maxResults@ parameter and with new values that code signing+-- returns in the @nextToken@ parameter until all of your signing jobs have+-- been returned.+--+-- This operation returns paginated results.+module Amazonka.Signer.ListSigningJobs+  ( -- * Creating a Request+    ListSigningJobs (..),+    newListSigningJobs,++    -- * Request Lenses+    listSigningJobs_isRevoked,+    listSigningJobs_jobInvoker,+    listSigningJobs_maxResults,+    listSigningJobs_nextToken,+    listSigningJobs_platformId,+    listSigningJobs_requestedBy,+    listSigningJobs_signatureExpiresAfter,+    listSigningJobs_signatureExpiresBefore,+    listSigningJobs_status,++    -- * Destructuring the Response+    ListSigningJobsResponse (..),+    newListSigningJobsResponse,++    -- * Response Lenses+    listSigningJobsResponse_jobs,+    listSigningJobsResponse_nextToken,+    listSigningJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newListSigningJobs' smart constructor.+data ListSigningJobs = ListSigningJobs'+  { -- | Filters results to return only signing jobs with revoked signatures.+    isRevoked :: Prelude.Maybe Prelude.Bool,+    -- | Filters results to return only signing jobs initiated by a specified IAM+    -- entity.+    jobInvoker :: Prelude.Maybe Prelude.Text,+    -- | Specifies the maximum number of items to return in the response. Use+    -- this parameter when paginating results. If additional items exist beyond+    -- the number you specify, the @nextToken@ element is set in the response.+    -- Use the @nextToken@ value in a subsequent request to retrieve additional+    -- items.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | String for specifying the next set of paginated results to return. After+    -- you receive a response with truncated results, use this parameter in a+    -- subsequent request. Set it to the value of @nextToken@ from the response+    -- that you just received.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of microcontroller platform that you specified for the+    -- distribution of your code image.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | The IAM principal that requested the signing job.+    requestedBy :: Prelude.Maybe Prelude.Text,+    -- | Filters results to return only signing jobs with signatures expiring+    -- after a specified timestamp.+    signatureExpiresAfter :: Prelude.Maybe Data.POSIX,+    -- | Filters results to return only signing jobs with signatures expiring+    -- before a specified timestamp.+    signatureExpiresBefore :: Prelude.Maybe Data.POSIX,+    -- | A status value with which to filter your results.+    status :: Prelude.Maybe SigningStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSigningJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isRevoked', 'listSigningJobs_isRevoked' - Filters results to return only signing jobs with revoked signatures.+--+-- 'jobInvoker', 'listSigningJobs_jobInvoker' - Filters results to return only signing jobs initiated by a specified IAM+-- entity.+--+-- 'maxResults', 'listSigningJobs_maxResults' - Specifies the maximum number of items to return in the response. Use+-- this parameter when paginating results. If additional items exist beyond+-- the number you specify, the @nextToken@ element is set in the response.+-- Use the @nextToken@ value in a subsequent request to retrieve additional+-- items.+--+-- 'nextToken', 'listSigningJobs_nextToken' - String for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+--+-- 'platformId', 'listSigningJobs_platformId' - The ID of microcontroller platform that you specified for the+-- distribution of your code image.+--+-- 'requestedBy', 'listSigningJobs_requestedBy' - The IAM principal that requested the signing job.+--+-- 'signatureExpiresAfter', 'listSigningJobs_signatureExpiresAfter' - Filters results to return only signing jobs with signatures expiring+-- after a specified timestamp.+--+-- 'signatureExpiresBefore', 'listSigningJobs_signatureExpiresBefore' - Filters results to return only signing jobs with signatures expiring+-- before a specified timestamp.+--+-- 'status', 'listSigningJobs_status' - A status value with which to filter your results.+newListSigningJobs ::+  ListSigningJobs+newListSigningJobs =+  ListSigningJobs'+    { isRevoked = Prelude.Nothing,+      jobInvoker = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      platformId = Prelude.Nothing,+      requestedBy = Prelude.Nothing,+      signatureExpiresAfter = Prelude.Nothing,+      signatureExpiresBefore = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Filters results to return only signing jobs with revoked signatures.+listSigningJobs_isRevoked :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Bool)+listSigningJobs_isRevoked = Lens.lens (\ListSigningJobs' {isRevoked} -> isRevoked) (\s@ListSigningJobs' {} a -> s {isRevoked = a} :: ListSigningJobs)++-- | Filters results to return only signing jobs initiated by a specified IAM+-- entity.+listSigningJobs_jobInvoker :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Text)+listSigningJobs_jobInvoker = Lens.lens (\ListSigningJobs' {jobInvoker} -> jobInvoker) (\s@ListSigningJobs' {} a -> s {jobInvoker = a} :: ListSigningJobs)++-- | Specifies the maximum number of items to return in the response. Use+-- this parameter when paginating results. If additional items exist beyond+-- the number you specify, the @nextToken@ element is set in the response.+-- Use the @nextToken@ value in a subsequent request to retrieve additional+-- items.+listSigningJobs_maxResults :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Natural)+listSigningJobs_maxResults = Lens.lens (\ListSigningJobs' {maxResults} -> maxResults) (\s@ListSigningJobs' {} a -> s {maxResults = a} :: ListSigningJobs)++-- | String for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+listSigningJobs_nextToken :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Text)+listSigningJobs_nextToken = Lens.lens (\ListSigningJobs' {nextToken} -> nextToken) (\s@ListSigningJobs' {} a -> s {nextToken = a} :: ListSigningJobs)++-- | The ID of microcontroller platform that you specified for the+-- distribution of your code image.+listSigningJobs_platformId :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Text)+listSigningJobs_platformId = Lens.lens (\ListSigningJobs' {platformId} -> platformId) (\s@ListSigningJobs' {} a -> s {platformId = a} :: ListSigningJobs)++-- | The IAM principal that requested the signing job.+listSigningJobs_requestedBy :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.Text)+listSigningJobs_requestedBy = Lens.lens (\ListSigningJobs' {requestedBy} -> requestedBy) (\s@ListSigningJobs' {} a -> s {requestedBy = a} :: ListSigningJobs)++-- | Filters results to return only signing jobs with signatures expiring+-- after a specified timestamp.+listSigningJobs_signatureExpiresAfter :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.UTCTime)+listSigningJobs_signatureExpiresAfter = Lens.lens (\ListSigningJobs' {signatureExpiresAfter} -> signatureExpiresAfter) (\s@ListSigningJobs' {} a -> s {signatureExpiresAfter = a} :: ListSigningJobs) Prelude.. Lens.mapping Data._Time++-- | Filters results to return only signing jobs with signatures expiring+-- before a specified timestamp.+listSigningJobs_signatureExpiresBefore :: Lens.Lens' ListSigningJobs (Prelude.Maybe Prelude.UTCTime)+listSigningJobs_signatureExpiresBefore = Lens.lens (\ListSigningJobs' {signatureExpiresBefore} -> signatureExpiresBefore) (\s@ListSigningJobs' {} a -> s {signatureExpiresBefore = a} :: ListSigningJobs) Prelude.. Lens.mapping Data._Time++-- | A status value with which to filter your results.+listSigningJobs_status :: Lens.Lens' ListSigningJobs (Prelude.Maybe SigningStatus)+listSigningJobs_status = Lens.lens (\ListSigningJobs' {status} -> status) (\s@ListSigningJobs' {} a -> s {status = a} :: ListSigningJobs)++instance Core.AWSPager ListSigningJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listSigningJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listSigningJobsResponse_jobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listSigningJobs_nextToken+          Lens..~ rs+          Lens.^? listSigningJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListSigningJobs where+  type+    AWSResponse ListSigningJobs =+      ListSigningJobsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSigningJobsResponse'+            Prelude.<$> (x Data..?> "jobs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSigningJobs where+  hashWithSalt _salt ListSigningJobs' {..} =+    _salt+      `Prelude.hashWithSalt` isRevoked+      `Prelude.hashWithSalt` jobInvoker+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` platformId+      `Prelude.hashWithSalt` requestedBy+      `Prelude.hashWithSalt` signatureExpiresAfter+      `Prelude.hashWithSalt` signatureExpiresBefore+      `Prelude.hashWithSalt` status++instance Prelude.NFData ListSigningJobs where+  rnf ListSigningJobs' {..} =+    Prelude.rnf isRevoked+      `Prelude.seq` Prelude.rnf jobInvoker+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf requestedBy+      `Prelude.seq` Prelude.rnf signatureExpiresAfter+      `Prelude.seq` Prelude.rnf signatureExpiresBefore+      `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListSigningJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSigningJobs where+  toPath = Prelude.const "/signing-jobs"++instance Data.ToQuery ListSigningJobs where+  toQuery ListSigningJobs' {..} =+    Prelude.mconcat+      [ "isRevoked" Data.=: isRevoked,+        "jobInvoker" Data.=: jobInvoker,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "platformId" Data.=: platformId,+        "requestedBy" Data.=: requestedBy,+        "signatureExpiresAfter"+          Data.=: signatureExpiresAfter,+        "signatureExpiresBefore"+          Data.=: signatureExpiresBefore,+        "status" Data.=: status+      ]++-- | /See:/ 'newListSigningJobsResponse' smart constructor.+data ListSigningJobsResponse = ListSigningJobsResponse'+  { -- | A list of your signing jobs.+    jobs :: Prelude.Maybe [SigningJob],+    -- | String for specifying the next set of paginated 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 'ListSigningJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobs', 'listSigningJobsResponse_jobs' - A list of your signing jobs.+--+-- 'nextToken', 'listSigningJobsResponse_nextToken' - String for specifying the next set of paginated results.+--+-- 'httpStatus', 'listSigningJobsResponse_httpStatus' - The response's http status code.+newListSigningJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSigningJobsResponse+newListSigningJobsResponse pHttpStatus_ =+  ListSigningJobsResponse'+    { jobs = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of your signing jobs.+listSigningJobsResponse_jobs :: Lens.Lens' ListSigningJobsResponse (Prelude.Maybe [SigningJob])+listSigningJobsResponse_jobs = Lens.lens (\ListSigningJobsResponse' {jobs} -> jobs) (\s@ListSigningJobsResponse' {} a -> s {jobs = a} :: ListSigningJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | String for specifying the next set of paginated results.+listSigningJobsResponse_nextToken :: Lens.Lens' ListSigningJobsResponse (Prelude.Maybe Prelude.Text)+listSigningJobsResponse_nextToken = Lens.lens (\ListSigningJobsResponse' {nextToken} -> nextToken) (\s@ListSigningJobsResponse' {} a -> s {nextToken = a} :: ListSigningJobsResponse)++-- | The response's http status code.+listSigningJobsResponse_httpStatus :: Lens.Lens' ListSigningJobsResponse Prelude.Int+listSigningJobsResponse_httpStatus = Lens.lens (\ListSigningJobsResponse' {httpStatus} -> httpStatus) (\s@ListSigningJobsResponse' {} a -> s {httpStatus = a} :: ListSigningJobsResponse)++instance Prelude.NFData ListSigningJobsResponse where+  rnf ListSigningJobsResponse' {..} =+    Prelude.rnf jobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/ListSigningPlatforms.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.Signer.ListSigningPlatforms+-- 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 signing platforms available in code signing that match the+-- request parameters. If additional jobs remain to be listed, code signing+-- returns a @nextToken@ value. Use this value in subsequent calls to+-- @ListSigningJobs@ to fetch the remaining values. You can continue+-- calling @ListSigningJobs@ with your @maxResults@ parameter and with new+-- values that code signing returns in the @nextToken@ parameter until all+-- of your signing jobs have been returned.+--+-- This operation returns paginated results.+module Amazonka.Signer.ListSigningPlatforms+  ( -- * Creating a Request+    ListSigningPlatforms (..),+    newListSigningPlatforms,++    -- * Request Lenses+    listSigningPlatforms_category,+    listSigningPlatforms_maxResults,+    listSigningPlatforms_nextToken,+    listSigningPlatforms_partner,+    listSigningPlatforms_target,++    -- * Destructuring the Response+    ListSigningPlatformsResponse (..),+    newListSigningPlatformsResponse,++    -- * Response Lenses+    listSigningPlatformsResponse_nextToken,+    listSigningPlatformsResponse_platforms,+    listSigningPlatformsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newListSigningPlatforms' smart constructor.+data ListSigningPlatforms = ListSigningPlatforms'+  { -- | The category type of a signing platform.+    category :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to be returned by this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Value for specifying the next set of paginated results to return. After+    -- you receive a response with truncated results, use this parameter in a+    -- subsequent request. Set it to the value of @nextToken@ from the response+    -- that you just received.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Any partner entities connected to a signing platform.+    partner :: Prelude.Maybe Prelude.Text,+    -- | The validation template that is used by the target signing platform.+    target :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSigningPlatforms' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'listSigningPlatforms_category' - The category type of a signing platform.+--+-- 'maxResults', 'listSigningPlatforms_maxResults' - The maximum number of results to be returned by this operation.+--+-- 'nextToken', 'listSigningPlatforms_nextToken' - Value for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+--+-- 'partner', 'listSigningPlatforms_partner' - Any partner entities connected to a signing platform.+--+-- 'target', 'listSigningPlatforms_target' - The validation template that is used by the target signing platform.+newListSigningPlatforms ::+  ListSigningPlatforms+newListSigningPlatforms =+  ListSigningPlatforms'+    { category = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      partner = Prelude.Nothing,+      target = Prelude.Nothing+    }++-- | The category type of a signing platform.+listSigningPlatforms_category :: Lens.Lens' ListSigningPlatforms (Prelude.Maybe Prelude.Text)+listSigningPlatforms_category = Lens.lens (\ListSigningPlatforms' {category} -> category) (\s@ListSigningPlatforms' {} a -> s {category = a} :: ListSigningPlatforms)++-- | The maximum number of results to be returned by this operation.+listSigningPlatforms_maxResults :: Lens.Lens' ListSigningPlatforms (Prelude.Maybe Prelude.Natural)+listSigningPlatforms_maxResults = Lens.lens (\ListSigningPlatforms' {maxResults} -> maxResults) (\s@ListSigningPlatforms' {} a -> s {maxResults = a} :: ListSigningPlatforms)++-- | Value for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+listSigningPlatforms_nextToken :: Lens.Lens' ListSigningPlatforms (Prelude.Maybe Prelude.Text)+listSigningPlatforms_nextToken = Lens.lens (\ListSigningPlatforms' {nextToken} -> nextToken) (\s@ListSigningPlatforms' {} a -> s {nextToken = a} :: ListSigningPlatforms)++-- | Any partner entities connected to a signing platform.+listSigningPlatforms_partner :: Lens.Lens' ListSigningPlatforms (Prelude.Maybe Prelude.Text)+listSigningPlatforms_partner = Lens.lens (\ListSigningPlatforms' {partner} -> partner) (\s@ListSigningPlatforms' {} a -> s {partner = a} :: ListSigningPlatforms)++-- | The validation template that is used by the target signing platform.+listSigningPlatforms_target :: Lens.Lens' ListSigningPlatforms (Prelude.Maybe Prelude.Text)+listSigningPlatforms_target = Lens.lens (\ListSigningPlatforms' {target} -> target) (\s@ListSigningPlatforms' {} a -> s {target = a} :: ListSigningPlatforms)++instance Core.AWSPager ListSigningPlatforms where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listSigningPlatformsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listSigningPlatformsResponse_platforms+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listSigningPlatforms_nextToken+          Lens..~ rs+          Lens.^? listSigningPlatformsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListSigningPlatforms where+  type+    AWSResponse ListSigningPlatforms =+      ListSigningPlatformsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSigningPlatformsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "platforms" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSigningPlatforms where+  hashWithSalt _salt ListSigningPlatforms' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` partner+      `Prelude.hashWithSalt` target++instance Prelude.NFData ListSigningPlatforms where+  rnf ListSigningPlatforms' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf partner+      `Prelude.seq` Prelude.rnf target++instance Data.ToHeaders ListSigningPlatforms where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSigningPlatforms where+  toPath = Prelude.const "/signing-platforms"++instance Data.ToQuery ListSigningPlatforms where+  toQuery ListSigningPlatforms' {..} =+    Prelude.mconcat+      [ "category" Data.=: category,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "partner" Data.=: partner,+        "target" Data.=: target+      ]++-- | /See:/ 'newListSigningPlatformsResponse' smart constructor.+data ListSigningPlatformsResponse = ListSigningPlatformsResponse'+  { -- | Value for specifying the next set of paginated results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of all platforms that match the request parameters.+    platforms :: Prelude.Maybe [SigningPlatform],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSigningPlatformsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSigningPlatformsResponse_nextToken' - Value for specifying the next set of paginated results to return.+--+-- 'platforms', 'listSigningPlatformsResponse_platforms' - A list of all platforms that match the request parameters.+--+-- 'httpStatus', 'listSigningPlatformsResponse_httpStatus' - The response's http status code.+newListSigningPlatformsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSigningPlatformsResponse+newListSigningPlatformsResponse pHttpStatus_ =+  ListSigningPlatformsResponse'+    { nextToken =+        Prelude.Nothing,+      platforms = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Value for specifying the next set of paginated results to return.+listSigningPlatformsResponse_nextToken :: Lens.Lens' ListSigningPlatformsResponse (Prelude.Maybe Prelude.Text)+listSigningPlatformsResponse_nextToken = Lens.lens (\ListSigningPlatformsResponse' {nextToken} -> nextToken) (\s@ListSigningPlatformsResponse' {} a -> s {nextToken = a} :: ListSigningPlatformsResponse)++-- | A list of all platforms that match the request parameters.+listSigningPlatformsResponse_platforms :: Lens.Lens' ListSigningPlatformsResponse (Prelude.Maybe [SigningPlatform])+listSigningPlatformsResponse_platforms = Lens.lens (\ListSigningPlatformsResponse' {platforms} -> platforms) (\s@ListSigningPlatformsResponse' {} a -> s {platforms = a} :: ListSigningPlatformsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSigningPlatformsResponse_httpStatus :: Lens.Lens' ListSigningPlatformsResponse Prelude.Int+listSigningPlatformsResponse_httpStatus = Lens.lens (\ListSigningPlatformsResponse' {httpStatus} -> httpStatus) (\s@ListSigningPlatformsResponse' {} a -> s {httpStatus = a} :: ListSigningPlatformsResponse)++instance Prelude.NFData ListSigningPlatformsResponse where+  rnf ListSigningPlatformsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf platforms+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/ListSigningProfiles.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.Signer.ListSigningProfiles+-- 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 available signing profiles in your AWS account. Returns only+-- profiles with an @ACTIVE@ status unless the @includeCanceled@ request+-- field is set to @true@. If additional jobs remain to be listed, code+-- signing returns a @nextToken@ value. Use this value in subsequent calls+-- to @ListSigningJobs@ to fetch the remaining values. You can continue+-- calling @ListSigningJobs@ with your @maxResults@ parameter and with new+-- values that code signing returns in the @nextToken@ parameter until all+-- of your signing jobs have been returned.+--+-- This operation returns paginated results.+module Amazonka.Signer.ListSigningProfiles+  ( -- * Creating a Request+    ListSigningProfiles (..),+    newListSigningProfiles,++    -- * Request Lenses+    listSigningProfiles_includeCanceled,+    listSigningProfiles_maxResults,+    listSigningProfiles_nextToken,+    listSigningProfiles_platformId,+    listSigningProfiles_statuses,++    -- * Destructuring the Response+    ListSigningProfilesResponse (..),+    newListSigningProfilesResponse,++    -- * Response Lenses+    listSigningProfilesResponse_nextToken,+    listSigningProfilesResponse_profiles,+    listSigningProfilesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newListSigningProfiles' smart constructor.+data ListSigningProfiles = ListSigningProfiles'+  { -- | Designates whether to include profiles with the status of @CANCELED@.+    includeCanceled :: Prelude.Maybe Prelude.Bool,+    -- | The maximum number of profiles to be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Value for specifying the next set of paginated results to return. After+    -- you receive a response with truncated results, use this parameter in a+    -- subsequent request. Set it to the value of @nextToken@ from the response+    -- that you just received.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Filters results to return only signing jobs initiated for a specified+    -- signing platform.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | Filters results to return only signing jobs with statuses in the+    -- specified list.+    statuses :: Prelude.Maybe [SigningProfileStatus]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSigningProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'includeCanceled', 'listSigningProfiles_includeCanceled' - Designates whether to include profiles with the status of @CANCELED@.+--+-- 'maxResults', 'listSigningProfiles_maxResults' - The maximum number of profiles to be returned.+--+-- 'nextToken', 'listSigningProfiles_nextToken' - Value for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+--+-- 'platformId', 'listSigningProfiles_platformId' - Filters results to return only signing jobs initiated for a specified+-- signing platform.+--+-- 'statuses', 'listSigningProfiles_statuses' - Filters results to return only signing jobs with statuses in the+-- specified list.+newListSigningProfiles ::+  ListSigningProfiles+newListSigningProfiles =+  ListSigningProfiles'+    { includeCanceled =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      platformId = Prelude.Nothing,+      statuses = Prelude.Nothing+    }++-- | Designates whether to include profiles with the status of @CANCELED@.+listSigningProfiles_includeCanceled :: Lens.Lens' ListSigningProfiles (Prelude.Maybe Prelude.Bool)+listSigningProfiles_includeCanceled = Lens.lens (\ListSigningProfiles' {includeCanceled} -> includeCanceled) (\s@ListSigningProfiles' {} a -> s {includeCanceled = a} :: ListSigningProfiles)++-- | The maximum number of profiles to be returned.+listSigningProfiles_maxResults :: Lens.Lens' ListSigningProfiles (Prelude.Maybe Prelude.Natural)+listSigningProfiles_maxResults = Lens.lens (\ListSigningProfiles' {maxResults} -> maxResults) (\s@ListSigningProfiles' {} a -> s {maxResults = a} :: ListSigningProfiles)++-- | Value for specifying the next set of paginated results to return. After+-- you receive a response with truncated results, use this parameter in a+-- subsequent request. Set it to the value of @nextToken@ from the response+-- that you just received.+listSigningProfiles_nextToken :: Lens.Lens' ListSigningProfiles (Prelude.Maybe Prelude.Text)+listSigningProfiles_nextToken = Lens.lens (\ListSigningProfiles' {nextToken} -> nextToken) (\s@ListSigningProfiles' {} a -> s {nextToken = a} :: ListSigningProfiles)++-- | Filters results to return only signing jobs initiated for a specified+-- signing platform.+listSigningProfiles_platformId :: Lens.Lens' ListSigningProfiles (Prelude.Maybe Prelude.Text)+listSigningProfiles_platformId = Lens.lens (\ListSigningProfiles' {platformId} -> platformId) (\s@ListSigningProfiles' {} a -> s {platformId = a} :: ListSigningProfiles)++-- | Filters results to return only signing jobs with statuses in the+-- specified list.+listSigningProfiles_statuses :: Lens.Lens' ListSigningProfiles (Prelude.Maybe [SigningProfileStatus])+listSigningProfiles_statuses = Lens.lens (\ListSigningProfiles' {statuses} -> statuses) (\s@ListSigningProfiles' {} a -> s {statuses = a} :: ListSigningProfiles) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager ListSigningProfiles where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listSigningProfilesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listSigningProfilesResponse_profiles+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listSigningProfiles_nextToken+          Lens..~ rs+          Lens.^? listSigningProfilesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListSigningProfiles where+  type+    AWSResponse ListSigningProfiles =+      ListSigningProfilesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSigningProfilesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "profiles" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSigningProfiles where+  hashWithSalt _salt ListSigningProfiles' {..} =+    _salt+      `Prelude.hashWithSalt` includeCanceled+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` platformId+      `Prelude.hashWithSalt` statuses++instance Prelude.NFData ListSigningProfiles where+  rnf ListSigningProfiles' {..} =+    Prelude.rnf includeCanceled+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf statuses++instance Data.ToHeaders ListSigningProfiles where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSigningProfiles where+  toPath = Prelude.const "/signing-profiles"++instance Data.ToQuery ListSigningProfiles where+  toQuery ListSigningProfiles' {..} =+    Prelude.mconcat+      [ "includeCanceled" Data.=: includeCanceled,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "platformId" Data.=: platformId,+        "statuses"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> statuses)+      ]++-- | /See:/ 'newListSigningProfilesResponse' smart constructor.+data ListSigningProfilesResponse = ListSigningProfilesResponse'+  { -- | Value for specifying the next set of paginated results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of profiles that are available in the AWS account. This includes+    -- profiles with the status of @CANCELED@ if the @includeCanceled@+    -- parameter is set to @true@.+    profiles :: Prelude.Maybe [SigningProfile],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSigningProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSigningProfilesResponse_nextToken' - Value for specifying the next set of paginated results to return.+--+-- 'profiles', 'listSigningProfilesResponse_profiles' - A list of profiles that are available in the AWS account. This includes+-- profiles with the status of @CANCELED@ if the @includeCanceled@+-- parameter is set to @true@.+--+-- 'httpStatus', 'listSigningProfilesResponse_httpStatus' - The response's http status code.+newListSigningProfilesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSigningProfilesResponse+newListSigningProfilesResponse pHttpStatus_ =+  ListSigningProfilesResponse'+    { nextToken =+        Prelude.Nothing,+      profiles = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Value for specifying the next set of paginated results to return.+listSigningProfilesResponse_nextToken :: Lens.Lens' ListSigningProfilesResponse (Prelude.Maybe Prelude.Text)+listSigningProfilesResponse_nextToken = Lens.lens (\ListSigningProfilesResponse' {nextToken} -> nextToken) (\s@ListSigningProfilesResponse' {} a -> s {nextToken = a} :: ListSigningProfilesResponse)++-- | A list of profiles that are available in the AWS account. This includes+-- profiles with the status of @CANCELED@ if the @includeCanceled@+-- parameter is set to @true@.+listSigningProfilesResponse_profiles :: Lens.Lens' ListSigningProfilesResponse (Prelude.Maybe [SigningProfile])+listSigningProfilesResponse_profiles = Lens.lens (\ListSigningProfilesResponse' {profiles} -> profiles) (\s@ListSigningProfilesResponse' {} a -> s {profiles = a} :: ListSigningProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSigningProfilesResponse_httpStatus :: Lens.Lens' ListSigningProfilesResponse Prelude.Int+listSigningProfilesResponse_httpStatus = Lens.lens (\ListSigningProfilesResponse' {httpStatus} -> httpStatus) (\s@ListSigningProfilesResponse' {} a -> s {httpStatus = a} :: ListSigningProfilesResponse)++instance Prelude.NFData ListSigningProfilesResponse where+  rnf ListSigningProfilesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf profiles+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.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)+--+-- Returns a list of the tags associated with a signing profile resource.+module Amazonka.Signer.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) for the signing profile.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) for the signing profile.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) for the signing profile.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | A list of tags associated with the signing profile.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tags associated with the signing profile.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of tags associated with the signing profile.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/PutSigningProfile.hs view
@@ -0,0 +1,294 @@+{-# 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.Signer.PutSigningProfile+-- 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 signing profile. A signing profile is a code signing template+-- that can be used to carry out a pre-defined signing job. For more+-- information, see+-- <http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html>+module Amazonka.Signer.PutSigningProfile+  ( -- * Creating a Request+    PutSigningProfile (..),+    newPutSigningProfile,++    -- * Request Lenses+    putSigningProfile_overrides,+    putSigningProfile_signatureValidityPeriod,+    putSigningProfile_signingMaterial,+    putSigningProfile_signingParameters,+    putSigningProfile_tags,+    putSigningProfile_profileName,+    putSigningProfile_platformId,++    -- * Destructuring the Response+    PutSigningProfileResponse (..),+    newPutSigningProfileResponse,++    -- * Response Lenses+    putSigningProfileResponse_arn,+    putSigningProfileResponse_profileVersion,+    putSigningProfileResponse_profileVersionArn,+    putSigningProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newPutSigningProfile' smart constructor.+data PutSigningProfile = PutSigningProfile'+  { -- | A subfield of @platform@. This specifies any different configuration+    -- options that you want to apply to the chosen platform (such as a+    -- different @hash-algorithm@ or @signing-algorithm@).+    overrides :: Prelude.Maybe SigningPlatformOverrides,+    -- | The default validity period override for any signature generated using+    -- this signing profile. If unspecified, the default is 135 months.+    signatureValidityPeriod :: Prelude.Maybe SignatureValidityPeriod,+    -- | The AWS Certificate Manager certificate that will be used to sign code+    -- with the new signing profile.+    signingMaterial :: Prelude.Maybe SigningMaterial,+    -- | Map of key-value pairs for signing. These can include any information+    -- that you want to use during signing.+    signingParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | Tags to be associated with the signing profile that is being created.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the signing profile to be created.+    profileName :: Prelude.Text,+    -- | The ID of the signing platform to be created.+    platformId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutSigningProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'overrides', 'putSigningProfile_overrides' - A subfield of @platform@. This specifies any different configuration+-- options that you want to apply to the chosen platform (such as a+-- different @hash-algorithm@ or @signing-algorithm@).+--+-- 'signatureValidityPeriod', 'putSigningProfile_signatureValidityPeriod' - The default validity period override for any signature generated using+-- this signing profile. If unspecified, the default is 135 months.+--+-- 'signingMaterial', 'putSigningProfile_signingMaterial' - The AWS Certificate Manager certificate that will be used to sign code+-- with the new signing profile.+--+-- 'signingParameters', 'putSigningProfile_signingParameters' - Map of key-value pairs for signing. These can include any information+-- that you want to use during signing.+--+-- 'tags', 'putSigningProfile_tags' - Tags to be associated with the signing profile that is being created.+--+-- 'profileName', 'putSigningProfile_profileName' - The name of the signing profile to be created.+--+-- 'platformId', 'putSigningProfile_platformId' - The ID of the signing platform to be created.+newPutSigningProfile ::+  -- | 'profileName'+  Prelude.Text ->+  -- | 'platformId'+  Prelude.Text ->+  PutSigningProfile+newPutSigningProfile pProfileName_ pPlatformId_ =+  PutSigningProfile'+    { overrides = Prelude.Nothing,+      signatureValidityPeriod = Prelude.Nothing,+      signingMaterial = Prelude.Nothing,+      signingParameters = Prelude.Nothing,+      tags = Prelude.Nothing,+      profileName = pProfileName_,+      platformId = pPlatformId_+    }++-- | A subfield of @platform@. This specifies any different configuration+-- options that you want to apply to the chosen platform (such as a+-- different @hash-algorithm@ or @signing-algorithm@).+putSigningProfile_overrides :: Lens.Lens' PutSigningProfile (Prelude.Maybe SigningPlatformOverrides)+putSigningProfile_overrides = Lens.lens (\PutSigningProfile' {overrides} -> overrides) (\s@PutSigningProfile' {} a -> s {overrides = a} :: PutSigningProfile)++-- | The default validity period override for any signature generated using+-- this signing profile. If unspecified, the default is 135 months.+putSigningProfile_signatureValidityPeriod :: Lens.Lens' PutSigningProfile (Prelude.Maybe SignatureValidityPeriod)+putSigningProfile_signatureValidityPeriod = Lens.lens (\PutSigningProfile' {signatureValidityPeriod} -> signatureValidityPeriod) (\s@PutSigningProfile' {} a -> s {signatureValidityPeriod = a} :: PutSigningProfile)++-- | The AWS Certificate Manager certificate that will be used to sign code+-- with the new signing profile.+putSigningProfile_signingMaterial :: Lens.Lens' PutSigningProfile (Prelude.Maybe SigningMaterial)+putSigningProfile_signingMaterial = Lens.lens (\PutSigningProfile' {signingMaterial} -> signingMaterial) (\s@PutSigningProfile' {} a -> s {signingMaterial = a} :: PutSigningProfile)++-- | Map of key-value pairs for signing. These can include any information+-- that you want to use during signing.+putSigningProfile_signingParameters :: Lens.Lens' PutSigningProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putSigningProfile_signingParameters = Lens.lens (\PutSigningProfile' {signingParameters} -> signingParameters) (\s@PutSigningProfile' {} a -> s {signingParameters = a} :: PutSigningProfile) Prelude.. Lens.mapping Lens.coerced++-- | Tags to be associated with the signing profile that is being created.+putSigningProfile_tags :: Lens.Lens' PutSigningProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putSigningProfile_tags = Lens.lens (\PutSigningProfile' {tags} -> tags) (\s@PutSigningProfile' {} a -> s {tags = a} :: PutSigningProfile) Prelude.. Lens.mapping Lens.coerced++-- | The name of the signing profile to be created.+putSigningProfile_profileName :: Lens.Lens' PutSigningProfile Prelude.Text+putSigningProfile_profileName = Lens.lens (\PutSigningProfile' {profileName} -> profileName) (\s@PutSigningProfile' {} a -> s {profileName = a} :: PutSigningProfile)++-- | The ID of the signing platform to be created.+putSigningProfile_platformId :: Lens.Lens' PutSigningProfile Prelude.Text+putSigningProfile_platformId = Lens.lens (\PutSigningProfile' {platformId} -> platformId) (\s@PutSigningProfile' {} a -> s {platformId = a} :: PutSigningProfile)++instance Core.AWSRequest PutSigningProfile where+  type+    AWSResponse PutSigningProfile =+      PutSigningProfileResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutSigningProfileResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "profileVersion")+            Prelude.<*> (x Data..?> "profileVersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutSigningProfile where+  hashWithSalt _salt PutSigningProfile' {..} =+    _salt+      `Prelude.hashWithSalt` overrides+      `Prelude.hashWithSalt` signatureValidityPeriod+      `Prelude.hashWithSalt` signingMaterial+      `Prelude.hashWithSalt` signingParameters+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` profileName+      `Prelude.hashWithSalt` platformId++instance Prelude.NFData PutSigningProfile where+  rnf PutSigningProfile' {..} =+    Prelude.rnf overrides+      `Prelude.seq` Prelude.rnf signatureValidityPeriod+      `Prelude.seq` Prelude.rnf signingMaterial+      `Prelude.seq` Prelude.rnf signingParameters+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf platformId++instance Data.ToHeaders PutSigningProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutSigningProfile where+  toJSON PutSigningProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("overrides" Data..=) Prelude.<$> overrides,+            ("signatureValidityPeriod" Data..=)+              Prelude.<$> signatureValidityPeriod,+            ("signingMaterial" Data..=)+              Prelude.<$> signingMaterial,+            ("signingParameters" Data..=)+              Prelude.<$> signingParameters,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("platformId" Data..= platformId)+          ]+      )++instance Data.ToPath PutSigningProfile where+  toPath PutSigningProfile' {..} =+    Prelude.mconcat+      ["/signing-profiles/", Data.toBS profileName]++instance Data.ToQuery PutSigningProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutSigningProfileResponse' smart constructor.+data PutSigningProfileResponse = PutSigningProfileResponse'+  { -- | The Amazon Resource Name (ARN) of the signing profile created.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The version of the signing profile being created.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | The signing profile ARN, including the profile version.+    profileVersionArn :: 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 'PutSigningProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'putSigningProfileResponse_arn' - The Amazon Resource Name (ARN) of the signing profile created.+--+-- 'profileVersion', 'putSigningProfileResponse_profileVersion' - The version of the signing profile being created.+--+-- 'profileVersionArn', 'putSigningProfileResponse_profileVersionArn' - The signing profile ARN, including the profile version.+--+-- 'httpStatus', 'putSigningProfileResponse_httpStatus' - The response's http status code.+newPutSigningProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutSigningProfileResponse+newPutSigningProfileResponse pHttpStatus_ =+  PutSigningProfileResponse'+    { arn = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      profileVersionArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the signing profile created.+putSigningProfileResponse_arn :: Lens.Lens' PutSigningProfileResponse (Prelude.Maybe Prelude.Text)+putSigningProfileResponse_arn = Lens.lens (\PutSigningProfileResponse' {arn} -> arn) (\s@PutSigningProfileResponse' {} a -> s {arn = a} :: PutSigningProfileResponse)++-- | The version of the signing profile being created.+putSigningProfileResponse_profileVersion :: Lens.Lens' PutSigningProfileResponse (Prelude.Maybe Prelude.Text)+putSigningProfileResponse_profileVersion = Lens.lens (\PutSigningProfileResponse' {profileVersion} -> profileVersion) (\s@PutSigningProfileResponse' {} a -> s {profileVersion = a} :: PutSigningProfileResponse)++-- | The signing profile ARN, including the profile version.+putSigningProfileResponse_profileVersionArn :: Lens.Lens' PutSigningProfileResponse (Prelude.Maybe Prelude.Text)+putSigningProfileResponse_profileVersionArn = Lens.lens (\PutSigningProfileResponse' {profileVersionArn} -> profileVersionArn) (\s@PutSigningProfileResponse' {} a -> s {profileVersionArn = a} :: PutSigningProfileResponse)++-- | The response's http status code.+putSigningProfileResponse_httpStatus :: Lens.Lens' PutSigningProfileResponse Prelude.Int+putSigningProfileResponse_httpStatus = Lens.lens (\PutSigningProfileResponse' {httpStatus} -> httpStatus) (\s@PutSigningProfileResponse' {} a -> s {httpStatus = a} :: PutSigningProfileResponse)++instance Prelude.NFData PutSigningProfileResponse where+  rnf PutSigningProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf profileVersionArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/RemoveProfilePermission.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.RemoveProfilePermission+-- 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 cross-account permissions from a signing profile.+module Amazonka.Signer.RemoveProfilePermission+  ( -- * Creating a Request+    RemoveProfilePermission (..),+    newRemoveProfilePermission,++    -- * Request Lenses+    removeProfilePermission_revisionId,+    removeProfilePermission_profileName,+    removeProfilePermission_statementId,++    -- * Destructuring the Response+    RemoveProfilePermissionResponse (..),+    newRemoveProfilePermissionResponse,++    -- * Response Lenses+    removeProfilePermissionResponse_revisionId,+    removeProfilePermissionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newRemoveProfilePermission' smart constructor.+data RemoveProfilePermission = RemoveProfilePermission'+  { -- | An identifier for the current revision of the signing profile+    -- permissions.+    revisionId :: Prelude.Text,+    -- | A human-readable name for the signing profile with permissions to be+    -- removed.+    profileName :: Prelude.Text,+    -- | A unique identifier for the cross-account permissions statement.+    statementId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveProfilePermission' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revisionId', 'removeProfilePermission_revisionId' - An identifier for the current revision of the signing profile+-- permissions.+--+-- 'profileName', 'removeProfilePermission_profileName' - A human-readable name for the signing profile with permissions to be+-- removed.+--+-- 'statementId', 'removeProfilePermission_statementId' - A unique identifier for the cross-account permissions statement.+newRemoveProfilePermission ::+  -- | 'revisionId'+  Prelude.Text ->+  -- | 'profileName'+  Prelude.Text ->+  -- | 'statementId'+  Prelude.Text ->+  RemoveProfilePermission+newRemoveProfilePermission+  pRevisionId_+  pProfileName_+  pStatementId_ =+    RemoveProfilePermission'+      { revisionId = pRevisionId_,+        profileName = pProfileName_,+        statementId = pStatementId_+      }++-- | An identifier for the current revision of the signing profile+-- permissions.+removeProfilePermission_revisionId :: Lens.Lens' RemoveProfilePermission Prelude.Text+removeProfilePermission_revisionId = Lens.lens (\RemoveProfilePermission' {revisionId} -> revisionId) (\s@RemoveProfilePermission' {} a -> s {revisionId = a} :: RemoveProfilePermission)++-- | A human-readable name for the signing profile with permissions to be+-- removed.+removeProfilePermission_profileName :: Lens.Lens' RemoveProfilePermission Prelude.Text+removeProfilePermission_profileName = Lens.lens (\RemoveProfilePermission' {profileName} -> profileName) (\s@RemoveProfilePermission' {} a -> s {profileName = a} :: RemoveProfilePermission)++-- | A unique identifier for the cross-account permissions statement.+removeProfilePermission_statementId :: Lens.Lens' RemoveProfilePermission Prelude.Text+removeProfilePermission_statementId = Lens.lens (\RemoveProfilePermission' {statementId} -> statementId) (\s@RemoveProfilePermission' {} a -> s {statementId = a} :: RemoveProfilePermission)++instance Core.AWSRequest RemoveProfilePermission where+  type+    AWSResponse RemoveProfilePermission =+      RemoveProfilePermissionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RemoveProfilePermissionResponse'+            Prelude.<$> (x Data..?> "revisionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RemoveProfilePermission where+  hashWithSalt _salt RemoveProfilePermission' {..} =+    _salt+      `Prelude.hashWithSalt` revisionId+      `Prelude.hashWithSalt` profileName+      `Prelude.hashWithSalt` statementId++instance Prelude.NFData RemoveProfilePermission where+  rnf RemoveProfilePermission' {..} =+    Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf statementId++instance Data.ToHeaders RemoveProfilePermission where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath RemoveProfilePermission where+  toPath RemoveProfilePermission' {..} =+    Prelude.mconcat+      [ "/signing-profiles/",+        Data.toBS profileName,+        "/permissions/",+        Data.toBS statementId+      ]++instance Data.ToQuery RemoveProfilePermission where+  toQuery RemoveProfilePermission' {..} =+    Prelude.mconcat ["revisionId" Data.=: revisionId]++-- | /See:/ 'newRemoveProfilePermissionResponse' smart constructor.+data RemoveProfilePermissionResponse = RemoveProfilePermissionResponse'+  { -- | An identifier for the current revision of the profile permissions.+    revisionId :: 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 'RemoveProfilePermissionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revisionId', 'removeProfilePermissionResponse_revisionId' - An identifier for the current revision of the profile permissions.+--+-- 'httpStatus', 'removeProfilePermissionResponse_httpStatus' - The response's http status code.+newRemoveProfilePermissionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveProfilePermissionResponse+newRemoveProfilePermissionResponse pHttpStatus_ =+  RemoveProfilePermissionResponse'+    { revisionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An identifier for the current revision of the profile permissions.+removeProfilePermissionResponse_revisionId :: Lens.Lens' RemoveProfilePermissionResponse (Prelude.Maybe Prelude.Text)+removeProfilePermissionResponse_revisionId = Lens.lens (\RemoveProfilePermissionResponse' {revisionId} -> revisionId) (\s@RemoveProfilePermissionResponse' {} a -> s {revisionId = a} :: RemoveProfilePermissionResponse)++-- | The response's http status code.+removeProfilePermissionResponse_httpStatus :: Lens.Lens' RemoveProfilePermissionResponse Prelude.Int+removeProfilePermissionResponse_httpStatus = Lens.lens (\RemoveProfilePermissionResponse' {httpStatus} -> httpStatus) (\s@RemoveProfilePermissionResponse' {} a -> s {httpStatus = a} :: RemoveProfilePermissionResponse)++instance+  Prelude.NFData+    RemoveProfilePermissionResponse+  where+  rnf RemoveProfilePermissionResponse' {..} =+    Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/RevokeSignature.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.RevokeSignature+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes the state of a signing job to REVOKED. This indicates that the+-- signature is no longer valid.+module Amazonka.Signer.RevokeSignature+  ( -- * Creating a Request+    RevokeSignature (..),+    newRevokeSignature,++    -- * Request Lenses+    revokeSignature_jobOwner,+    revokeSignature_reason,+    revokeSignature_jobId,++    -- * Destructuring the Response+    RevokeSignatureResponse (..),+    newRevokeSignatureResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newRevokeSignature' smart constructor.+data RevokeSignature = RevokeSignature'+  { -- | AWS account ID of the job owner.+    jobOwner :: Prelude.Maybe Prelude.Text,+    -- | The reason for revoking the signing job.+    reason :: Prelude.Text,+    -- | ID of the signing job to be revoked.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevokeSignature' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobOwner', 'revokeSignature_jobOwner' - AWS account ID of the job owner.+--+-- 'reason', 'revokeSignature_reason' - The reason for revoking the signing job.+--+-- 'jobId', 'revokeSignature_jobId' - ID of the signing job to be revoked.+newRevokeSignature ::+  -- | 'reason'+  Prelude.Text ->+  -- | 'jobId'+  Prelude.Text ->+  RevokeSignature+newRevokeSignature pReason_ pJobId_ =+  RevokeSignature'+    { jobOwner = Prelude.Nothing,+      reason = pReason_,+      jobId = pJobId_+    }++-- | AWS account ID of the job owner.+revokeSignature_jobOwner :: Lens.Lens' RevokeSignature (Prelude.Maybe Prelude.Text)+revokeSignature_jobOwner = Lens.lens (\RevokeSignature' {jobOwner} -> jobOwner) (\s@RevokeSignature' {} a -> s {jobOwner = a} :: RevokeSignature)++-- | The reason for revoking the signing job.+revokeSignature_reason :: Lens.Lens' RevokeSignature Prelude.Text+revokeSignature_reason = Lens.lens (\RevokeSignature' {reason} -> reason) (\s@RevokeSignature' {} a -> s {reason = a} :: RevokeSignature)++-- | ID of the signing job to be revoked.+revokeSignature_jobId :: Lens.Lens' RevokeSignature Prelude.Text+revokeSignature_jobId = Lens.lens (\RevokeSignature' {jobId} -> jobId) (\s@RevokeSignature' {} a -> s {jobId = a} :: RevokeSignature)++instance Core.AWSRequest RevokeSignature where+  type+    AWSResponse RevokeSignature =+      RevokeSignatureResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull RevokeSignatureResponse'++instance Prelude.Hashable RevokeSignature where+  hashWithSalt _salt RevokeSignature' {..} =+    _salt+      `Prelude.hashWithSalt` jobOwner+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` jobId++instance Prelude.NFData RevokeSignature where+  rnf RevokeSignature' {..} =+    Prelude.rnf jobOwner+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf jobId++instance Data.ToHeaders RevokeSignature where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RevokeSignature where+  toJSON RevokeSignature' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("jobOwner" Data..=) Prelude.<$> jobOwner,+            Prelude.Just ("reason" Data..= reason)+          ]+      )++instance Data.ToPath RevokeSignature where+  toPath RevokeSignature' {..} =+    Prelude.mconcat+      ["/signing-jobs/", Data.toBS jobId, "/revoke"]++instance Data.ToQuery RevokeSignature where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRevokeSignatureResponse' smart constructor.+data RevokeSignatureResponse = RevokeSignatureResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevokeSignatureResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newRevokeSignatureResponse ::+  RevokeSignatureResponse+newRevokeSignatureResponse = RevokeSignatureResponse'++instance Prelude.NFData RevokeSignatureResponse where+  rnf _ = ()
+ gen/Amazonka/Signer/RevokeSigningProfile.hs view
@@ -0,0 +1,198 @@+{-# 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.Signer.RevokeSigningProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes the state of a signing profile to REVOKED. This indicates that+-- signatures generated using the signing profile after an effective start+-- date are no longer valid.+module Amazonka.Signer.RevokeSigningProfile+  ( -- * Creating a Request+    RevokeSigningProfile (..),+    newRevokeSigningProfile,++    -- * Request Lenses+    revokeSigningProfile_profileVersion,+    revokeSigningProfile_reason,+    revokeSigningProfile_effectiveTime,+    revokeSigningProfile_profileName,++    -- * Destructuring the Response+    RevokeSigningProfileResponse (..),+    newRevokeSigningProfileResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newRevokeSigningProfile' smart constructor.+data RevokeSigningProfile = RevokeSigningProfile'+  { -- | The version of the signing profile to be revoked.+    profileVersion :: Prelude.Text,+    -- | The reason for revoking a signing profile.+    reason :: Prelude.Text,+    -- | A timestamp for when revocation of a Signing Profile should become+    -- effective. Signatures generated using the signing profile after this+    -- timestamp are not trusted.+    effectiveTime :: Data.POSIX,+    -- | The name of the signing profile to be revoked.+    profileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevokeSigningProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'profileVersion', 'revokeSigningProfile_profileVersion' - The version of the signing profile to be revoked.+--+-- 'reason', 'revokeSigningProfile_reason' - The reason for revoking a signing profile.+--+-- 'effectiveTime', 'revokeSigningProfile_effectiveTime' - A timestamp for when revocation of a Signing Profile should become+-- effective. Signatures generated using the signing profile after this+-- timestamp are not trusted.+--+-- 'profileName', 'revokeSigningProfile_profileName' - The name of the signing profile to be revoked.+newRevokeSigningProfile ::+  -- | 'profileVersion'+  Prelude.Text ->+  -- | 'reason'+  Prelude.Text ->+  -- | 'effectiveTime'+  Prelude.UTCTime ->+  -- | 'profileName'+  Prelude.Text ->+  RevokeSigningProfile+newRevokeSigningProfile+  pProfileVersion_+  pReason_+  pEffectiveTime_+  pProfileName_ =+    RevokeSigningProfile'+      { profileVersion =+          pProfileVersion_,+        reason = pReason_,+        effectiveTime = Data._Time Lens.# pEffectiveTime_,+        profileName = pProfileName_+      }++-- | The version of the signing profile to be revoked.+revokeSigningProfile_profileVersion :: Lens.Lens' RevokeSigningProfile Prelude.Text+revokeSigningProfile_profileVersion = Lens.lens (\RevokeSigningProfile' {profileVersion} -> profileVersion) (\s@RevokeSigningProfile' {} a -> s {profileVersion = a} :: RevokeSigningProfile)++-- | The reason for revoking a signing profile.+revokeSigningProfile_reason :: Lens.Lens' RevokeSigningProfile Prelude.Text+revokeSigningProfile_reason = Lens.lens (\RevokeSigningProfile' {reason} -> reason) (\s@RevokeSigningProfile' {} a -> s {reason = a} :: RevokeSigningProfile)++-- | A timestamp for when revocation of a Signing Profile should become+-- effective. Signatures generated using the signing profile after this+-- timestamp are not trusted.+revokeSigningProfile_effectiveTime :: Lens.Lens' RevokeSigningProfile Prelude.UTCTime+revokeSigningProfile_effectiveTime = Lens.lens (\RevokeSigningProfile' {effectiveTime} -> effectiveTime) (\s@RevokeSigningProfile' {} a -> s {effectiveTime = a} :: RevokeSigningProfile) Prelude.. Data._Time++-- | The name of the signing profile to be revoked.+revokeSigningProfile_profileName :: Lens.Lens' RevokeSigningProfile Prelude.Text+revokeSigningProfile_profileName = Lens.lens (\RevokeSigningProfile' {profileName} -> profileName) (\s@RevokeSigningProfile' {} a -> s {profileName = a} :: RevokeSigningProfile)++instance Core.AWSRequest RevokeSigningProfile where+  type+    AWSResponse RevokeSigningProfile =+      RevokeSigningProfileResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull RevokeSigningProfileResponse'++instance Prelude.Hashable RevokeSigningProfile where+  hashWithSalt _salt RevokeSigningProfile' {..} =+    _salt+      `Prelude.hashWithSalt` profileVersion+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` effectiveTime+      `Prelude.hashWithSalt` profileName++instance Prelude.NFData RevokeSigningProfile where+  rnf RevokeSigningProfile' {..} =+    Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf effectiveTime+      `Prelude.seq` Prelude.rnf profileName++instance Data.ToHeaders RevokeSigningProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RevokeSigningProfile where+  toJSON RevokeSigningProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("profileVersion" Data..= profileVersion),+            Prelude.Just ("reason" Data..= reason),+            Prelude.Just+              ("effectiveTime" Data..= effectiveTime)+          ]+      )++instance Data.ToPath RevokeSigningProfile where+  toPath RevokeSigningProfile' {..} =+    Prelude.mconcat+      [ "/signing-profiles/",+        Data.toBS profileName,+        "/revoke"+      ]++instance Data.ToQuery RevokeSigningProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRevokeSigningProfileResponse' smart constructor.+data RevokeSigningProfileResponse = RevokeSigningProfileResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevokeSigningProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newRevokeSigningProfileResponse ::+  RevokeSigningProfileResponse+newRevokeSigningProfileResponse =+  RevokeSigningProfileResponse'++instance Prelude.NFData RevokeSigningProfileResponse where+  rnf _ = ()
+ gen/Amazonka/Signer/StartSigningJob.hs view
@@ -0,0 +1,276 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.StartSigningJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initiates a signing job to be performed on the code provided. Signing+-- jobs are viewable by the @ListSigningJobs@ operation for two years after+-- they are performed. Note the following requirements:+--+-- -   You must create an Amazon S3 source bucket. For more information,+--     see+--     <http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html Create a Bucket>+--     in the /Amazon S3 Getting Started Guide/.+--+-- -   Your S3 source bucket must be version enabled.+--+-- -   You must create an S3 destination bucket. Code signing uses your S3+--     destination bucket to write your signed code.+--+-- -   You specify the name of the source and destination buckets when+--     calling the @StartSigningJob@ operation.+--+-- -   You must also specify a request token that identifies your request+--     to code signing.+--+-- You can call the DescribeSigningJob and the ListSigningJobs actions+-- after you call @StartSigningJob@.+--+-- For a Java example that shows how to use this action, see+-- <http://docs.aws.amazon.com/acm/latest/userguide/>+module Amazonka.Signer.StartSigningJob+  ( -- * Creating a Request+    StartSigningJob (..),+    newStartSigningJob,++    -- * Request Lenses+    startSigningJob_profileOwner,+    startSigningJob_source,+    startSigningJob_destination,+    startSigningJob_profileName,+    startSigningJob_clientRequestToken,++    -- * Destructuring the Response+    StartSigningJobResponse (..),+    newStartSigningJobResponse,++    -- * Response Lenses+    startSigningJobResponse_jobId,+    startSigningJobResponse_jobOwner,+    startSigningJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newStartSigningJob' smart constructor.+data StartSigningJob = StartSigningJob'+  { -- | The AWS account ID of the signing profile owner.+    profileOwner :: Prelude.Maybe Prelude.Text,+    -- | The S3 bucket that contains the object to sign or a BLOB that contains+    -- your raw code.+    source :: Source,+    -- | The S3 bucket in which to save your signed object. The destination+    -- contains the name of your bucket and an optional prefix.+    destination :: Destination,+    -- | The name of the signing profile.+    profileName :: Prelude.Text,+    -- | String that identifies the signing request. All calls after the first+    -- that use this token return the same response as the first call.+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSigningJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'profileOwner', 'startSigningJob_profileOwner' - The AWS account ID of the signing profile owner.+--+-- 'source', 'startSigningJob_source' - The S3 bucket that contains the object to sign or a BLOB that contains+-- your raw code.+--+-- 'destination', 'startSigningJob_destination' - The S3 bucket in which to save your signed object. The destination+-- contains the name of your bucket and an optional prefix.+--+-- 'profileName', 'startSigningJob_profileName' - The name of the signing profile.+--+-- 'clientRequestToken', 'startSigningJob_clientRequestToken' - String that identifies the signing request. All calls after the first+-- that use this token return the same response as the first call.+newStartSigningJob ::+  -- | 'source'+  Source ->+  -- | 'destination'+  Destination ->+  -- | 'profileName'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  StartSigningJob+newStartSigningJob+  pSource_+  pDestination_+  pProfileName_+  pClientRequestToken_ =+    StartSigningJob'+      { profileOwner = Prelude.Nothing,+        source = pSource_,+        destination = pDestination_,+        profileName = pProfileName_,+        clientRequestToken = pClientRequestToken_+      }++-- | The AWS account ID of the signing profile owner.+startSigningJob_profileOwner :: Lens.Lens' StartSigningJob (Prelude.Maybe Prelude.Text)+startSigningJob_profileOwner = Lens.lens (\StartSigningJob' {profileOwner} -> profileOwner) (\s@StartSigningJob' {} a -> s {profileOwner = a} :: StartSigningJob)++-- | The S3 bucket that contains the object to sign or a BLOB that contains+-- your raw code.+startSigningJob_source :: Lens.Lens' StartSigningJob Source+startSigningJob_source = Lens.lens (\StartSigningJob' {source} -> source) (\s@StartSigningJob' {} a -> s {source = a} :: StartSigningJob)++-- | The S3 bucket in which to save your signed object. The destination+-- contains the name of your bucket and an optional prefix.+startSigningJob_destination :: Lens.Lens' StartSigningJob Destination+startSigningJob_destination = Lens.lens (\StartSigningJob' {destination} -> destination) (\s@StartSigningJob' {} a -> s {destination = a} :: StartSigningJob)++-- | The name of the signing profile.+startSigningJob_profileName :: Lens.Lens' StartSigningJob Prelude.Text+startSigningJob_profileName = Lens.lens (\StartSigningJob' {profileName} -> profileName) (\s@StartSigningJob' {} a -> s {profileName = a} :: StartSigningJob)++-- | String that identifies the signing request. All calls after the first+-- that use this token return the same response as the first call.+startSigningJob_clientRequestToken :: Lens.Lens' StartSigningJob Prelude.Text+startSigningJob_clientRequestToken = Lens.lens (\StartSigningJob' {clientRequestToken} -> clientRequestToken) (\s@StartSigningJob' {} a -> s {clientRequestToken = a} :: StartSigningJob)++instance Core.AWSRequest StartSigningJob where+  type+    AWSResponse StartSigningJob =+      StartSigningJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartSigningJobResponse'+            Prelude.<$> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "jobOwner")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartSigningJob where+  hashWithSalt _salt StartSigningJob' {..} =+    _salt+      `Prelude.hashWithSalt` profileOwner+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` profileName+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData StartSigningJob where+  rnf StartSigningJob' {..} =+    Prelude.rnf profileOwner+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders StartSigningJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartSigningJob where+  toJSON StartSigningJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("profileOwner" Data..=) Prelude.<$> profileOwner,+            Prelude.Just ("source" Data..= source),+            Prelude.Just ("destination" Data..= destination),+            Prelude.Just ("profileName" Data..= profileName),+            Prelude.Just+              ("clientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath StartSigningJob where+  toPath = Prelude.const "/signing-jobs"++instance Data.ToQuery StartSigningJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartSigningJobResponse' smart constructor.+data StartSigningJobResponse = StartSigningJobResponse'+  { -- | The ID of your signing job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The AWS account ID of the signing job owner.+    jobOwner :: 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 'StartSigningJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startSigningJobResponse_jobId' - The ID of your signing job.+--+-- 'jobOwner', 'startSigningJobResponse_jobOwner' - The AWS account ID of the signing job owner.+--+-- 'httpStatus', 'startSigningJobResponse_httpStatus' - The response's http status code.+newStartSigningJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartSigningJobResponse+newStartSigningJobResponse pHttpStatus_ =+  StartSigningJobResponse'+    { jobId = Prelude.Nothing,+      jobOwner = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of your signing job.+startSigningJobResponse_jobId :: Lens.Lens' StartSigningJobResponse (Prelude.Maybe Prelude.Text)+startSigningJobResponse_jobId = Lens.lens (\StartSigningJobResponse' {jobId} -> jobId) (\s@StartSigningJobResponse' {} a -> s {jobId = a} :: StartSigningJobResponse)++-- | The AWS account ID of the signing job owner.+startSigningJobResponse_jobOwner :: Lens.Lens' StartSigningJobResponse (Prelude.Maybe Prelude.Text)+startSigningJobResponse_jobOwner = Lens.lens (\StartSigningJobResponse' {jobOwner} -> jobOwner) (\s@StartSigningJobResponse' {} a -> s {jobOwner = a} :: StartSigningJobResponse)++-- | The response's http status code.+startSigningJobResponse_httpStatus :: Lens.Lens' StartSigningJobResponse Prelude.Int+startSigningJobResponse_httpStatus = Lens.lens (\StartSigningJobResponse' {httpStatus} -> httpStatus) (\s@StartSigningJobResponse' {} a -> s {httpStatus = a} :: StartSigningJobResponse)++instance Prelude.NFData StartSigningJobResponse where+  rnf StartSigningJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobOwner+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Signer/TagResource.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.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 one or more tags to a signing profile. Tags are labels that you can+-- use to identify and organize your AWS resources. Each tag consists of a+-- key and an optional value. To specify the signing profile, use its+-- Amazon Resource Name (ARN). To specify the tag, use a key-value pair.+module Amazonka.Signer.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) for the signing profile.+    resourceArn :: Prelude.Text,+    -- | One or more tags to be associated with the signing profile.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) for the signing profile.+--+-- 'tags', 'tagResource_tags' - One or more tags to be associated with the signing profile.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) for the signing profile.+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 to be associated with the signing profile.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Signer/Types.hs view
@@ -0,0 +1,390 @@+{-# 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.Signer.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.Signer.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _BadRequestException,+    _ConflictException,+    _InternalServiceErrorException,+    _NotFoundException,+    _ResourceNotFoundException,+    _ServiceLimitExceededException,+    _ThrottlingException,+    _TooManyRequestsException,+    _ValidationException,++    -- * Category+    Category (..),++    -- * EncryptionAlgorithm+    EncryptionAlgorithm (..),++    -- * HashAlgorithm+    HashAlgorithm (..),++    -- * ImageFormat+    ImageFormat (..),++    -- * SigningProfileStatus+    SigningProfileStatus (..),++    -- * SigningStatus+    SigningStatus (..),++    -- * ValidityType+    ValidityType (..),++    -- * Destination+    Destination (..),+    newDestination,+    destination_s3,++    -- * EncryptionAlgorithmOptions+    EncryptionAlgorithmOptions (..),+    newEncryptionAlgorithmOptions,+    encryptionAlgorithmOptions_allowedValues,+    encryptionAlgorithmOptions_defaultValue,++    -- * HashAlgorithmOptions+    HashAlgorithmOptions (..),+    newHashAlgorithmOptions,+    hashAlgorithmOptions_allowedValues,+    hashAlgorithmOptions_defaultValue,++    -- * Permission+    Permission (..),+    newPermission,+    permission_action,+    permission_principal,+    permission_profileVersion,+    permission_statementId,++    -- * S3Destination+    S3Destination (..),+    newS3Destination,+    s3Destination_bucketName,+    s3Destination_prefix,++    -- * S3SignedObject+    S3SignedObject (..),+    newS3SignedObject,+    s3SignedObject_bucketName,+    s3SignedObject_key,++    -- * S3Source+    S3Source (..),+    newS3Source,+    s3Source_bucketName,+    s3Source_key,+    s3Source_version,++    -- * SignatureValidityPeriod+    SignatureValidityPeriod (..),+    newSignatureValidityPeriod,+    signatureValidityPeriod_type,+    signatureValidityPeriod_value,++    -- * SignedObject+    SignedObject (..),+    newSignedObject,+    signedObject_s3,++    -- * SigningConfiguration+    SigningConfiguration (..),+    newSigningConfiguration,+    signingConfiguration_encryptionAlgorithmOptions,+    signingConfiguration_hashAlgorithmOptions,++    -- * SigningConfigurationOverrides+    SigningConfigurationOverrides (..),+    newSigningConfigurationOverrides,+    signingConfigurationOverrides_encryptionAlgorithm,+    signingConfigurationOverrides_hashAlgorithm,++    -- * SigningImageFormat+    SigningImageFormat (..),+    newSigningImageFormat,+    signingImageFormat_supportedFormats,+    signingImageFormat_defaultFormat,++    -- * SigningJob+    SigningJob (..),+    newSigningJob,+    signingJob_createdAt,+    signingJob_isRevoked,+    signingJob_jobId,+    signingJob_jobInvoker,+    signingJob_jobOwner,+    signingJob_platformDisplayName,+    signingJob_platformId,+    signingJob_profileName,+    signingJob_profileVersion,+    signingJob_signatureExpiresAt,+    signingJob_signedObject,+    signingJob_signingMaterial,+    signingJob_source,+    signingJob_status,++    -- * SigningJobRevocationRecord+    SigningJobRevocationRecord (..),+    newSigningJobRevocationRecord,+    signingJobRevocationRecord_reason,+    signingJobRevocationRecord_revokedAt,+    signingJobRevocationRecord_revokedBy,++    -- * SigningMaterial+    SigningMaterial (..),+    newSigningMaterial,+    signingMaterial_certificateArn,++    -- * SigningPlatform+    SigningPlatform (..),+    newSigningPlatform,+    signingPlatform_category,+    signingPlatform_displayName,+    signingPlatform_maxSizeInMB,+    signingPlatform_partner,+    signingPlatform_platformId,+    signingPlatform_revocationSupported,+    signingPlatform_signingConfiguration,+    signingPlatform_signingImageFormat,+    signingPlatform_target,++    -- * SigningPlatformOverrides+    SigningPlatformOverrides (..),+    newSigningPlatformOverrides,+    signingPlatformOverrides_signingConfiguration,+    signingPlatformOverrides_signingImageFormat,++    -- * SigningProfile+    SigningProfile (..),+    newSigningProfile,+    signingProfile_arn,+    signingProfile_platformDisplayName,+    signingProfile_platformId,+    signingProfile_profileName,+    signingProfile_profileVersion,+    signingProfile_profileVersionArn,+    signingProfile_signatureValidityPeriod,+    signingProfile_signingMaterial,+    signingProfile_signingParameters,+    signingProfile_status,+    signingProfile_tags,++    -- * SigningProfileRevocationRecord+    SigningProfileRevocationRecord (..),+    newSigningProfileRevocationRecord,+    signingProfileRevocationRecord_revocationEffectiveFrom,+    signingProfileRevocationRecord_revokedAt,+    signingProfileRevocationRecord_revokedBy,++    -- * Source+    Source (..),+    newSource,+    source_s3,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.Signer.Types.Category+import Amazonka.Signer.Types.Destination+import Amazonka.Signer.Types.EncryptionAlgorithm+import Amazonka.Signer.Types.EncryptionAlgorithmOptions+import Amazonka.Signer.Types.HashAlgorithm+import Amazonka.Signer.Types.HashAlgorithmOptions+import Amazonka.Signer.Types.ImageFormat+import Amazonka.Signer.Types.Permission+import Amazonka.Signer.Types.S3Destination+import Amazonka.Signer.Types.S3SignedObject+import Amazonka.Signer.Types.S3Source+import Amazonka.Signer.Types.SignatureValidityPeriod+import Amazonka.Signer.Types.SignedObject+import Amazonka.Signer.Types.SigningConfiguration+import Amazonka.Signer.Types.SigningConfigurationOverrides+import Amazonka.Signer.Types.SigningImageFormat+import Amazonka.Signer.Types.SigningJob+import Amazonka.Signer.Types.SigningJobRevocationRecord+import Amazonka.Signer.Types.SigningMaterial+import Amazonka.Signer.Types.SigningPlatform+import Amazonka.Signer.Types.SigningPlatformOverrides+import Amazonka.Signer.Types.SigningProfile+import Amazonka.Signer.Types.SigningProfileRevocationRecord+import Amazonka.Signer.Types.SigningProfileStatus+import Amazonka.Signer.Types.SigningStatus+import Amazonka.Signer.Types.Source+import Amazonka.Signer.Types.ValidityType++-- | API version @2017-08-25@ of the Amazon Signer SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Signer",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "signer",+      Core.signingName = "signer",+      Core.version = "2017-08-25",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Signer",+      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++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | The request contains invalid parameters for the ARN or tags. This+-- exception also occurs when you call a tagging API on a cancelled signing+-- profile.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | The resource encountered a conflicting state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An internal error occurred.+_InternalServiceErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceErrorException =+  Core._MatchServiceError+    defaultService+    "InternalServiceErrorException"+    Prelude.. Core.hasStatus 500++-- | The signing profile was not found.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | A specified resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The client is making a request that exceeds service limits.+_ServiceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceLimitExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceLimitExceededException"+    Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+--+-- Instead of this error, @TooManyRequestsException@ should be used.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The allowed number of job-signing requests has been exceeded.+--+-- This error supersedes the error @ThrottlingException@.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+  Core._MatchServiceError+    defaultService+    "TooManyRequestsException"+    Prelude.. Core.hasStatus 429++-- | You signing certificate could not be validated.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Signer/Types/Category.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.Signer.Types.Category+-- 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.Signer.Types.Category+  ( Category+      ( ..,+        Category_AWSIoT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Category = Category'+  { fromCategory ::+      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 Category_AWSIoT :: Category+pattern Category_AWSIoT = Category' "AWSIoT"++{-# COMPLETE+  Category_AWSIoT,+  Category'+  #-}
+ gen/Amazonka/Signer/Types/Destination.hs view
@@ -0,0 +1,65 @@+{-# 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.Signer.Types.Destination+-- 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.Signer.Types.Destination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.S3Destination++-- | Points to an @S3Destination@ object that contains information about your+-- S3 bucket.+--+-- /See:/ 'newDestination' smart constructor.+data Destination = Destination'+  { -- | The @S3Destination@ object.+    s3 :: Prelude.Maybe S3Destination+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Destination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3', 'destination_s3' - The @S3Destination@ object.+newDestination ::+  Destination+newDestination = Destination' {s3 = Prelude.Nothing}++-- | The @S3Destination@ object.+destination_s3 :: Lens.Lens' Destination (Prelude.Maybe S3Destination)+destination_s3 = Lens.lens (\Destination' {s3} -> s3) (\s@Destination' {} a -> s {s3 = a} :: Destination)++instance Prelude.Hashable Destination where+  hashWithSalt _salt Destination' {..} =+    _salt `Prelude.hashWithSalt` s3++instance Prelude.NFData Destination where+  rnf Destination' {..} = Prelude.rnf s3++instance Data.ToJSON Destination where+  toJSON Destination' {..} =+    Data.object+      (Prelude.catMaybes [("s3" Data..=) Prelude.<$> s3])
+ gen/Amazonka/Signer/Types/EncryptionAlgorithm.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.Signer.Types.EncryptionAlgorithm+-- 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.Signer.Types.EncryptionAlgorithm+  ( EncryptionAlgorithm+      ( ..,+        EncryptionAlgorithm_ECDSA,+        EncryptionAlgorithm_RSA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EncryptionAlgorithm = EncryptionAlgorithm'+  { fromEncryptionAlgorithm ::+      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 EncryptionAlgorithm_ECDSA :: EncryptionAlgorithm+pattern EncryptionAlgorithm_ECDSA = EncryptionAlgorithm' "ECDSA"++pattern EncryptionAlgorithm_RSA :: EncryptionAlgorithm+pattern EncryptionAlgorithm_RSA = EncryptionAlgorithm' "RSA"++{-# COMPLETE+  EncryptionAlgorithm_ECDSA,+  EncryptionAlgorithm_RSA,+  EncryptionAlgorithm'+  #-}
+ gen/Amazonka/Signer/Types/EncryptionAlgorithmOptions.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.Signer.Types.EncryptionAlgorithmOptions+-- 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.Signer.Types.EncryptionAlgorithmOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.EncryptionAlgorithm++-- | The encryption algorithm options that are available to a code signing+-- job.+--+-- /See:/ 'newEncryptionAlgorithmOptions' smart constructor.+data EncryptionAlgorithmOptions = EncryptionAlgorithmOptions'+  { -- | The set of accepted encryption algorithms that are allowed in a code+    -- signing job.+    allowedValues :: [EncryptionAlgorithm],+    -- | The default encryption algorithm that is used by a code signing job.+    defaultValue :: EncryptionAlgorithm+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionAlgorithmOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'encryptionAlgorithmOptions_allowedValues' - The set of accepted encryption algorithms that are allowed in a code+-- signing job.+--+-- 'defaultValue', 'encryptionAlgorithmOptions_defaultValue' - The default encryption algorithm that is used by a code signing job.+newEncryptionAlgorithmOptions ::+  -- | 'defaultValue'+  EncryptionAlgorithm ->+  EncryptionAlgorithmOptions+newEncryptionAlgorithmOptions pDefaultValue_ =+  EncryptionAlgorithmOptions'+    { allowedValues =+        Prelude.mempty,+      defaultValue = pDefaultValue_+    }++-- | The set of accepted encryption algorithms that are allowed in a code+-- signing job.+encryptionAlgorithmOptions_allowedValues :: Lens.Lens' EncryptionAlgorithmOptions [EncryptionAlgorithm]+encryptionAlgorithmOptions_allowedValues = Lens.lens (\EncryptionAlgorithmOptions' {allowedValues} -> allowedValues) (\s@EncryptionAlgorithmOptions' {} a -> s {allowedValues = a} :: EncryptionAlgorithmOptions) Prelude.. Lens.coerced++-- | The default encryption algorithm that is used by a code signing job.+encryptionAlgorithmOptions_defaultValue :: Lens.Lens' EncryptionAlgorithmOptions EncryptionAlgorithm+encryptionAlgorithmOptions_defaultValue = Lens.lens (\EncryptionAlgorithmOptions' {defaultValue} -> defaultValue) (\s@EncryptionAlgorithmOptions' {} a -> s {defaultValue = a} :: EncryptionAlgorithmOptions)++instance Data.FromJSON EncryptionAlgorithmOptions where+  parseJSON =+    Data.withObject+      "EncryptionAlgorithmOptions"+      ( \x ->+          EncryptionAlgorithmOptions'+            Prelude.<$> (x Data..:? "allowedValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "defaultValue")+      )++instance Prelude.Hashable EncryptionAlgorithmOptions where+  hashWithSalt _salt EncryptionAlgorithmOptions' {..} =+    _salt+      `Prelude.hashWithSalt` allowedValues+      `Prelude.hashWithSalt` defaultValue++instance Prelude.NFData EncryptionAlgorithmOptions where+  rnf EncryptionAlgorithmOptions' {..} =+    Prelude.rnf allowedValues+      `Prelude.seq` Prelude.rnf defaultValue
+ gen/Amazonka/Signer/Types/HashAlgorithm.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.Signer.Types.HashAlgorithm+-- 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.Signer.Types.HashAlgorithm+  ( HashAlgorithm+      ( ..,+        HashAlgorithm_SHA1,+        HashAlgorithm_SHA256+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HashAlgorithm = HashAlgorithm'+  { fromHashAlgorithm ::+      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 HashAlgorithm_SHA1 :: HashAlgorithm+pattern HashAlgorithm_SHA1 = HashAlgorithm' "SHA1"++pattern HashAlgorithm_SHA256 :: HashAlgorithm+pattern HashAlgorithm_SHA256 = HashAlgorithm' "SHA256"++{-# COMPLETE+  HashAlgorithm_SHA1,+  HashAlgorithm_SHA256,+  HashAlgorithm'+  #-}
+ gen/Amazonka/Signer/Types/HashAlgorithmOptions.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.HashAlgorithmOptions+-- 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.Signer.Types.HashAlgorithmOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.HashAlgorithm++-- | The hash algorithms that are available to a code signing job.+--+-- /See:/ 'newHashAlgorithmOptions' smart constructor.+data HashAlgorithmOptions = HashAlgorithmOptions'+  { -- | The set of accepted hash algorithms allowed in a code signing job.+    allowedValues :: [HashAlgorithm],+    -- | The default hash algorithm that is used in a code signing job.+    defaultValue :: HashAlgorithm+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HashAlgorithmOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'hashAlgorithmOptions_allowedValues' - The set of accepted hash algorithms allowed in a code signing job.+--+-- 'defaultValue', 'hashAlgorithmOptions_defaultValue' - The default hash algorithm that is used in a code signing job.+newHashAlgorithmOptions ::+  -- | 'defaultValue'+  HashAlgorithm ->+  HashAlgorithmOptions+newHashAlgorithmOptions pDefaultValue_ =+  HashAlgorithmOptions'+    { allowedValues =+        Prelude.mempty,+      defaultValue = pDefaultValue_+    }++-- | The set of accepted hash algorithms allowed in a code signing job.+hashAlgorithmOptions_allowedValues :: Lens.Lens' HashAlgorithmOptions [HashAlgorithm]+hashAlgorithmOptions_allowedValues = Lens.lens (\HashAlgorithmOptions' {allowedValues} -> allowedValues) (\s@HashAlgorithmOptions' {} a -> s {allowedValues = a} :: HashAlgorithmOptions) Prelude.. Lens.coerced++-- | The default hash algorithm that is used in a code signing job.+hashAlgorithmOptions_defaultValue :: Lens.Lens' HashAlgorithmOptions HashAlgorithm+hashAlgorithmOptions_defaultValue = Lens.lens (\HashAlgorithmOptions' {defaultValue} -> defaultValue) (\s@HashAlgorithmOptions' {} a -> s {defaultValue = a} :: HashAlgorithmOptions)++instance Data.FromJSON HashAlgorithmOptions where+  parseJSON =+    Data.withObject+      "HashAlgorithmOptions"+      ( \x ->+          HashAlgorithmOptions'+            Prelude.<$> (x Data..:? "allowedValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "defaultValue")+      )++instance Prelude.Hashable HashAlgorithmOptions where+  hashWithSalt _salt HashAlgorithmOptions' {..} =+    _salt+      `Prelude.hashWithSalt` allowedValues+      `Prelude.hashWithSalt` defaultValue++instance Prelude.NFData HashAlgorithmOptions where+  rnf HashAlgorithmOptions' {..} =+    Prelude.rnf allowedValues+      `Prelude.seq` Prelude.rnf defaultValue
+ gen/Amazonka/Signer/Types/ImageFormat.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.Signer.Types.ImageFormat+-- 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.Signer.Types.ImageFormat+  ( ImageFormat+      ( ..,+        ImageFormat_JSON,+        ImageFormat_JSONDetached,+        ImageFormat_JSONEmbedded+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImageFormat = ImageFormat'+  { fromImageFormat ::+      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 ImageFormat_JSON :: ImageFormat+pattern ImageFormat_JSON = ImageFormat' "JSON"++pattern ImageFormat_JSONDetached :: ImageFormat+pattern ImageFormat_JSONDetached = ImageFormat' "JSONDetached"++pattern ImageFormat_JSONEmbedded :: ImageFormat+pattern ImageFormat_JSONEmbedded = ImageFormat' "JSONEmbedded"++{-# COMPLETE+  ImageFormat_JSON,+  ImageFormat_JSONDetached,+  ImageFormat_JSONEmbedded,+  ImageFormat'+  #-}
+ gen/Amazonka/Signer/Types/Permission.hs view
@@ -0,0 +1,108 @@+{-# 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.Signer.Types.Permission+-- 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.Signer.Types.Permission 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 cross-account permission for a signing profile.+--+-- /See:/ 'newPermission' smart constructor.+data Permission = Permission'+  { -- | An AWS Signer action permitted as part of cross-account permissions.+    action :: Prelude.Maybe Prelude.Text,+    -- | The AWS principal that has been granted a cross-account permission.+    principal :: Prelude.Maybe Prelude.Text,+    -- | The signing profile version that a permission applies to.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for a cross-account permission statement.+    statementId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Permission' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'permission_action' - An AWS Signer action permitted as part of cross-account permissions.+--+-- 'principal', 'permission_principal' - The AWS principal that has been granted a cross-account permission.+--+-- 'profileVersion', 'permission_profileVersion' - The signing profile version that a permission applies to.+--+-- 'statementId', 'permission_statementId' - A unique identifier for a cross-account permission statement.+newPermission ::+  Permission+newPermission =+  Permission'+    { action = Prelude.Nothing,+      principal = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      statementId = Prelude.Nothing+    }++-- | An AWS Signer action permitted as part of cross-account permissions.+permission_action :: Lens.Lens' Permission (Prelude.Maybe Prelude.Text)+permission_action = Lens.lens (\Permission' {action} -> action) (\s@Permission' {} a -> s {action = a} :: Permission)++-- | The AWS principal that has been granted a cross-account permission.+permission_principal :: Lens.Lens' Permission (Prelude.Maybe Prelude.Text)+permission_principal = Lens.lens (\Permission' {principal} -> principal) (\s@Permission' {} a -> s {principal = a} :: Permission)++-- | The signing profile version that a permission applies to.+permission_profileVersion :: Lens.Lens' Permission (Prelude.Maybe Prelude.Text)+permission_profileVersion = Lens.lens (\Permission' {profileVersion} -> profileVersion) (\s@Permission' {} a -> s {profileVersion = a} :: Permission)++-- | A unique identifier for a cross-account permission statement.+permission_statementId :: Lens.Lens' Permission (Prelude.Maybe Prelude.Text)+permission_statementId = Lens.lens (\Permission' {statementId} -> statementId) (\s@Permission' {} a -> s {statementId = a} :: Permission)++instance Data.FromJSON Permission where+  parseJSON =+    Data.withObject+      "Permission"+      ( \x ->+          Permission'+            Prelude.<$> (x Data..:? "action")+            Prelude.<*> (x Data..:? "principal")+            Prelude.<*> (x Data..:? "profileVersion")+            Prelude.<*> (x Data..:? "statementId")+      )++instance Prelude.Hashable Permission where+  hashWithSalt _salt Permission' {..} =+    _salt+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` principal+      `Prelude.hashWithSalt` profileVersion+      `Prelude.hashWithSalt` statementId++instance Prelude.NFData Permission where+  rnf Permission' {..} =+    Prelude.rnf action+      `Prelude.seq` Prelude.rnf principal+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf statementId
+ gen/Amazonka/Signer/Types/S3Destination.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.Signer.Types.S3Destination+-- 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.Signer.Types.S3Destination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The name and prefix of the S3 bucket where code signing saves your+-- signed objects.+--+-- /See:/ 'newS3Destination' smart constructor.+data S3Destination = S3Destination'+  { -- | Name of the S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | An Amazon S3 prefix that you can use to limit responses to those that+    -- begin with the specified prefix.+    prefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Destination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 's3Destination_bucketName' - Name of the S3 bucket.+--+-- 'prefix', 's3Destination_prefix' - An Amazon S3 prefix that you can use to limit responses to those that+-- begin with the specified prefix.+newS3Destination ::+  S3Destination+newS3Destination =+  S3Destination'+    { bucketName = Prelude.Nothing,+      prefix = Prelude.Nothing+    }++-- | Name of the S3 bucket.+s3Destination_bucketName :: Lens.Lens' S3Destination (Prelude.Maybe Prelude.Text)+s3Destination_bucketName = Lens.lens (\S3Destination' {bucketName} -> bucketName) (\s@S3Destination' {} a -> s {bucketName = a} :: S3Destination)++-- | An Amazon S3 prefix that you can use to limit responses to those that+-- begin with the specified prefix.+s3Destination_prefix :: Lens.Lens' S3Destination (Prelude.Maybe Prelude.Text)+s3Destination_prefix = Lens.lens (\S3Destination' {prefix} -> prefix) (\s@S3Destination' {} a -> s {prefix = a} :: S3Destination)++instance Prelude.Hashable S3Destination where+  hashWithSalt _salt S3Destination' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` prefix++instance Prelude.NFData S3Destination where+  rnf S3Destination' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf prefix++instance Data.ToJSON S3Destination where+  toJSON S3Destination' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketName" Data..=) Prelude.<$> bucketName,+            ("prefix" Data..=) Prelude.<$> prefix+          ]+      )
+ gen/Amazonka/Signer/Types/S3SignedObject.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.Signer.Types.S3SignedObject+-- 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.Signer.Types.S3SignedObject where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The S3 bucket name and key where code signing saved your signed code+-- image.+--+-- /See:/ 'newS3SignedObject' smart constructor.+data S3SignedObject = S3SignedObject'+  { -- | Name of the S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | Key name that uniquely identifies a signed code image in your bucket.+    key :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3SignedObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 's3SignedObject_bucketName' - Name of the S3 bucket.+--+-- 'key', 's3SignedObject_key' - Key name that uniquely identifies a signed code image in your bucket.+newS3SignedObject ::+  S3SignedObject+newS3SignedObject =+  S3SignedObject'+    { bucketName = Prelude.Nothing,+      key = Prelude.Nothing+    }++-- | Name of the S3 bucket.+s3SignedObject_bucketName :: Lens.Lens' S3SignedObject (Prelude.Maybe Prelude.Text)+s3SignedObject_bucketName = Lens.lens (\S3SignedObject' {bucketName} -> bucketName) (\s@S3SignedObject' {} a -> s {bucketName = a} :: S3SignedObject)++-- | Key name that uniquely identifies a signed code image in your bucket.+s3SignedObject_key :: Lens.Lens' S3SignedObject (Prelude.Maybe Prelude.Text)+s3SignedObject_key = Lens.lens (\S3SignedObject' {key} -> key) (\s@S3SignedObject' {} a -> s {key = a} :: S3SignedObject)++instance Data.FromJSON S3SignedObject where+  parseJSON =+    Data.withObject+      "S3SignedObject"+      ( \x ->+          S3SignedObject'+            Prelude.<$> (x Data..:? "bucketName")+            Prelude.<*> (x Data..:? "key")+      )++instance Prelude.Hashable S3SignedObject where+  hashWithSalt _salt S3SignedObject' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` key++instance Prelude.NFData S3SignedObject where+  rnf S3SignedObject' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf key
+ gen/Amazonka/Signer/Types/S3Source.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.Signer.Types.S3Source+-- 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.Signer.Types.S3Source 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 the S3 bucket where you saved your unsigned code.+--+-- /See:/ 'newS3Source' smart constructor.+data S3Source = S3Source'+  { -- | Name of the S3 bucket.+    bucketName :: Prelude.Text,+    -- | Key name of the bucket object that contains your unsigned code.+    key :: Prelude.Text,+    -- | Version of your source image in your version enabled S3 bucket.+    version :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Source' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 's3Source_bucketName' - Name of the S3 bucket.+--+-- 'key', 's3Source_key' - Key name of the bucket object that contains your unsigned code.+--+-- 'version', 's3Source_version' - Version of your source image in your version enabled S3 bucket.+newS3Source ::+  -- | 'bucketName'+  Prelude.Text ->+  -- | 'key'+  Prelude.Text ->+  -- | 'version'+  Prelude.Text ->+  S3Source+newS3Source pBucketName_ pKey_ pVersion_ =+  S3Source'+    { bucketName = pBucketName_,+      key = pKey_,+      version = pVersion_+    }++-- | Name of the S3 bucket.+s3Source_bucketName :: Lens.Lens' S3Source Prelude.Text+s3Source_bucketName = Lens.lens (\S3Source' {bucketName} -> bucketName) (\s@S3Source' {} a -> s {bucketName = a} :: S3Source)++-- | Key name of the bucket object that contains your unsigned code.+s3Source_key :: Lens.Lens' S3Source Prelude.Text+s3Source_key = Lens.lens (\S3Source' {key} -> key) (\s@S3Source' {} a -> s {key = a} :: S3Source)++-- | Version of your source image in your version enabled S3 bucket.+s3Source_version :: Lens.Lens' S3Source Prelude.Text+s3Source_version = Lens.lens (\S3Source' {version} -> version) (\s@S3Source' {} a -> s {version = a} :: S3Source)++instance Data.FromJSON S3Source where+  parseJSON =+    Data.withObject+      "S3Source"+      ( \x ->+          S3Source'+            Prelude.<$> (x Data..: "bucketName")+            Prelude.<*> (x Data..: "key")+            Prelude.<*> (x Data..: "version")+      )++instance Prelude.Hashable S3Source where+  hashWithSalt _salt S3Source' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` version++instance Prelude.NFData S3Source where+  rnf S3Source' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf version++instance Data.ToJSON S3Source where+  toJSON S3Source' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("bucketName" Data..= bucketName),+            Prelude.Just ("key" Data..= key),+            Prelude.Just ("version" Data..= version)+          ]+      )
+ gen/Amazonka/Signer/Types/SignatureValidityPeriod.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SignatureValidityPeriod+-- 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.Signer.Types.SignatureValidityPeriod where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.ValidityType++-- | The validity period for a signing job.+--+-- /See:/ 'newSignatureValidityPeriod' smart constructor.+data SignatureValidityPeriod = SignatureValidityPeriod'+  { -- | The time unit for signature validity.+    type' :: Prelude.Maybe ValidityType,+    -- | The numerical value of the time unit for signature validity.+    value :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignatureValidityPeriod' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'signatureValidityPeriod_type' - The time unit for signature validity.+--+-- 'value', 'signatureValidityPeriod_value' - The numerical value of the time unit for signature validity.+newSignatureValidityPeriod ::+  SignatureValidityPeriod+newSignatureValidityPeriod =+  SignatureValidityPeriod'+    { type' = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The time unit for signature validity.+signatureValidityPeriod_type :: Lens.Lens' SignatureValidityPeriod (Prelude.Maybe ValidityType)+signatureValidityPeriod_type = Lens.lens (\SignatureValidityPeriod' {type'} -> type') (\s@SignatureValidityPeriod' {} a -> s {type' = a} :: SignatureValidityPeriod)++-- | The numerical value of the time unit for signature validity.+signatureValidityPeriod_value :: Lens.Lens' SignatureValidityPeriod (Prelude.Maybe Prelude.Int)+signatureValidityPeriod_value = Lens.lens (\SignatureValidityPeriod' {value} -> value) (\s@SignatureValidityPeriod' {} a -> s {value = a} :: SignatureValidityPeriod)++instance Data.FromJSON SignatureValidityPeriod where+  parseJSON =+    Data.withObject+      "SignatureValidityPeriod"+      ( \x ->+          SignatureValidityPeriod'+            Prelude.<$> (x Data..:? "type")+            Prelude.<*> (x Data..:? "value")+      )++instance Prelude.Hashable SignatureValidityPeriod where+  hashWithSalt _salt SignatureValidityPeriod' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData SignatureValidityPeriod where+  rnf SignatureValidityPeriod' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SignatureValidityPeriod where+  toJSON SignatureValidityPeriod' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("type" Data..=) Prelude.<$> type',+            ("value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/Signer/Types/SignedObject.hs view
@@ -0,0 +1,66 @@+{-# 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.Signer.Types.SignedObject+-- 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.Signer.Types.SignedObject where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.S3SignedObject++-- | Points to an @S3SignedObject@ object that contains information about+-- your signed code image.+--+-- /See:/ 'newSignedObject' smart constructor.+data SignedObject = SignedObject'+  { -- | The @S3SignedObject@.+    s3 :: Prelude.Maybe S3SignedObject+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignedObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3', 'signedObject_s3' - The @S3SignedObject@.+newSignedObject ::+  SignedObject+newSignedObject = SignedObject' {s3 = Prelude.Nothing}++-- | The @S3SignedObject@.+signedObject_s3 :: Lens.Lens' SignedObject (Prelude.Maybe S3SignedObject)+signedObject_s3 = Lens.lens (\SignedObject' {s3} -> s3) (\s@SignedObject' {} a -> s {s3 = a} :: SignedObject)++instance Data.FromJSON SignedObject where+  parseJSON =+    Data.withObject+      "SignedObject"+      (\x -> SignedObject' Prelude.<$> (x Data..:? "s3"))++instance Prelude.Hashable SignedObject where+  hashWithSalt _salt SignedObject' {..} =+    _salt `Prelude.hashWithSalt` s3++instance Prelude.NFData SignedObject where+  rnf SignedObject' {..} = Prelude.rnf s3
+ gen/Amazonka/Signer/Types/SigningConfiguration.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SigningConfiguration+-- 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.Signer.Types.SigningConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.EncryptionAlgorithmOptions+import Amazonka.Signer.Types.HashAlgorithmOptions++-- | The configuration of a code signing operation.+--+-- /See:/ 'newSigningConfiguration' smart constructor.+data SigningConfiguration = SigningConfiguration'+  { -- | The encryption algorithm options that are available for a code signing+    -- job.+    encryptionAlgorithmOptions :: EncryptionAlgorithmOptions,+    -- | The hash algorithm options that are available for a code signing job.+    hashAlgorithmOptions :: HashAlgorithmOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionAlgorithmOptions', 'signingConfiguration_encryptionAlgorithmOptions' - The encryption algorithm options that are available for a code signing+-- job.+--+-- 'hashAlgorithmOptions', 'signingConfiguration_hashAlgorithmOptions' - The hash algorithm options that are available for a code signing job.+newSigningConfiguration ::+  -- | 'encryptionAlgorithmOptions'+  EncryptionAlgorithmOptions ->+  -- | 'hashAlgorithmOptions'+  HashAlgorithmOptions ->+  SigningConfiguration+newSigningConfiguration+  pEncryptionAlgorithmOptions_+  pHashAlgorithmOptions_ =+    SigningConfiguration'+      { encryptionAlgorithmOptions =+          pEncryptionAlgorithmOptions_,+        hashAlgorithmOptions = pHashAlgorithmOptions_+      }++-- | The encryption algorithm options that are available for a code signing+-- job.+signingConfiguration_encryptionAlgorithmOptions :: Lens.Lens' SigningConfiguration EncryptionAlgorithmOptions+signingConfiguration_encryptionAlgorithmOptions = Lens.lens (\SigningConfiguration' {encryptionAlgorithmOptions} -> encryptionAlgorithmOptions) (\s@SigningConfiguration' {} a -> s {encryptionAlgorithmOptions = a} :: SigningConfiguration)++-- | The hash algorithm options that are available for a code signing job.+signingConfiguration_hashAlgorithmOptions :: Lens.Lens' SigningConfiguration HashAlgorithmOptions+signingConfiguration_hashAlgorithmOptions = Lens.lens (\SigningConfiguration' {hashAlgorithmOptions} -> hashAlgorithmOptions) (\s@SigningConfiguration' {} a -> s {hashAlgorithmOptions = a} :: SigningConfiguration)++instance Data.FromJSON SigningConfiguration where+  parseJSON =+    Data.withObject+      "SigningConfiguration"+      ( \x ->+          SigningConfiguration'+            Prelude.<$> (x Data..: "encryptionAlgorithmOptions")+            Prelude.<*> (x Data..: "hashAlgorithmOptions")+      )++instance Prelude.Hashable SigningConfiguration where+  hashWithSalt _salt SigningConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` encryptionAlgorithmOptions+      `Prelude.hashWithSalt` hashAlgorithmOptions++instance Prelude.NFData SigningConfiguration where+  rnf SigningConfiguration' {..} =+    Prelude.rnf encryptionAlgorithmOptions+      `Prelude.seq` Prelude.rnf hashAlgorithmOptions
+ gen/Amazonka/Signer/Types/SigningConfigurationOverrides.hs view
@@ -0,0 +1,107 @@+{-# 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.Signer.Types.SigningConfigurationOverrides+-- 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.Signer.Types.SigningConfigurationOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.EncryptionAlgorithm+import Amazonka.Signer.Types.HashAlgorithm++-- | A signing configuration that overrides the default encryption or hash+-- algorithm of a signing job.+--+-- /See:/ 'newSigningConfigurationOverrides' smart constructor.+data SigningConfigurationOverrides = SigningConfigurationOverrides'+  { -- | A specified override of the default encryption algorithm that is used in+    -- a code signing job.+    encryptionAlgorithm :: Prelude.Maybe EncryptionAlgorithm,+    -- | A specified override of the default hash algorithm that is used in a+    -- code signing job.+    hashAlgorithm :: Prelude.Maybe HashAlgorithm+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningConfigurationOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionAlgorithm', 'signingConfigurationOverrides_encryptionAlgorithm' - A specified override of the default encryption algorithm that is used in+-- a code signing job.+--+-- 'hashAlgorithm', 'signingConfigurationOverrides_hashAlgorithm' - A specified override of the default hash algorithm that is used in a+-- code signing job.+newSigningConfigurationOverrides ::+  SigningConfigurationOverrides+newSigningConfigurationOverrides =+  SigningConfigurationOverrides'+    { encryptionAlgorithm =+        Prelude.Nothing,+      hashAlgorithm = Prelude.Nothing+    }++-- | A specified override of the default encryption algorithm that is used in+-- a code signing job.+signingConfigurationOverrides_encryptionAlgorithm :: Lens.Lens' SigningConfigurationOverrides (Prelude.Maybe EncryptionAlgorithm)+signingConfigurationOverrides_encryptionAlgorithm = Lens.lens (\SigningConfigurationOverrides' {encryptionAlgorithm} -> encryptionAlgorithm) (\s@SigningConfigurationOverrides' {} a -> s {encryptionAlgorithm = a} :: SigningConfigurationOverrides)++-- | A specified override of the default hash algorithm that is used in a+-- code signing job.+signingConfigurationOverrides_hashAlgorithm :: Lens.Lens' SigningConfigurationOverrides (Prelude.Maybe HashAlgorithm)+signingConfigurationOverrides_hashAlgorithm = Lens.lens (\SigningConfigurationOverrides' {hashAlgorithm} -> hashAlgorithm) (\s@SigningConfigurationOverrides' {} a -> s {hashAlgorithm = a} :: SigningConfigurationOverrides)++instance Data.FromJSON SigningConfigurationOverrides where+  parseJSON =+    Data.withObject+      "SigningConfigurationOverrides"+      ( \x ->+          SigningConfigurationOverrides'+            Prelude.<$> (x Data..:? "encryptionAlgorithm")+            Prelude.<*> (x Data..:? "hashAlgorithm")+      )++instance+  Prelude.Hashable+    SigningConfigurationOverrides+  where+  hashWithSalt _salt SigningConfigurationOverrides' {..} =+    _salt+      `Prelude.hashWithSalt` encryptionAlgorithm+      `Prelude.hashWithSalt` hashAlgorithm++instance Prelude.NFData SigningConfigurationOverrides where+  rnf SigningConfigurationOverrides' {..} =+    Prelude.rnf encryptionAlgorithm+      `Prelude.seq` Prelude.rnf hashAlgorithm++instance Data.ToJSON SigningConfigurationOverrides where+  toJSON SigningConfigurationOverrides' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("encryptionAlgorithm" Data..=)+              Prelude.<$> encryptionAlgorithm,+            ("hashAlgorithm" Data..=) Prelude.<$> hashAlgorithm+          ]+      )
+ gen/Amazonka/Signer/Types/SigningImageFormat.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SigningImageFormat+-- 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.Signer.Types.SigningImageFormat where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.ImageFormat++-- | The image format of a code signing platform or profile.+--+-- /See:/ 'newSigningImageFormat' smart constructor.+data SigningImageFormat = SigningImageFormat'+  { -- | The supported formats of a code signing image.+    supportedFormats :: [ImageFormat],+    -- | The default format of a code signing image.+    defaultFormat :: ImageFormat+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningImageFormat' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'supportedFormats', 'signingImageFormat_supportedFormats' - The supported formats of a code signing image.+--+-- 'defaultFormat', 'signingImageFormat_defaultFormat' - The default format of a code signing image.+newSigningImageFormat ::+  -- | 'defaultFormat'+  ImageFormat ->+  SigningImageFormat+newSigningImageFormat pDefaultFormat_ =+  SigningImageFormat'+    { supportedFormats =+        Prelude.mempty,+      defaultFormat = pDefaultFormat_+    }++-- | The supported formats of a code signing image.+signingImageFormat_supportedFormats :: Lens.Lens' SigningImageFormat [ImageFormat]+signingImageFormat_supportedFormats = Lens.lens (\SigningImageFormat' {supportedFormats} -> supportedFormats) (\s@SigningImageFormat' {} a -> s {supportedFormats = a} :: SigningImageFormat) Prelude.. Lens.coerced++-- | The default format of a code signing image.+signingImageFormat_defaultFormat :: Lens.Lens' SigningImageFormat ImageFormat+signingImageFormat_defaultFormat = Lens.lens (\SigningImageFormat' {defaultFormat} -> defaultFormat) (\s@SigningImageFormat' {} a -> s {defaultFormat = a} :: SigningImageFormat)++instance Data.FromJSON SigningImageFormat where+  parseJSON =+    Data.withObject+      "SigningImageFormat"+      ( \x ->+          SigningImageFormat'+            Prelude.<$> ( x+                            Data..:? "supportedFormats"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "defaultFormat")+      )++instance Prelude.Hashable SigningImageFormat where+  hashWithSalt _salt SigningImageFormat' {..} =+    _salt+      `Prelude.hashWithSalt` supportedFormats+      `Prelude.hashWithSalt` defaultFormat++instance Prelude.NFData SigningImageFormat where+  rnf SigningImageFormat' {..} =+    Prelude.rnf supportedFormats+      `Prelude.seq` Prelude.rnf defaultFormat
+ gen/Amazonka/Signer/Types/SigningJob.hs view
@@ -0,0 +1,241 @@+{-# 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.Signer.Types.SigningJob+-- 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.Signer.Types.SigningJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.SignedObject+import Amazonka.Signer.Types.SigningMaterial+import Amazonka.Signer.Types.SigningStatus+import Amazonka.Signer.Types.Source++-- | Contains information about a signing job.+--+-- /See:/ 'newSigningJob' smart constructor.+data SigningJob = SigningJob'+  { -- | The date and time that the signing job was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | Indicates whether the signing job is revoked.+    isRevoked :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the signing job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The AWS account ID of the job invoker.+    jobInvoker :: Prelude.Maybe Prelude.Text,+    -- | The AWS account ID of the job owner.+    jobOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of a signing platform.+    platformDisplayName :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for a signing platform.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | The name of the signing profile that created a signing job.+    profileName :: Prelude.Maybe Prelude.Text,+    -- | The version of the signing profile that created a signing job.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | The time when the signature of a signing job expires.+    signatureExpiresAt :: Prelude.Maybe Data.POSIX,+    -- | A @SignedObject@ structure that contains information about a signing+    -- job\'s signed code image.+    signedObject :: Prelude.Maybe SignedObject,+    -- | A @SigningMaterial@ object that contains the Amazon Resource Name (ARN)+    -- of the certificate used for the signing job.+    signingMaterial :: Prelude.Maybe SigningMaterial,+    -- | A @Source@ that contains information about a signing job\'s code image+    -- source.+    source :: Prelude.Maybe Source,+    -- | The status of the signing job.+    status :: Prelude.Maybe SigningStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'signingJob_createdAt' - The date and time that the signing job was created.+--+-- 'isRevoked', 'signingJob_isRevoked' - Indicates whether the signing job is revoked.+--+-- 'jobId', 'signingJob_jobId' - The ID of the signing job.+--+-- 'jobInvoker', 'signingJob_jobInvoker' - The AWS account ID of the job invoker.+--+-- 'jobOwner', 'signingJob_jobOwner' - The AWS account ID of the job owner.+--+-- 'platformDisplayName', 'signingJob_platformDisplayName' - The name of a signing platform.+--+-- 'platformId', 'signingJob_platformId' - The unique identifier for a signing platform.+--+-- 'profileName', 'signingJob_profileName' - The name of the signing profile that created a signing job.+--+-- 'profileVersion', 'signingJob_profileVersion' - The version of the signing profile that created a signing job.+--+-- 'signatureExpiresAt', 'signingJob_signatureExpiresAt' - The time when the signature of a signing job expires.+--+-- 'signedObject', 'signingJob_signedObject' - A @SignedObject@ structure that contains information about a signing+-- job\'s signed code image.+--+-- 'signingMaterial', 'signingJob_signingMaterial' - A @SigningMaterial@ object that contains the Amazon Resource Name (ARN)+-- of the certificate used for the signing job.+--+-- 'source', 'signingJob_source' - A @Source@ that contains information about a signing job\'s code image+-- source.+--+-- 'status', 'signingJob_status' - The status of the signing job.+newSigningJob ::+  SigningJob+newSigningJob =+  SigningJob'+    { createdAt = Prelude.Nothing,+      isRevoked = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobInvoker = Prelude.Nothing,+      jobOwner = Prelude.Nothing,+      platformDisplayName = Prelude.Nothing,+      platformId = Prelude.Nothing,+      profileName = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      signatureExpiresAt = Prelude.Nothing,+      signedObject = Prelude.Nothing,+      signingMaterial = Prelude.Nothing,+      source = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The date and time that the signing job was created.+signingJob_createdAt :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.UTCTime)+signingJob_createdAt = Lens.lens (\SigningJob' {createdAt} -> createdAt) (\s@SigningJob' {} a -> s {createdAt = a} :: SigningJob) Prelude.. Lens.mapping Data._Time++-- | Indicates whether the signing job is revoked.+signingJob_isRevoked :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Bool)+signingJob_isRevoked = Lens.lens (\SigningJob' {isRevoked} -> isRevoked) (\s@SigningJob' {} a -> s {isRevoked = a} :: SigningJob)++-- | The ID of the signing job.+signingJob_jobId :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_jobId = Lens.lens (\SigningJob' {jobId} -> jobId) (\s@SigningJob' {} a -> s {jobId = a} :: SigningJob)++-- | The AWS account ID of the job invoker.+signingJob_jobInvoker :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_jobInvoker = Lens.lens (\SigningJob' {jobInvoker} -> jobInvoker) (\s@SigningJob' {} a -> s {jobInvoker = a} :: SigningJob)++-- | The AWS account ID of the job owner.+signingJob_jobOwner :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_jobOwner = Lens.lens (\SigningJob' {jobOwner} -> jobOwner) (\s@SigningJob' {} a -> s {jobOwner = a} :: SigningJob)++-- | The name of a signing platform.+signingJob_platformDisplayName :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_platformDisplayName = Lens.lens (\SigningJob' {platformDisplayName} -> platformDisplayName) (\s@SigningJob' {} a -> s {platformDisplayName = a} :: SigningJob)++-- | The unique identifier for a signing platform.+signingJob_platformId :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_platformId = Lens.lens (\SigningJob' {platformId} -> platformId) (\s@SigningJob' {} a -> s {platformId = a} :: SigningJob)++-- | The name of the signing profile that created a signing job.+signingJob_profileName :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_profileName = Lens.lens (\SigningJob' {profileName} -> profileName) (\s@SigningJob' {} a -> s {profileName = a} :: SigningJob)++-- | The version of the signing profile that created a signing job.+signingJob_profileVersion :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.Text)+signingJob_profileVersion = Lens.lens (\SigningJob' {profileVersion} -> profileVersion) (\s@SigningJob' {} a -> s {profileVersion = a} :: SigningJob)++-- | The time when the signature of a signing job expires.+signingJob_signatureExpiresAt :: Lens.Lens' SigningJob (Prelude.Maybe Prelude.UTCTime)+signingJob_signatureExpiresAt = Lens.lens (\SigningJob' {signatureExpiresAt} -> signatureExpiresAt) (\s@SigningJob' {} a -> s {signatureExpiresAt = a} :: SigningJob) Prelude.. Lens.mapping Data._Time++-- | A @SignedObject@ structure that contains information about a signing+-- job\'s signed code image.+signingJob_signedObject :: Lens.Lens' SigningJob (Prelude.Maybe SignedObject)+signingJob_signedObject = Lens.lens (\SigningJob' {signedObject} -> signedObject) (\s@SigningJob' {} a -> s {signedObject = a} :: SigningJob)++-- | A @SigningMaterial@ object that contains the Amazon Resource Name (ARN)+-- of the certificate used for the signing job.+signingJob_signingMaterial :: Lens.Lens' SigningJob (Prelude.Maybe SigningMaterial)+signingJob_signingMaterial = Lens.lens (\SigningJob' {signingMaterial} -> signingMaterial) (\s@SigningJob' {} a -> s {signingMaterial = a} :: SigningJob)++-- | A @Source@ that contains information about a signing job\'s code image+-- source.+signingJob_source :: Lens.Lens' SigningJob (Prelude.Maybe Source)+signingJob_source = Lens.lens (\SigningJob' {source} -> source) (\s@SigningJob' {} a -> s {source = a} :: SigningJob)++-- | The status of the signing job.+signingJob_status :: Lens.Lens' SigningJob (Prelude.Maybe SigningStatus)+signingJob_status = Lens.lens (\SigningJob' {status} -> status) (\s@SigningJob' {} a -> s {status = a} :: SigningJob)++instance Data.FromJSON SigningJob where+  parseJSON =+    Data.withObject+      "SigningJob"+      ( \x ->+          SigningJob'+            Prelude.<$> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "isRevoked")+            Prelude.<*> (x Data..:? "jobId")+            Prelude.<*> (x Data..:? "jobInvoker")+            Prelude.<*> (x Data..:? "jobOwner")+            Prelude.<*> (x Data..:? "platformDisplayName")+            Prelude.<*> (x Data..:? "platformId")+            Prelude.<*> (x Data..:? "profileName")+            Prelude.<*> (x Data..:? "profileVersion")+            Prelude.<*> (x Data..:? "signatureExpiresAt")+            Prelude.<*> (x Data..:? "signedObject")+            Prelude.<*> (x Data..:? "signingMaterial")+            Prelude.<*> (x Data..:? "source")+            Prelude.<*> (x Data..:? "status")+      )++instance Prelude.Hashable SigningJob where+  hashWithSalt _salt SigningJob' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` isRevoked+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` jobInvoker+      `Prelude.hashWithSalt` jobOwner+      `Prelude.hashWithSalt` platformDisplayName+      `Prelude.hashWithSalt` platformId+      `Prelude.hashWithSalt` profileName+      `Prelude.hashWithSalt` profileVersion+      `Prelude.hashWithSalt` signatureExpiresAt+      `Prelude.hashWithSalt` signedObject+      `Prelude.hashWithSalt` signingMaterial+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` status++instance Prelude.NFData SigningJob where+  rnf SigningJob' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf isRevoked+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobInvoker+      `Prelude.seq` Prelude.rnf jobOwner+      `Prelude.seq` Prelude.rnf platformDisplayName+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf signatureExpiresAt+      `Prelude.seq` Prelude.rnf signedObject+      `Prelude.seq` Prelude.rnf signingMaterial+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Signer/Types/SigningJobRevocationRecord.hs view
@@ -0,0 +1,97 @@+{-# 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.Signer.Types.SigningJobRevocationRecord+-- 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.Signer.Types.SigningJobRevocationRecord 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++-- | Revocation information for a signing job.+--+-- /See:/ 'newSigningJobRevocationRecord' smart constructor.+data SigningJobRevocationRecord = SigningJobRevocationRecord'+  { -- | A caller-supplied reason for revocation.+    reason :: Prelude.Maybe Prelude.Text,+    -- | The time of revocation.+    revokedAt :: Prelude.Maybe Data.POSIX,+    -- | The identity of the revoker.+    revokedBy :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningJobRevocationRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reason', 'signingJobRevocationRecord_reason' - A caller-supplied reason for revocation.+--+-- 'revokedAt', 'signingJobRevocationRecord_revokedAt' - The time of revocation.+--+-- 'revokedBy', 'signingJobRevocationRecord_revokedBy' - The identity of the revoker.+newSigningJobRevocationRecord ::+  SigningJobRevocationRecord+newSigningJobRevocationRecord =+  SigningJobRevocationRecord'+    { reason =+        Prelude.Nothing,+      revokedAt = Prelude.Nothing,+      revokedBy = Prelude.Nothing+    }++-- | A caller-supplied reason for revocation.+signingJobRevocationRecord_reason :: Lens.Lens' SigningJobRevocationRecord (Prelude.Maybe Prelude.Text)+signingJobRevocationRecord_reason = Lens.lens (\SigningJobRevocationRecord' {reason} -> reason) (\s@SigningJobRevocationRecord' {} a -> s {reason = a} :: SigningJobRevocationRecord)++-- | The time of revocation.+signingJobRevocationRecord_revokedAt :: Lens.Lens' SigningJobRevocationRecord (Prelude.Maybe Prelude.UTCTime)+signingJobRevocationRecord_revokedAt = Lens.lens (\SigningJobRevocationRecord' {revokedAt} -> revokedAt) (\s@SigningJobRevocationRecord' {} a -> s {revokedAt = a} :: SigningJobRevocationRecord) Prelude.. Lens.mapping Data._Time++-- | The identity of the revoker.+signingJobRevocationRecord_revokedBy :: Lens.Lens' SigningJobRevocationRecord (Prelude.Maybe Prelude.Text)+signingJobRevocationRecord_revokedBy = Lens.lens (\SigningJobRevocationRecord' {revokedBy} -> revokedBy) (\s@SigningJobRevocationRecord' {} a -> s {revokedBy = a} :: SigningJobRevocationRecord)++instance Data.FromJSON SigningJobRevocationRecord where+  parseJSON =+    Data.withObject+      "SigningJobRevocationRecord"+      ( \x ->+          SigningJobRevocationRecord'+            Prelude.<$> (x Data..:? "reason")+            Prelude.<*> (x Data..:? "revokedAt")+            Prelude.<*> (x Data..:? "revokedBy")+      )++instance Prelude.Hashable SigningJobRevocationRecord where+  hashWithSalt _salt SigningJobRevocationRecord' {..} =+    _salt+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` revokedAt+      `Prelude.hashWithSalt` revokedBy++instance Prelude.NFData SigningJobRevocationRecord where+  rnf SigningJobRevocationRecord' {..} =+    Prelude.rnf reason+      `Prelude.seq` Prelude.rnf revokedAt+      `Prelude.seq` Prelude.rnf revokedBy
+ gen/Amazonka/Signer/Types/SigningMaterial.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SigningMaterial+-- 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.Signer.Types.SigningMaterial where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The ACM certificate that is used to sign your code.+--+-- /See:/ 'newSigningMaterial' smart constructor.+data SigningMaterial = SigningMaterial'+  { -- | The Amazon Resource Name (ARN) of the certificates that is used to sign+    -- your code.+    certificateArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningMaterial' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificateArn', 'signingMaterial_certificateArn' - The Amazon Resource Name (ARN) of the certificates that is used to sign+-- your code.+newSigningMaterial ::+  -- | 'certificateArn'+  Prelude.Text ->+  SigningMaterial+newSigningMaterial pCertificateArn_ =+  SigningMaterial' {certificateArn = pCertificateArn_}++-- | The Amazon Resource Name (ARN) of the certificates that is used to sign+-- your code.+signingMaterial_certificateArn :: Lens.Lens' SigningMaterial Prelude.Text+signingMaterial_certificateArn = Lens.lens (\SigningMaterial' {certificateArn} -> certificateArn) (\s@SigningMaterial' {} a -> s {certificateArn = a} :: SigningMaterial)++instance Data.FromJSON SigningMaterial where+  parseJSON =+    Data.withObject+      "SigningMaterial"+      ( \x ->+          SigningMaterial'+            Prelude.<$> (x Data..: "certificateArn")+      )++instance Prelude.Hashable SigningMaterial where+  hashWithSalt _salt SigningMaterial' {..} =+    _salt `Prelude.hashWithSalt` certificateArn++instance Prelude.NFData SigningMaterial where+  rnf SigningMaterial' {..} = Prelude.rnf certificateArn++instance Data.ToJSON SigningMaterial where+  toJSON SigningMaterial' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("certificateArn" Data..= certificateArn)+          ]+      )
+ gen/Amazonka/Signer/Types/SigningPlatform.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SigningPlatform+-- 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.Signer.Types.SigningPlatform where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.Category+import Amazonka.Signer.Types.SigningConfiguration+import Amazonka.Signer.Types.SigningImageFormat++-- | Contains information about the signing configurations and parameters+-- that are used to perform a code signing job.+--+-- /See:/ 'newSigningPlatform' smart constructor.+data SigningPlatform = SigningPlatform'+  { -- | The category of a code signing platform.+    category :: Prelude.Maybe Category,+    -- | The display name of a code signing platform.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The maximum size (in MB) of code that can be signed by a code signing+    -- platform.+    maxSizeInMB :: Prelude.Maybe Prelude.Int,+    -- | Any partner entities linked to a code signing platform.+    partner :: Prelude.Maybe Prelude.Text,+    -- | The ID of a code signing; platform.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether revocation is supported for the platform.+    revocationSupported :: Prelude.Maybe Prelude.Bool,+    -- | The configuration of a code signing platform. This includes the+    -- designated hash algorithm and encryption algorithm of a signing+    -- platform.+    signingConfiguration :: Prelude.Maybe SigningConfiguration,+    signingImageFormat :: Prelude.Maybe SigningImageFormat,+    -- | The types of targets that can be signed by a code signing platform.+    target :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningPlatform' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'signingPlatform_category' - The category of a code signing platform.+--+-- 'displayName', 'signingPlatform_displayName' - The display name of a code signing platform.+--+-- 'maxSizeInMB', 'signingPlatform_maxSizeInMB' - The maximum size (in MB) of code that can be signed by a code signing+-- platform.+--+-- 'partner', 'signingPlatform_partner' - Any partner entities linked to a code signing platform.+--+-- 'platformId', 'signingPlatform_platformId' - The ID of a code signing; platform.+--+-- 'revocationSupported', 'signingPlatform_revocationSupported' - Indicates whether revocation is supported for the platform.+--+-- 'signingConfiguration', 'signingPlatform_signingConfiguration' - The configuration of a code signing platform. This includes the+-- designated hash algorithm and encryption algorithm of a signing+-- platform.+--+-- 'signingImageFormat', 'signingPlatform_signingImageFormat' - Undocumented member.+--+-- 'target', 'signingPlatform_target' - The types of targets that can be signed by a code signing platform.+newSigningPlatform ::+  SigningPlatform+newSigningPlatform =+  SigningPlatform'+    { category = Prelude.Nothing,+      displayName = Prelude.Nothing,+      maxSizeInMB = Prelude.Nothing,+      partner = Prelude.Nothing,+      platformId = Prelude.Nothing,+      revocationSupported = Prelude.Nothing,+      signingConfiguration = Prelude.Nothing,+      signingImageFormat = Prelude.Nothing,+      target = Prelude.Nothing+    }++-- | The category of a code signing platform.+signingPlatform_category :: Lens.Lens' SigningPlatform (Prelude.Maybe Category)+signingPlatform_category = Lens.lens (\SigningPlatform' {category} -> category) (\s@SigningPlatform' {} a -> s {category = a} :: SigningPlatform)++-- | The display name of a code signing platform.+signingPlatform_displayName :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Text)+signingPlatform_displayName = Lens.lens (\SigningPlatform' {displayName} -> displayName) (\s@SigningPlatform' {} a -> s {displayName = a} :: SigningPlatform)++-- | The maximum size (in MB) of code that can be signed by a code signing+-- platform.+signingPlatform_maxSizeInMB :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Int)+signingPlatform_maxSizeInMB = Lens.lens (\SigningPlatform' {maxSizeInMB} -> maxSizeInMB) (\s@SigningPlatform' {} a -> s {maxSizeInMB = a} :: SigningPlatform)++-- | Any partner entities linked to a code signing platform.+signingPlatform_partner :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Text)+signingPlatform_partner = Lens.lens (\SigningPlatform' {partner} -> partner) (\s@SigningPlatform' {} a -> s {partner = a} :: SigningPlatform)++-- | The ID of a code signing; platform.+signingPlatform_platformId :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Text)+signingPlatform_platformId = Lens.lens (\SigningPlatform' {platformId} -> platformId) (\s@SigningPlatform' {} a -> s {platformId = a} :: SigningPlatform)++-- | Indicates whether revocation is supported for the platform.+signingPlatform_revocationSupported :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Bool)+signingPlatform_revocationSupported = Lens.lens (\SigningPlatform' {revocationSupported} -> revocationSupported) (\s@SigningPlatform' {} a -> s {revocationSupported = a} :: SigningPlatform)++-- | The configuration of a code signing platform. This includes the+-- designated hash algorithm and encryption algorithm of a signing+-- platform.+signingPlatform_signingConfiguration :: Lens.Lens' SigningPlatform (Prelude.Maybe SigningConfiguration)+signingPlatform_signingConfiguration = Lens.lens (\SigningPlatform' {signingConfiguration} -> signingConfiguration) (\s@SigningPlatform' {} a -> s {signingConfiguration = a} :: SigningPlatform)++-- | Undocumented member.+signingPlatform_signingImageFormat :: Lens.Lens' SigningPlatform (Prelude.Maybe SigningImageFormat)+signingPlatform_signingImageFormat = Lens.lens (\SigningPlatform' {signingImageFormat} -> signingImageFormat) (\s@SigningPlatform' {} a -> s {signingImageFormat = a} :: SigningPlatform)++-- | The types of targets that can be signed by a code signing platform.+signingPlatform_target :: Lens.Lens' SigningPlatform (Prelude.Maybe Prelude.Text)+signingPlatform_target = Lens.lens (\SigningPlatform' {target} -> target) (\s@SigningPlatform' {} a -> s {target = a} :: SigningPlatform)++instance Data.FromJSON SigningPlatform where+  parseJSON =+    Data.withObject+      "SigningPlatform"+      ( \x ->+          SigningPlatform'+            Prelude.<$> (x Data..:? "category")+            Prelude.<*> (x Data..:? "displayName")+            Prelude.<*> (x Data..:? "maxSizeInMB")+            Prelude.<*> (x Data..:? "partner")+            Prelude.<*> (x Data..:? "platformId")+            Prelude.<*> (x Data..:? "revocationSupported")+            Prelude.<*> (x Data..:? "signingConfiguration")+            Prelude.<*> (x Data..:? "signingImageFormat")+            Prelude.<*> (x Data..:? "target")+      )++instance Prelude.Hashable SigningPlatform where+  hashWithSalt _salt SigningPlatform' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` maxSizeInMB+      `Prelude.hashWithSalt` partner+      `Prelude.hashWithSalt` platformId+      `Prelude.hashWithSalt` revocationSupported+      `Prelude.hashWithSalt` signingConfiguration+      `Prelude.hashWithSalt` signingImageFormat+      `Prelude.hashWithSalt` target++instance Prelude.NFData SigningPlatform where+  rnf SigningPlatform' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf maxSizeInMB+      `Prelude.seq` Prelude.rnf partner+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf revocationSupported+      `Prelude.seq` Prelude.rnf signingConfiguration+      `Prelude.seq` Prelude.rnf signingImageFormat+      `Prelude.seq` Prelude.rnf target
+ gen/Amazonka/Signer/Types/SigningPlatformOverrides.hs view
@@ -0,0 +1,117 @@+{-# 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.Signer.Types.SigningPlatformOverrides+-- 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.Signer.Types.SigningPlatformOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.ImageFormat+import Amazonka.Signer.Types.SigningConfigurationOverrides++-- | Any overrides that are applied to the signing configuration of a code+-- signing platform.+--+-- /See:/ 'newSigningPlatformOverrides' smart constructor.+data SigningPlatformOverrides = SigningPlatformOverrides'+  { -- | A signing configuration that overrides the default encryption or hash+    -- algorithm of a signing job.+    signingConfiguration :: Prelude.Maybe SigningConfigurationOverrides,+    -- | A signed image is a JSON object. When overriding the default signing+    -- platform configuration, a customer can select either of two signing+    -- formats, @JSONEmbedded@ or @JSONDetached@. (A third format value,+    -- @JSON@, is reserved for future use.) With @JSONEmbedded@, the signing+    -- image has the payload embedded in it. With @JSONDetached@, the payload+    -- is not be embedded in the signing image.+    signingImageFormat :: Prelude.Maybe ImageFormat+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningPlatformOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'signingConfiguration', 'signingPlatformOverrides_signingConfiguration' - A signing configuration that overrides the default encryption or hash+-- algorithm of a signing job.+--+-- 'signingImageFormat', 'signingPlatformOverrides_signingImageFormat' - A signed image is a JSON object. When overriding the default signing+-- platform configuration, a customer can select either of two signing+-- formats, @JSONEmbedded@ or @JSONDetached@. (A third format value,+-- @JSON@, is reserved for future use.) With @JSONEmbedded@, the signing+-- image has the payload embedded in it. With @JSONDetached@, the payload+-- is not be embedded in the signing image.+newSigningPlatformOverrides ::+  SigningPlatformOverrides+newSigningPlatformOverrides =+  SigningPlatformOverrides'+    { signingConfiguration =+        Prelude.Nothing,+      signingImageFormat = Prelude.Nothing+    }++-- | A signing configuration that overrides the default encryption or hash+-- algorithm of a signing job.+signingPlatformOverrides_signingConfiguration :: Lens.Lens' SigningPlatformOverrides (Prelude.Maybe SigningConfigurationOverrides)+signingPlatformOverrides_signingConfiguration = Lens.lens (\SigningPlatformOverrides' {signingConfiguration} -> signingConfiguration) (\s@SigningPlatformOverrides' {} a -> s {signingConfiguration = a} :: SigningPlatformOverrides)++-- | A signed image is a JSON object. When overriding the default signing+-- platform configuration, a customer can select either of two signing+-- formats, @JSONEmbedded@ or @JSONDetached@. (A third format value,+-- @JSON@, is reserved for future use.) With @JSONEmbedded@, the signing+-- image has the payload embedded in it. With @JSONDetached@, the payload+-- is not be embedded in the signing image.+signingPlatformOverrides_signingImageFormat :: Lens.Lens' SigningPlatformOverrides (Prelude.Maybe ImageFormat)+signingPlatformOverrides_signingImageFormat = Lens.lens (\SigningPlatformOverrides' {signingImageFormat} -> signingImageFormat) (\s@SigningPlatformOverrides' {} a -> s {signingImageFormat = a} :: SigningPlatformOverrides)++instance Data.FromJSON SigningPlatformOverrides where+  parseJSON =+    Data.withObject+      "SigningPlatformOverrides"+      ( \x ->+          SigningPlatformOverrides'+            Prelude.<$> (x Data..:? "signingConfiguration")+            Prelude.<*> (x Data..:? "signingImageFormat")+      )++instance Prelude.Hashable SigningPlatformOverrides where+  hashWithSalt _salt SigningPlatformOverrides' {..} =+    _salt+      `Prelude.hashWithSalt` signingConfiguration+      `Prelude.hashWithSalt` signingImageFormat++instance Prelude.NFData SigningPlatformOverrides where+  rnf SigningPlatformOverrides' {..} =+    Prelude.rnf signingConfiguration+      `Prelude.seq` Prelude.rnf signingImageFormat++instance Data.ToJSON SigningPlatformOverrides where+  toJSON SigningPlatformOverrides' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("signingConfiguration" Data..=)+              Prelude.<$> signingConfiguration,+            ("signingImageFormat" Data..=)+              Prelude.<$> signingImageFormat+          ]+      )
+ gen/Amazonka/Signer/Types/SigningProfile.hs view
@@ -0,0 +1,202 @@+{-# 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.Signer.Types.SigningProfile+-- 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.Signer.Types.SigningProfile where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.SignatureValidityPeriod+import Amazonka.Signer.Types.SigningMaterial+import Amazonka.Signer.Types.SigningProfileStatus++-- | Contains information about the ACM certificates and code signing+-- configuration parameters that can be used by a given code signing user.+--+-- /See:/ 'newSigningProfile' smart constructor.+data SigningProfile = SigningProfile'+  { -- | The Amazon Resource Name (ARN) for the signing profile.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the signing platform.+    platformDisplayName :: Prelude.Maybe Prelude.Text,+    -- | The ID of a platform that is available for use by a signing profile.+    platformId :: Prelude.Maybe Prelude.Text,+    -- | The name of the signing profile.+    profileName :: Prelude.Maybe Prelude.Text,+    -- | The version of a signing profile.+    profileVersion :: Prelude.Maybe Prelude.Text,+    -- | The ARN of a signing profile, including the profile version.+    profileVersionArn :: Prelude.Maybe Prelude.Text,+    -- | The validity period for a signing job created using this signing+    -- profile.+    signatureValidityPeriod :: Prelude.Maybe SignatureValidityPeriod,+    -- | The ACM certificate that is available for use by a signing profile.+    signingMaterial :: Prelude.Maybe SigningMaterial,+    -- | The parameters that are available for use by a code signing user.+    signingParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The status of a code signing profile.+    status :: Prelude.Maybe SigningProfileStatus,+    -- | A list of tags associated with the signing profile.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'signingProfile_arn' - The Amazon Resource Name (ARN) for the signing profile.+--+-- 'platformDisplayName', 'signingProfile_platformDisplayName' - The name of the signing platform.+--+-- 'platformId', 'signingProfile_platformId' - The ID of a platform that is available for use by a signing profile.+--+-- 'profileName', 'signingProfile_profileName' - The name of the signing profile.+--+-- 'profileVersion', 'signingProfile_profileVersion' - The version of a signing profile.+--+-- 'profileVersionArn', 'signingProfile_profileVersionArn' - The ARN of a signing profile, including the profile version.+--+-- 'signatureValidityPeriod', 'signingProfile_signatureValidityPeriod' - The validity period for a signing job created using this signing+-- profile.+--+-- 'signingMaterial', 'signingProfile_signingMaterial' - The ACM certificate that is available for use by a signing profile.+--+-- 'signingParameters', 'signingProfile_signingParameters' - The parameters that are available for use by a code signing user.+--+-- 'status', 'signingProfile_status' - The status of a code signing profile.+--+-- 'tags', 'signingProfile_tags' - A list of tags associated with the signing profile.+newSigningProfile ::+  SigningProfile+newSigningProfile =+  SigningProfile'+    { arn = Prelude.Nothing,+      platformDisplayName = Prelude.Nothing,+      platformId = Prelude.Nothing,+      profileName = Prelude.Nothing,+      profileVersion = Prelude.Nothing,+      profileVersionArn = Prelude.Nothing,+      signatureValidityPeriod = Prelude.Nothing,+      signingMaterial = Prelude.Nothing,+      signingParameters = Prelude.Nothing,+      status = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the signing profile.+signingProfile_arn :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_arn = Lens.lens (\SigningProfile' {arn} -> arn) (\s@SigningProfile' {} a -> s {arn = a} :: SigningProfile)++-- | The name of the signing platform.+signingProfile_platformDisplayName :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_platformDisplayName = Lens.lens (\SigningProfile' {platformDisplayName} -> platformDisplayName) (\s@SigningProfile' {} a -> s {platformDisplayName = a} :: SigningProfile)++-- | The ID of a platform that is available for use by a signing profile.+signingProfile_platformId :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_platformId = Lens.lens (\SigningProfile' {platformId} -> platformId) (\s@SigningProfile' {} a -> s {platformId = a} :: SigningProfile)++-- | The name of the signing profile.+signingProfile_profileName :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_profileName = Lens.lens (\SigningProfile' {profileName} -> profileName) (\s@SigningProfile' {} a -> s {profileName = a} :: SigningProfile)++-- | The version of a signing profile.+signingProfile_profileVersion :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_profileVersion = Lens.lens (\SigningProfile' {profileVersion} -> profileVersion) (\s@SigningProfile' {} a -> s {profileVersion = a} :: SigningProfile)++-- | The ARN of a signing profile, including the profile version.+signingProfile_profileVersionArn :: Lens.Lens' SigningProfile (Prelude.Maybe Prelude.Text)+signingProfile_profileVersionArn = Lens.lens (\SigningProfile' {profileVersionArn} -> profileVersionArn) (\s@SigningProfile' {} a -> s {profileVersionArn = a} :: SigningProfile)++-- | The validity period for a signing job created using this signing+-- profile.+signingProfile_signatureValidityPeriod :: Lens.Lens' SigningProfile (Prelude.Maybe SignatureValidityPeriod)+signingProfile_signatureValidityPeriod = Lens.lens (\SigningProfile' {signatureValidityPeriod} -> signatureValidityPeriod) (\s@SigningProfile' {} a -> s {signatureValidityPeriod = a} :: SigningProfile)++-- | The ACM certificate that is available for use by a signing profile.+signingProfile_signingMaterial :: Lens.Lens' SigningProfile (Prelude.Maybe SigningMaterial)+signingProfile_signingMaterial = Lens.lens (\SigningProfile' {signingMaterial} -> signingMaterial) (\s@SigningProfile' {} a -> s {signingMaterial = a} :: SigningProfile)++-- | The parameters that are available for use by a code signing user.+signingProfile_signingParameters :: Lens.Lens' SigningProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+signingProfile_signingParameters = Lens.lens (\SigningProfile' {signingParameters} -> signingParameters) (\s@SigningProfile' {} a -> s {signingParameters = a} :: SigningProfile) Prelude.. Lens.mapping Lens.coerced++-- | The status of a code signing profile.+signingProfile_status :: Lens.Lens' SigningProfile (Prelude.Maybe SigningProfileStatus)+signingProfile_status = Lens.lens (\SigningProfile' {status} -> status) (\s@SigningProfile' {} a -> s {status = a} :: SigningProfile)++-- | A list of tags associated with the signing profile.+signingProfile_tags :: Lens.Lens' SigningProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+signingProfile_tags = Lens.lens (\SigningProfile' {tags} -> tags) (\s@SigningProfile' {} a -> s {tags = a} :: SigningProfile) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SigningProfile where+  parseJSON =+    Data.withObject+      "SigningProfile"+      ( \x ->+          SigningProfile'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "platformDisplayName")+            Prelude.<*> (x Data..:? "platformId")+            Prelude.<*> (x Data..:? "profileName")+            Prelude.<*> (x Data..:? "profileVersion")+            Prelude.<*> (x Data..:? "profileVersionArn")+            Prelude.<*> (x Data..:? "signatureValidityPeriod")+            Prelude.<*> (x Data..:? "signingMaterial")+            Prelude.<*> ( x+                            Data..:? "signingParameters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable SigningProfile where+  hashWithSalt _salt SigningProfile' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` platformDisplayName+      `Prelude.hashWithSalt` platformId+      `Prelude.hashWithSalt` profileName+      `Prelude.hashWithSalt` profileVersion+      `Prelude.hashWithSalt` profileVersionArn+      `Prelude.hashWithSalt` signatureValidityPeriod+      `Prelude.hashWithSalt` signingMaterial+      `Prelude.hashWithSalt` signingParameters+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` tags++instance Prelude.NFData SigningProfile where+  rnf SigningProfile' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf platformDisplayName+      `Prelude.seq` Prelude.rnf platformId+      `Prelude.seq` Prelude.rnf profileName+      `Prelude.seq` Prelude.rnf profileVersion+      `Prelude.seq` Prelude.rnf profileVersionArn+      `Prelude.seq` Prelude.rnf signatureValidityPeriod+      `Prelude.seq` Prelude.rnf signingMaterial+      `Prelude.seq` Prelude.rnf signingParameters+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Signer/Types/SigningProfileRevocationRecord.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.SigningProfileRevocationRecord+-- 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.Signer.Types.SigningProfileRevocationRecord 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++-- | Revocation information for a signing profile.+--+-- /See:/ 'newSigningProfileRevocationRecord' smart constructor.+data SigningProfileRevocationRecord = SigningProfileRevocationRecord'+  { -- | The time when revocation becomes effective.+    revocationEffectiveFrom :: Prelude.Maybe Data.POSIX,+    -- | The time when the signing profile was revoked.+    revokedAt :: Prelude.Maybe Data.POSIX,+    -- | The identity of the revoker.+    revokedBy :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SigningProfileRevocationRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revocationEffectiveFrom', 'signingProfileRevocationRecord_revocationEffectiveFrom' - The time when revocation becomes effective.+--+-- 'revokedAt', 'signingProfileRevocationRecord_revokedAt' - The time when the signing profile was revoked.+--+-- 'revokedBy', 'signingProfileRevocationRecord_revokedBy' - The identity of the revoker.+newSigningProfileRevocationRecord ::+  SigningProfileRevocationRecord+newSigningProfileRevocationRecord =+  SigningProfileRevocationRecord'+    { revocationEffectiveFrom =+        Prelude.Nothing,+      revokedAt = Prelude.Nothing,+      revokedBy = Prelude.Nothing+    }++-- | The time when revocation becomes effective.+signingProfileRevocationRecord_revocationEffectiveFrom :: Lens.Lens' SigningProfileRevocationRecord (Prelude.Maybe Prelude.UTCTime)+signingProfileRevocationRecord_revocationEffectiveFrom = Lens.lens (\SigningProfileRevocationRecord' {revocationEffectiveFrom} -> revocationEffectiveFrom) (\s@SigningProfileRevocationRecord' {} a -> s {revocationEffectiveFrom = a} :: SigningProfileRevocationRecord) Prelude.. Lens.mapping Data._Time++-- | The time when the signing profile was revoked.+signingProfileRevocationRecord_revokedAt :: Lens.Lens' SigningProfileRevocationRecord (Prelude.Maybe Prelude.UTCTime)+signingProfileRevocationRecord_revokedAt = Lens.lens (\SigningProfileRevocationRecord' {revokedAt} -> revokedAt) (\s@SigningProfileRevocationRecord' {} a -> s {revokedAt = a} :: SigningProfileRevocationRecord) Prelude.. Lens.mapping Data._Time++-- | The identity of the revoker.+signingProfileRevocationRecord_revokedBy :: Lens.Lens' SigningProfileRevocationRecord (Prelude.Maybe Prelude.Text)+signingProfileRevocationRecord_revokedBy = Lens.lens (\SigningProfileRevocationRecord' {revokedBy} -> revokedBy) (\s@SigningProfileRevocationRecord' {} a -> s {revokedBy = a} :: SigningProfileRevocationRecord)++instance Data.FromJSON SigningProfileRevocationRecord where+  parseJSON =+    Data.withObject+      "SigningProfileRevocationRecord"+      ( \x ->+          SigningProfileRevocationRecord'+            Prelude.<$> (x Data..:? "revocationEffectiveFrom")+            Prelude.<*> (x Data..:? "revokedAt")+            Prelude.<*> (x Data..:? "revokedBy")+      )++instance+  Prelude.Hashable+    SigningProfileRevocationRecord+  where+  hashWithSalt+    _salt+    SigningProfileRevocationRecord' {..} =+      _salt+        `Prelude.hashWithSalt` revocationEffectiveFrom+        `Prelude.hashWithSalt` revokedAt+        `Prelude.hashWithSalt` revokedBy++instance+  Prelude.NFData+    SigningProfileRevocationRecord+  where+  rnf SigningProfileRevocationRecord' {..} =+    Prelude.rnf revocationEffectiveFrom+      `Prelude.seq` Prelude.rnf revokedAt+      `Prelude.seq` Prelude.rnf revokedBy
+ gen/Amazonka/Signer/Types/SigningProfileStatus.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.Signer.Types.SigningProfileStatus+-- 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.Signer.Types.SigningProfileStatus+  ( SigningProfileStatus+      ( ..,+        SigningProfileStatus_Active,+        SigningProfileStatus_Canceled,+        SigningProfileStatus_Revoked+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SigningProfileStatus = SigningProfileStatus'+  { fromSigningProfileStatus ::+      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 SigningProfileStatus_Active :: SigningProfileStatus+pattern SigningProfileStatus_Active = SigningProfileStatus' "Active"++pattern SigningProfileStatus_Canceled :: SigningProfileStatus+pattern SigningProfileStatus_Canceled = SigningProfileStatus' "Canceled"++pattern SigningProfileStatus_Revoked :: SigningProfileStatus+pattern SigningProfileStatus_Revoked = SigningProfileStatus' "Revoked"++{-# COMPLETE+  SigningProfileStatus_Active,+  SigningProfileStatus_Canceled,+  SigningProfileStatus_Revoked,+  SigningProfileStatus'+  #-}
+ gen/Amazonka/Signer/Types/SigningStatus.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.Signer.Types.SigningStatus+-- 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.Signer.Types.SigningStatus+  ( SigningStatus+      ( ..,+        SigningStatus_Failed,+        SigningStatus_InProgress,+        SigningStatus_Succeeded+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SigningStatus = SigningStatus'+  { fromSigningStatus ::+      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 SigningStatus_Failed :: SigningStatus+pattern SigningStatus_Failed = SigningStatus' "Failed"++pattern SigningStatus_InProgress :: SigningStatus+pattern SigningStatus_InProgress = SigningStatus' "InProgress"++pattern SigningStatus_Succeeded :: SigningStatus+pattern SigningStatus_Succeeded = SigningStatus' "Succeeded"++{-# COMPLETE+  SigningStatus_Failed,+  SigningStatus_InProgress,+  SigningStatus_Succeeded,+  SigningStatus'+  #-}
+ gen/Amazonka/Signer/Types/Source.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Signer.Types.Source+-- 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.Signer.Types.Source where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.Types.S3Source++-- | An @S3Source@ object that contains information about the S3 bucket where+-- you saved your unsigned code.+--+-- /See:/ 'newSource' smart constructor.+data Source = Source'+  { -- | The @S3Source@ object.+    s3 :: Prelude.Maybe S3Source+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Source' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3', 'source_s3' - The @S3Source@ object.+newSource ::+  Source+newSource = Source' {s3 = Prelude.Nothing}++-- | The @S3Source@ object.+source_s3 :: Lens.Lens' Source (Prelude.Maybe S3Source)+source_s3 = Lens.lens (\Source' {s3} -> s3) (\s@Source' {} a -> s {s3 = a} :: Source)++instance Data.FromJSON Source where+  parseJSON =+    Data.withObject+      "Source"+      (\x -> Source' Prelude.<$> (x Data..:? "s3"))++instance Prelude.Hashable Source where+  hashWithSalt _salt Source' {..} =+    _salt `Prelude.hashWithSalt` s3++instance Prelude.NFData Source where+  rnf Source' {..} = Prelude.rnf s3++instance Data.ToJSON Source where+  toJSON Source' {..} =+    Data.object+      (Prelude.catMaybes [("s3" Data..=) Prelude.<$> s3])
+ gen/Amazonka/Signer/Types/ValidityType.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.Signer.Types.ValidityType+-- 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.Signer.Types.ValidityType+  ( ValidityType+      ( ..,+        ValidityType_DAYS,+        ValidityType_MONTHS,+        ValidityType_YEARS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ValidityType = ValidityType'+  { fromValidityType ::+      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 ValidityType_DAYS :: ValidityType+pattern ValidityType_DAYS = ValidityType' "DAYS"++pattern ValidityType_MONTHS :: ValidityType+pattern ValidityType_MONTHS = ValidityType' "MONTHS"++pattern ValidityType_YEARS :: ValidityType+pattern ValidityType_YEARS = ValidityType' "YEARS"++{-# COMPLETE+  ValidityType_DAYS,+  ValidityType_MONTHS,+  ValidityType_YEARS,+  ValidityType'+  #-}
+ gen/Amazonka/Signer/UntagResource.hs view
@@ -0,0 +1,164 @@+{-# 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.Signer.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 one or more tags from a signing profile. To remove the tags,+-- specify a list of tag keys.+module Amazonka.Signer.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Signer.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) for the signing profile.+    resourceArn :: Prelude.Text,+    -- | A list of tag keys to be removed from the signing profile.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) for the signing profile.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of tag keys to be removed from the signing profile.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) for the signing profile.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of tag keys to be removed from the signing profile.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Signer/Waiters.hs view
@@ -0,0 +1,53 @@+{-# 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.Signer.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.Signer.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Signer.DescribeSigningJob+import Amazonka.Signer.Lens+import Amazonka.Signer.Types++-- | Polls 'Amazonka.Signer.DescribeSigningJob' every 20 seconds until a successful state is reached. An error is returned after 25 failed checks.+newSuccessfulSigningJob :: Core.Wait DescribeSigningJob+newSuccessfulSigningJob =+  Core.Wait+    { Core.name = "SuccessfulSigningJob",+      Core.attempts = 25,+      Core.delay = 20,+      Core.acceptors =+        [ Core.matchAll+            "Succeeded"+            Core.AcceptSuccess+            ( describeSigningJobResponse_status+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "Failed"+            Core.AcceptFailure+            ( describeSigningJobResponse_status+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchError+            "ResourceNotFoundException"+            Core.AcceptFailure+        ]+    }
+ 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.Signer+import Test.Amazonka.Signer.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Signer"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Signer.hs view
@@ -0,0 +1,378 @@+{-# 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.Signer+-- 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.Signer where++import Amazonka.Signer+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.Signer.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestAddProfilePermission $+--             newAddProfilePermission+--+--         , requestCancelSigningProfile $+--             newCancelSigningProfile+--+--         , requestDescribeSigningJob $+--             newDescribeSigningJob+--+--         , requestGetSigningPlatform $+--             newGetSigningPlatform+--+--         , requestGetSigningProfile $+--             newGetSigningProfile+--+--         , requestListProfilePermissions $+--             newListProfilePermissions+--+--         , requestListSigningJobs $+--             newListSigningJobs+--+--         , requestListSigningPlatforms $+--             newListSigningPlatforms+--+--         , requestListSigningProfiles $+--             newListSigningProfiles+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutSigningProfile $+--             newPutSigningProfile+--+--         , requestRemoveProfilePermission $+--             newRemoveProfilePermission+--+--         , requestRevokeSignature $+--             newRevokeSignature+--+--         , requestRevokeSigningProfile $+--             newRevokeSigningProfile+--+--         , requestStartSigningJob $+--             newStartSigningJob+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseAddProfilePermission $+--             newAddProfilePermissionResponse+--+--         , responseCancelSigningProfile $+--             newCancelSigningProfileResponse+--+--         , responseDescribeSigningJob $+--             newDescribeSigningJobResponse+--+--         , responseGetSigningPlatform $+--             newGetSigningPlatformResponse+--+--         , responseGetSigningProfile $+--             newGetSigningProfileResponse+--+--         , responseListProfilePermissions $+--             newListProfilePermissionsResponse+--+--         , responseListSigningJobs $+--             newListSigningJobsResponse+--+--         , responseListSigningPlatforms $+--             newListSigningPlatformsResponse+--+--         , responseListSigningProfiles $+--             newListSigningProfilesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutSigningProfile $+--             newPutSigningProfileResponse+--+--         , responseRemoveProfilePermission $+--             newRemoveProfilePermissionResponse+--+--         , responseRevokeSignature $+--             newRevokeSignatureResponse+--+--         , responseRevokeSigningProfile $+--             newRevokeSigningProfileResponse+--+--         , responseStartSigningJob $+--             newStartSigningJobResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestAddProfilePermission :: AddProfilePermission -> TestTree+requestAddProfilePermission =+  req+    "AddProfilePermission"+    "fixture/AddProfilePermission.yaml"++requestCancelSigningProfile :: CancelSigningProfile -> TestTree+requestCancelSigningProfile =+  req+    "CancelSigningProfile"+    "fixture/CancelSigningProfile.yaml"++requestDescribeSigningJob :: DescribeSigningJob -> TestTree+requestDescribeSigningJob =+  req+    "DescribeSigningJob"+    "fixture/DescribeSigningJob.yaml"++requestGetSigningPlatform :: GetSigningPlatform -> TestTree+requestGetSigningPlatform =+  req+    "GetSigningPlatform"+    "fixture/GetSigningPlatform.yaml"++requestGetSigningProfile :: GetSigningProfile -> TestTree+requestGetSigningProfile =+  req+    "GetSigningProfile"+    "fixture/GetSigningProfile.yaml"++requestListProfilePermissions :: ListProfilePermissions -> TestTree+requestListProfilePermissions =+  req+    "ListProfilePermissions"+    "fixture/ListProfilePermissions.yaml"++requestListSigningJobs :: ListSigningJobs -> TestTree+requestListSigningJobs =+  req+    "ListSigningJobs"+    "fixture/ListSigningJobs.yaml"++requestListSigningPlatforms :: ListSigningPlatforms -> TestTree+requestListSigningPlatforms =+  req+    "ListSigningPlatforms"+    "fixture/ListSigningPlatforms.yaml"++requestListSigningProfiles :: ListSigningProfiles -> TestTree+requestListSigningProfiles =+  req+    "ListSigningProfiles"+    "fixture/ListSigningProfiles.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutSigningProfile :: PutSigningProfile -> TestTree+requestPutSigningProfile =+  req+    "PutSigningProfile"+    "fixture/PutSigningProfile.yaml"++requestRemoveProfilePermission :: RemoveProfilePermission -> TestTree+requestRemoveProfilePermission =+  req+    "RemoveProfilePermission"+    "fixture/RemoveProfilePermission.yaml"++requestRevokeSignature :: RevokeSignature -> TestTree+requestRevokeSignature =+  req+    "RevokeSignature"+    "fixture/RevokeSignature.yaml"++requestRevokeSigningProfile :: RevokeSigningProfile -> TestTree+requestRevokeSigningProfile =+  req+    "RevokeSigningProfile"+    "fixture/RevokeSigningProfile.yaml"++requestStartSigningJob :: StartSigningJob -> TestTree+requestStartSigningJob =+  req+    "StartSigningJob"+    "fixture/StartSigningJob.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseAddProfilePermission :: AddProfilePermissionResponse -> TestTree+responseAddProfilePermission =+  res+    "AddProfilePermissionResponse"+    "fixture/AddProfilePermissionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AddProfilePermission)++responseCancelSigningProfile :: CancelSigningProfileResponse -> TestTree+responseCancelSigningProfile =+  res+    "CancelSigningProfileResponse"+    "fixture/CancelSigningProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CancelSigningProfile)++responseDescribeSigningJob :: DescribeSigningJobResponse -> TestTree+responseDescribeSigningJob =+  res+    "DescribeSigningJobResponse"+    "fixture/DescribeSigningJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeSigningJob)++responseGetSigningPlatform :: GetSigningPlatformResponse -> TestTree+responseGetSigningPlatform =+  res+    "GetSigningPlatformResponse"+    "fixture/GetSigningPlatformResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSigningPlatform)++responseGetSigningProfile :: GetSigningProfileResponse -> TestTree+responseGetSigningProfile =+  res+    "GetSigningProfileResponse"+    "fixture/GetSigningProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSigningProfile)++responseListProfilePermissions :: ListProfilePermissionsResponse -> TestTree+responseListProfilePermissions =+  res+    "ListProfilePermissionsResponse"+    "fixture/ListProfilePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListProfilePermissions)++responseListSigningJobs :: ListSigningJobsResponse -> TestTree+responseListSigningJobs =+  res+    "ListSigningJobsResponse"+    "fixture/ListSigningJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSigningJobs)++responseListSigningPlatforms :: ListSigningPlatformsResponse -> TestTree+responseListSigningPlatforms =+  res+    "ListSigningPlatformsResponse"+    "fixture/ListSigningPlatformsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSigningPlatforms)++responseListSigningProfiles :: ListSigningProfilesResponse -> TestTree+responseListSigningProfiles =+  res+    "ListSigningProfilesResponse"+    "fixture/ListSigningProfilesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSigningProfiles)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutSigningProfile :: PutSigningProfileResponse -> TestTree+responsePutSigningProfile =+  res+    "PutSigningProfileResponse"+    "fixture/PutSigningProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutSigningProfile)++responseRemoveProfilePermission :: RemoveProfilePermissionResponse -> TestTree+responseRemoveProfilePermission =+  res+    "RemoveProfilePermissionResponse"+    "fixture/RemoveProfilePermissionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveProfilePermission)++responseRevokeSignature :: RevokeSignatureResponse -> TestTree+responseRevokeSignature =+  res+    "RevokeSignatureResponse"+    "fixture/RevokeSignatureResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RevokeSignature)++responseRevokeSigningProfile :: RevokeSigningProfileResponse -> TestTree+responseRevokeSigningProfile =+  res+    "RevokeSigningProfileResponse"+    "fixture/RevokeSigningProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RevokeSigningProfile)++responseStartSigningJob :: StartSigningJobResponse -> TestTree+responseStartSigningJob =+  res+    "StartSigningJobResponse"+    "fixture/StartSigningJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartSigningJob)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)
+ test/Test/Amazonka/Signer.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Signer+-- 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.Signer+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Signer/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Signer.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.Signer.Internal where