packages feed

amazonka-codeartifact (empty) → 2.0

raw patch · 152 files changed

+17203/−0 lines, 152 filesdep +amazonka-codeartifactdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-codeartifact, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon CodeArtifact SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-09-22@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-codeartifact)+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.CodeArtifact](http://hackage.haskell.org/package/amazonka-codeartifact/docs/Amazonka-CodeArtifact.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-codeartifact` 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-codeartifact.cabal view
@@ -0,0 +1,151 @@+cabal-version:      2.2+name:               amazonka-codeartifact+version:            2.0+synopsis:           Amazon CodeArtifact SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-09-22@ 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.CodeArtifact.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.CodeArtifact" 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-codeartifact++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.CodeArtifact+    Amazonka.CodeArtifact.AssociateExternalConnection+    Amazonka.CodeArtifact.CopyPackageVersions+    Amazonka.CodeArtifact.CreateDomain+    Amazonka.CodeArtifact.CreateRepository+    Amazonka.CodeArtifact.DeleteDomain+    Amazonka.CodeArtifact.DeleteDomainPermissionsPolicy+    Amazonka.CodeArtifact.DeletePackageVersions+    Amazonka.CodeArtifact.DeleteRepository+    Amazonka.CodeArtifact.DeleteRepositoryPermissionsPolicy+    Amazonka.CodeArtifact.DescribeDomain+    Amazonka.CodeArtifact.DescribePackage+    Amazonka.CodeArtifact.DescribePackageVersion+    Amazonka.CodeArtifact.DescribeRepository+    Amazonka.CodeArtifact.DisassociateExternalConnection+    Amazonka.CodeArtifact.DisposePackageVersions+    Amazonka.CodeArtifact.GetAuthorizationToken+    Amazonka.CodeArtifact.GetDomainPermissionsPolicy+    Amazonka.CodeArtifact.GetPackageVersionAsset+    Amazonka.CodeArtifact.GetPackageVersionReadme+    Amazonka.CodeArtifact.GetRepositoryEndpoint+    Amazonka.CodeArtifact.GetRepositoryPermissionsPolicy+    Amazonka.CodeArtifact.Lens+    Amazonka.CodeArtifact.ListDomains+    Amazonka.CodeArtifact.ListPackages+    Amazonka.CodeArtifact.ListPackageVersionAssets+    Amazonka.CodeArtifact.ListPackageVersionDependencies+    Amazonka.CodeArtifact.ListPackageVersions+    Amazonka.CodeArtifact.ListRepositories+    Amazonka.CodeArtifact.ListRepositoriesInDomain+    Amazonka.CodeArtifact.ListTagsForResource+    Amazonka.CodeArtifact.PutDomainPermissionsPolicy+    Amazonka.CodeArtifact.PutPackageOriginConfiguration+    Amazonka.CodeArtifact.PutRepositoryPermissionsPolicy+    Amazonka.CodeArtifact.TagResource+    Amazonka.CodeArtifact.Types+    Amazonka.CodeArtifact.Types.AllowPublish+    Amazonka.CodeArtifact.Types.AllowUpstream+    Amazonka.CodeArtifact.Types.AssetSummary+    Amazonka.CodeArtifact.Types.DomainDescription+    Amazonka.CodeArtifact.Types.DomainEntryPoint+    Amazonka.CodeArtifact.Types.DomainStatus+    Amazonka.CodeArtifact.Types.DomainSummary+    Amazonka.CodeArtifact.Types.ExternalConnectionStatus+    Amazonka.CodeArtifact.Types.HashAlgorithm+    Amazonka.CodeArtifact.Types.LicenseInfo+    Amazonka.CodeArtifact.Types.PackageDependency+    Amazonka.CodeArtifact.Types.PackageDescription+    Amazonka.CodeArtifact.Types.PackageFormat+    Amazonka.CodeArtifact.Types.PackageOriginConfiguration+    Amazonka.CodeArtifact.Types.PackageOriginRestrictions+    Amazonka.CodeArtifact.Types.PackageSummary+    Amazonka.CodeArtifact.Types.PackageVersionDescription+    Amazonka.CodeArtifact.Types.PackageVersionError+    Amazonka.CodeArtifact.Types.PackageVersionErrorCode+    Amazonka.CodeArtifact.Types.PackageVersionOrigin+    Amazonka.CodeArtifact.Types.PackageVersionOriginType+    Amazonka.CodeArtifact.Types.PackageVersionSortType+    Amazonka.CodeArtifact.Types.PackageVersionStatus+    Amazonka.CodeArtifact.Types.PackageVersionSummary+    Amazonka.CodeArtifact.Types.RepositoryDescription+    Amazonka.CodeArtifact.Types.RepositoryExternalConnectionInfo+    Amazonka.CodeArtifact.Types.RepositorySummary+    Amazonka.CodeArtifact.Types.ResourcePolicy+    Amazonka.CodeArtifact.Types.SuccessfulPackageVersionInfo+    Amazonka.CodeArtifact.Types.Tag+    Amazonka.CodeArtifact.Types.UpstreamRepository+    Amazonka.CodeArtifact.Types.UpstreamRepositoryInfo+    Amazonka.CodeArtifact.UntagResource+    Amazonka.CodeArtifact.UpdatePackageVersionsStatus+    Amazonka.CodeArtifact.UpdateRepository+    Amazonka.CodeArtifact.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-codeartifact-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.CodeArtifact+    Test.Amazonka.CodeArtifact.Internal+    Test.Amazonka.Gen.CodeArtifact++  build-depends:+    , amazonka-codeartifact+    , amazonka-core          >=2.0 && <2.1+    , amazonka-test          >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateExternalConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/AssociateExternalConnectionResponse.proto view
+ fixture/CopyPackageVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/CopyPackageVersionsResponse.proto view
+ fixture/CreateDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/CreateDomainResponse.proto view
+ fixture/CreateRepository.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/CreateRepositoryResponse.proto view
+ fixture/DeleteDomain.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DeleteDomainPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DeleteDomainPermissionsPolicyResponse.proto view
+ fixture/DeleteDomainResponse.proto view
+ fixture/DeletePackageVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DeletePackageVersionsResponse.proto view
+ fixture/DeleteRepository.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DeleteRepositoryPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DeleteRepositoryPermissionsPolicyResponse.proto view
+ fixture/DeleteRepositoryResponse.proto view
+ fixture/DescribeDomain.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DescribeDomainResponse.proto view
+ fixture/DescribePackage.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DescribePackageResponse.proto view
+ fixture/DescribePackageVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DescribePackageVersionResponse.proto view
+ fixture/DescribeRepository.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DescribeRepositoryResponse.proto view
+ fixture/DisassociateExternalConnection.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DisassociateExternalConnectionResponse.proto view
+ fixture/DisposePackageVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/DisposePackageVersionsResponse.proto view
+ fixture/GetAuthorizationToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetAuthorizationTokenResponse.proto view
+ fixture/GetDomainPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetDomainPermissionsPolicyResponse.proto view
+ fixture/GetPackageVersionAsset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetPackageVersionAssetResponse.proto view
+ fixture/GetPackageVersionReadme.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetPackageVersionReadmeResponse.proto view
+ fixture/GetRepositoryEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetRepositoryEndpointResponse.proto view
+ fixture/GetRepositoryPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/GetRepositoryPermissionsPolicyResponse.proto view
+ fixture/ListDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListDomainsResponse.proto view
+ fixture/ListPackageVersionAssets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListPackageVersionAssetsResponse.proto view
+ fixture/ListPackageVersionDependencies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListPackageVersionDependenciesResponse.proto view
+ fixture/ListPackageVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListPackageVersionsResponse.proto view
+ fixture/ListPackages.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListPackagesResponse.proto view
+ fixture/ListRepositories.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListRepositoriesInDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/ListRepositoriesInDomainResponse.proto view
+ fixture/ListRepositoriesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/PutDomainPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/PutDomainPermissionsPolicyResponse.proto view
+ fixture/PutPackageOriginConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/PutPackageOriginConfigurationResponse.proto view
+ fixture/PutRepositoryPermissionsPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/PutRepositoryPermissionsPolicyResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdatePackageVersionsStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/UpdatePackageVersionsStatusResponse.proto view
+ fixture/UpdateRepository.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codeartifact/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codeartifact.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/UpdateRepositoryResponse.proto view
+ gen/Amazonka/CodeArtifact.hs view
@@ -0,0 +1,648 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.CodeArtifact+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-09-22@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- CodeArtifact is a fully managed artifact repository compatible with+-- language-native package managers and build tools such as npm, Apache+-- Maven, pip, and dotnet. You can use CodeArtifact to share packages with+-- development teams and pull packages. Packages can be pulled from both+-- public and CodeArtifact repositories. You can also create an upstream+-- relationship between a CodeArtifact repository and another repository,+-- which effectively merges their contents from the point of view of a+-- package manager client.+--+-- __CodeArtifact Components__+--+-- Use the information in this guide to help you work with the following+-- CodeArtifact components:+--+-- -   __Repository__: A CodeArtifact repository contains a set of+--     <https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html#welcome-concepts-package-version package versions>,+--     each of which maps to a set of assets, or files. Repositories are+--     polyglot, so a single repository can contain packages of any+--     supported type. Each repository exposes endpoints for fetching and+--     publishing packages using tools like the __@npm@__ CLI, the Maven+--     CLI ( __@mvn@__ ), Python CLIs ( __@pip@__ and @twine@), and NuGet+--     CLIs (@nuget@ and @dotnet@).+--+-- -   __Domain__: Repositories are aggregated into a higher-level entity+--     known as a /domain/. All package assets and metadata are stored in+--     the domain, but are consumed through repositories. A given package+--     asset, such as a Maven JAR file, is stored once per domain, no+--     matter how many repositories it\'s present in. All of the assets and+--     metadata in a domain are encrypted with the same customer master key+--     (CMK) stored in Key Management Service (KMS).+--+--     Each repository is a member of a single domain and can\'t be moved+--     to a different domain.+--+--     The domain allows organizational policy to be applied across+--     multiple repositories, such as which accounts can access+--     repositories in the domain, and which public repositories can be+--     used as sources of packages.+--+--     Although an organization can have multiple domains, we recommend a+--     single production domain that contains all published artifacts so+--     that teams can find and share packages across their organization.+--+-- -   __Package__: A /package/ is a bundle of software and the metadata+--     required to resolve dependencies and install the software.+--     CodeArtifact supports+--     <https://docs.aws.amazon.com/codeartifact/latest/ug/using-npm.html npm>,+--     <https://docs.aws.amazon.com/codeartifact/latest/ug/using-python.html PyPI>,+--     <https://docs.aws.amazon.com/codeartifact/latest/ug/using-maven Maven>,+--     and+--     <https://docs.aws.amazon.com/codeartifact/latest/ug/using-nuget NuGet>+--     package formats.+--+--     In CodeArtifact, a package consists of:+--+--     -   A /name/ (for example, @webpack@ is the name of a popular npm+--         package)+--+--     -   An optional namespace (for example, @\@types@ in+--         @\@types\/node@)+--+--     -   A set of versions (for example, @1.0.0@, @1.0.1@, @1.0.2@, etc.)+--+--     -   Package-level metadata (for example, npm tags)+--+-- -   __Package version__: A version of a package, such as+--     @\@types\/node 12.6.9@. The version number format and semantics vary+--     for different package formats. For example, npm package versions+--     must conform to the+--     <https://semver.org/ Semantic Versioning specification>. In+--     CodeArtifact, a package version consists of the version identifier,+--     metadata at the package version level, and a set of assets.+--+-- -   __Upstream repository__: One repository is /upstream/ of another+--     when the package versions in it can be accessed from the repository+--     endpoint of the downstream repository, effectively merging the+--     contents of the two repositories from the point of view of a client.+--     CodeArtifact allows creating an upstream relationship between two+--     repositories.+--+-- -   __Asset__: An individual file stored in CodeArtifact associated with+--     a package version, such as an npm @.tgz@ file or Maven POM and JAR+--     files.+--+-- CodeArtifact supports these operations:+--+-- -   @AssociateExternalConnection@: Adds an existing external connection+--     to a repository.+--+-- -   @CopyPackageVersions@: Copies package versions from one repository+--     to another repository in the same domain.+--+-- -   @CreateDomain@: Creates a domain+--+-- -   @CreateRepository@: Creates a CodeArtifact repository in a domain.+--+-- -   @DeleteDomain@: Deletes a domain. You cannot delete a domain that+--     contains repositories.+--+-- -   @DeleteDomainPermissionsPolicy@: Deletes the resource policy that is+--     set on a domain.+--+-- -   @DeletePackageVersions@: Deletes versions of a package. After a+--     package has been deleted, it can be republished, but its assets and+--     metadata cannot be restored because they have been permanently+--     removed from storage.+--+-- -   @DeleteRepository@: Deletes a repository.+--+-- -   @DeleteRepositoryPermissionsPolicy@: Deletes the resource policy+--     that is set on a repository.+--+-- -   @DescribeDomain@: Returns a @DomainDescription@ object that contains+--     information about the requested domain.+--+-- -   @DescribePackage@: Returns a+--     <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html PackageDescription>+--     object that contains details about a package.+--+-- -   @DescribePackageVersion@: Returns a+--     <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html PackageVersionDescription>+--     object that contains details about a package version.+--+-- -   @DescribeRepository@: Returns a @RepositoryDescription@ object that+--     contains detailed information about the requested repository.+--+-- -   @DisposePackageVersions@: Disposes versions of a package. A package+--     version with the status @Disposed@ cannot be restored because they+--     have been permanently removed from storage.+--+-- -   @DisassociateExternalConnection@: Removes an existing external+--     connection from a repository.+--+-- -   @GetAuthorizationToken@: Generates a temporary authorization token+--     for accessing repositories in the domain. The token expires the+--     authorization period has passed. The default authorization period is+--     12 hours and can be customized to any length with a maximum of 12+--     hours.+--+-- -   @GetDomainPermissionsPolicy@: Returns the policy of a resource that+--     is attached to the specified domain.+--+-- -   @GetPackageVersionAsset@: Returns the contents of an asset that is+--     in a package version.+--+-- -   @GetPackageVersionReadme@: Gets the readme file or descriptive text+--     for a package version.+--+-- -   @GetRepositoryEndpoint@: Returns the endpoint of a repository for a+--     specific package format. A repository has one endpoint for each+--     package format:+--+--     -   @maven@+--+--     -   @npm@+--+--     -   @nuget@+--+--     -   @pypi@+--+-- -   @GetRepositoryPermissionsPolicy@: Returns the resource policy that+--     is set on a repository.+--+-- -   @ListDomains@: Returns a list of @DomainSummary@ objects. Each+--     returned @DomainSummary@ object contains information about a domain.+--+-- -   @ListPackages@: Lists the packages in a repository.+--+-- -   @ListPackageVersionAssets@: Lists the assets for a given package+--     version.+--+-- -   @ListPackageVersionDependencies@: Returns a list of the direct+--     dependencies for a package version.+--+-- -   @ListPackageVersions@: Returns a list of package versions for a+--     specified package in a repository.+--+-- -   @ListRepositories@: Returns a list of repositories owned by the+--     Amazon Web Services account that called this method.+--+-- -   @ListRepositoriesInDomain@: Returns a list of the repositories in a+--     domain.+--+-- -   @PutDomainPermissionsPolicy@: Attaches a resource policy to a+--     domain.+--+-- -   @PutPackageOriginConfiguration@: Sets the package origin+--     configuration for a package, which determine how new versions of the+--     package can be added to a specific repository.+--+-- -   @PutRepositoryPermissionsPolicy@: Sets the resource policy on a+--     repository that specifies permissions to access it.+--+-- -   @UpdatePackageVersionsStatus@: Updates the status of one or more+--     versions of a package.+--+-- -   @UpdateRepository@: Updates the properties of a repository.+module Amazonka.CodeArtifact+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateExternalConnection+    AssociateExternalConnection (AssociateExternalConnection'),+    newAssociateExternalConnection,+    AssociateExternalConnectionResponse (AssociateExternalConnectionResponse'),+    newAssociateExternalConnectionResponse,++    -- ** CopyPackageVersions+    CopyPackageVersions (CopyPackageVersions'),+    newCopyPackageVersions,+    CopyPackageVersionsResponse (CopyPackageVersionsResponse'),+    newCopyPackageVersionsResponse,++    -- ** CreateDomain+    CreateDomain (CreateDomain'),+    newCreateDomain,+    CreateDomainResponse (CreateDomainResponse'),+    newCreateDomainResponse,++    -- ** CreateRepository+    CreateRepository (CreateRepository'),+    newCreateRepository,+    CreateRepositoryResponse (CreateRepositoryResponse'),+    newCreateRepositoryResponse,++    -- ** DeleteDomain+    DeleteDomain (DeleteDomain'),+    newDeleteDomain,+    DeleteDomainResponse (DeleteDomainResponse'),+    newDeleteDomainResponse,++    -- ** DeleteDomainPermissionsPolicy+    DeleteDomainPermissionsPolicy (DeleteDomainPermissionsPolicy'),+    newDeleteDomainPermissionsPolicy,+    DeleteDomainPermissionsPolicyResponse (DeleteDomainPermissionsPolicyResponse'),+    newDeleteDomainPermissionsPolicyResponse,++    -- ** DeletePackageVersions+    DeletePackageVersions (DeletePackageVersions'),+    newDeletePackageVersions,+    DeletePackageVersionsResponse (DeletePackageVersionsResponse'),+    newDeletePackageVersionsResponse,++    -- ** DeleteRepository+    DeleteRepository (DeleteRepository'),+    newDeleteRepository,+    DeleteRepositoryResponse (DeleteRepositoryResponse'),+    newDeleteRepositoryResponse,++    -- ** DeleteRepositoryPermissionsPolicy+    DeleteRepositoryPermissionsPolicy (DeleteRepositoryPermissionsPolicy'),+    newDeleteRepositoryPermissionsPolicy,+    DeleteRepositoryPermissionsPolicyResponse (DeleteRepositoryPermissionsPolicyResponse'),+    newDeleteRepositoryPermissionsPolicyResponse,++    -- ** DescribeDomain+    DescribeDomain (DescribeDomain'),+    newDescribeDomain,+    DescribeDomainResponse (DescribeDomainResponse'),+    newDescribeDomainResponse,++    -- ** DescribePackage+    DescribePackage (DescribePackage'),+    newDescribePackage,+    DescribePackageResponse (DescribePackageResponse'),+    newDescribePackageResponse,++    -- ** DescribePackageVersion+    DescribePackageVersion (DescribePackageVersion'),+    newDescribePackageVersion,+    DescribePackageVersionResponse (DescribePackageVersionResponse'),+    newDescribePackageVersionResponse,++    -- ** DescribeRepository+    DescribeRepository (DescribeRepository'),+    newDescribeRepository,+    DescribeRepositoryResponse (DescribeRepositoryResponse'),+    newDescribeRepositoryResponse,++    -- ** DisassociateExternalConnection+    DisassociateExternalConnection (DisassociateExternalConnection'),+    newDisassociateExternalConnection,+    DisassociateExternalConnectionResponse (DisassociateExternalConnectionResponse'),+    newDisassociateExternalConnectionResponse,++    -- ** DisposePackageVersions+    DisposePackageVersions (DisposePackageVersions'),+    newDisposePackageVersions,+    DisposePackageVersionsResponse (DisposePackageVersionsResponse'),+    newDisposePackageVersionsResponse,++    -- ** GetAuthorizationToken+    GetAuthorizationToken (GetAuthorizationToken'),+    newGetAuthorizationToken,+    GetAuthorizationTokenResponse (GetAuthorizationTokenResponse'),+    newGetAuthorizationTokenResponse,++    -- ** GetDomainPermissionsPolicy+    GetDomainPermissionsPolicy (GetDomainPermissionsPolicy'),+    newGetDomainPermissionsPolicy,+    GetDomainPermissionsPolicyResponse (GetDomainPermissionsPolicyResponse'),+    newGetDomainPermissionsPolicyResponse,++    -- ** GetPackageVersionAsset+    GetPackageVersionAsset (GetPackageVersionAsset'),+    newGetPackageVersionAsset,+    GetPackageVersionAssetResponse (GetPackageVersionAssetResponse'),+    newGetPackageVersionAssetResponse,++    -- ** GetPackageVersionReadme+    GetPackageVersionReadme (GetPackageVersionReadme'),+    newGetPackageVersionReadme,+    GetPackageVersionReadmeResponse (GetPackageVersionReadmeResponse'),+    newGetPackageVersionReadmeResponse,++    -- ** GetRepositoryEndpoint+    GetRepositoryEndpoint (GetRepositoryEndpoint'),+    newGetRepositoryEndpoint,+    GetRepositoryEndpointResponse (GetRepositoryEndpointResponse'),+    newGetRepositoryEndpointResponse,++    -- ** GetRepositoryPermissionsPolicy+    GetRepositoryPermissionsPolicy (GetRepositoryPermissionsPolicy'),+    newGetRepositoryPermissionsPolicy,+    GetRepositoryPermissionsPolicyResponse (GetRepositoryPermissionsPolicyResponse'),+    newGetRepositoryPermissionsPolicyResponse,++    -- ** ListDomains (Paginated)+    ListDomains (ListDomains'),+    newListDomains,+    ListDomainsResponse (ListDomainsResponse'),+    newListDomainsResponse,++    -- ** ListPackageVersionAssets (Paginated)+    ListPackageVersionAssets (ListPackageVersionAssets'),+    newListPackageVersionAssets,+    ListPackageVersionAssetsResponse (ListPackageVersionAssetsResponse'),+    newListPackageVersionAssetsResponse,++    -- ** ListPackageVersionDependencies+    ListPackageVersionDependencies (ListPackageVersionDependencies'),+    newListPackageVersionDependencies,+    ListPackageVersionDependenciesResponse (ListPackageVersionDependenciesResponse'),+    newListPackageVersionDependenciesResponse,++    -- ** ListPackageVersions (Paginated)+    ListPackageVersions (ListPackageVersions'),+    newListPackageVersions,+    ListPackageVersionsResponse (ListPackageVersionsResponse'),+    newListPackageVersionsResponse,++    -- ** ListPackages (Paginated)+    ListPackages (ListPackages'),+    newListPackages,+    ListPackagesResponse (ListPackagesResponse'),+    newListPackagesResponse,++    -- ** ListRepositories (Paginated)+    ListRepositories (ListRepositories'),+    newListRepositories,+    ListRepositoriesResponse (ListRepositoriesResponse'),+    newListRepositoriesResponse,++    -- ** ListRepositoriesInDomain (Paginated)+    ListRepositoriesInDomain (ListRepositoriesInDomain'),+    newListRepositoriesInDomain,+    ListRepositoriesInDomainResponse (ListRepositoriesInDomainResponse'),+    newListRepositoriesInDomainResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutDomainPermissionsPolicy+    PutDomainPermissionsPolicy (PutDomainPermissionsPolicy'),+    newPutDomainPermissionsPolicy,+    PutDomainPermissionsPolicyResponse (PutDomainPermissionsPolicyResponse'),+    newPutDomainPermissionsPolicyResponse,++    -- ** PutPackageOriginConfiguration+    PutPackageOriginConfiguration (PutPackageOriginConfiguration'),+    newPutPackageOriginConfiguration,+    PutPackageOriginConfigurationResponse (PutPackageOriginConfigurationResponse'),+    newPutPackageOriginConfigurationResponse,++    -- ** PutRepositoryPermissionsPolicy+    PutRepositoryPermissionsPolicy (PutRepositoryPermissionsPolicy'),+    newPutRepositoryPermissionsPolicy,+    PutRepositoryPermissionsPolicyResponse (PutRepositoryPermissionsPolicyResponse'),+    newPutRepositoryPermissionsPolicyResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdatePackageVersionsStatus+    UpdatePackageVersionsStatus (UpdatePackageVersionsStatus'),+    newUpdatePackageVersionsStatus,+    UpdatePackageVersionsStatusResponse (UpdatePackageVersionsStatusResponse'),+    newUpdatePackageVersionsStatusResponse,++    -- ** UpdateRepository+    UpdateRepository (UpdateRepository'),+    newUpdateRepository,+    UpdateRepositoryResponse (UpdateRepositoryResponse'),+    newUpdateRepositoryResponse,++    -- * Types++    -- ** AllowPublish+    AllowPublish (..),++    -- ** AllowUpstream+    AllowUpstream (..),++    -- ** DomainStatus+    DomainStatus (..),++    -- ** ExternalConnectionStatus+    ExternalConnectionStatus (..),++    -- ** HashAlgorithm+    HashAlgorithm (..),++    -- ** PackageFormat+    PackageFormat (..),++    -- ** PackageVersionErrorCode+    PackageVersionErrorCode (..),++    -- ** PackageVersionOriginType+    PackageVersionOriginType (..),++    -- ** PackageVersionSortType+    PackageVersionSortType (..),++    -- ** PackageVersionStatus+    PackageVersionStatus (..),++    -- ** AssetSummary+    AssetSummary (AssetSummary'),+    newAssetSummary,++    -- ** DomainDescription+    DomainDescription (DomainDescription'),+    newDomainDescription,++    -- ** DomainEntryPoint+    DomainEntryPoint (DomainEntryPoint'),+    newDomainEntryPoint,++    -- ** DomainSummary+    DomainSummary (DomainSummary'),+    newDomainSummary,++    -- ** LicenseInfo+    LicenseInfo (LicenseInfo'),+    newLicenseInfo,++    -- ** PackageDependency+    PackageDependency (PackageDependency'),+    newPackageDependency,++    -- ** PackageDescription+    PackageDescription (PackageDescription'),+    newPackageDescription,++    -- ** PackageOriginConfiguration+    PackageOriginConfiguration (PackageOriginConfiguration'),+    newPackageOriginConfiguration,++    -- ** PackageOriginRestrictions+    PackageOriginRestrictions (PackageOriginRestrictions'),+    newPackageOriginRestrictions,++    -- ** PackageSummary+    PackageSummary (PackageSummary'),+    newPackageSummary,++    -- ** PackageVersionDescription+    PackageVersionDescription (PackageVersionDescription'),+    newPackageVersionDescription,++    -- ** PackageVersionError+    PackageVersionError (PackageVersionError'),+    newPackageVersionError,++    -- ** PackageVersionOrigin+    PackageVersionOrigin (PackageVersionOrigin'),+    newPackageVersionOrigin,++    -- ** PackageVersionSummary+    PackageVersionSummary (PackageVersionSummary'),+    newPackageVersionSummary,++    -- ** RepositoryDescription+    RepositoryDescription (RepositoryDescription'),+    newRepositoryDescription,++    -- ** RepositoryExternalConnectionInfo+    RepositoryExternalConnectionInfo (RepositoryExternalConnectionInfo'),+    newRepositoryExternalConnectionInfo,++    -- ** RepositorySummary+    RepositorySummary (RepositorySummary'),+    newRepositorySummary,++    -- ** ResourcePolicy+    ResourcePolicy (ResourcePolicy'),+    newResourcePolicy,++    -- ** SuccessfulPackageVersionInfo+    SuccessfulPackageVersionInfo (SuccessfulPackageVersionInfo'),+    newSuccessfulPackageVersionInfo,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** UpstreamRepository+    UpstreamRepository (UpstreamRepository'),+    newUpstreamRepository,++    -- ** UpstreamRepositoryInfo+    UpstreamRepositoryInfo (UpstreamRepositoryInfo'),+    newUpstreamRepositoryInfo,+  )+where++import Amazonka.CodeArtifact.AssociateExternalConnection+import Amazonka.CodeArtifact.CopyPackageVersions+import Amazonka.CodeArtifact.CreateDomain+import Amazonka.CodeArtifact.CreateRepository+import Amazonka.CodeArtifact.DeleteDomain+import Amazonka.CodeArtifact.DeleteDomainPermissionsPolicy+import Amazonka.CodeArtifact.DeletePackageVersions+import Amazonka.CodeArtifact.DeleteRepository+import Amazonka.CodeArtifact.DeleteRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.DescribeDomain+import Amazonka.CodeArtifact.DescribePackage+import Amazonka.CodeArtifact.DescribePackageVersion+import Amazonka.CodeArtifact.DescribeRepository+import Amazonka.CodeArtifact.DisassociateExternalConnection+import Amazonka.CodeArtifact.DisposePackageVersions+import Amazonka.CodeArtifact.GetAuthorizationToken+import Amazonka.CodeArtifact.GetDomainPermissionsPolicy+import Amazonka.CodeArtifact.GetPackageVersionAsset+import Amazonka.CodeArtifact.GetPackageVersionReadme+import Amazonka.CodeArtifact.GetRepositoryEndpoint+import Amazonka.CodeArtifact.GetRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.Lens+import Amazonka.CodeArtifact.ListDomains+import Amazonka.CodeArtifact.ListPackageVersionAssets+import Amazonka.CodeArtifact.ListPackageVersionDependencies+import Amazonka.CodeArtifact.ListPackageVersions+import Amazonka.CodeArtifact.ListPackages+import Amazonka.CodeArtifact.ListRepositories+import Amazonka.CodeArtifact.ListRepositoriesInDomain+import Amazonka.CodeArtifact.ListTagsForResource+import Amazonka.CodeArtifact.PutDomainPermissionsPolicy+import Amazonka.CodeArtifact.PutPackageOriginConfiguration+import Amazonka.CodeArtifact.PutRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.TagResource+import Amazonka.CodeArtifact.Types+import Amazonka.CodeArtifact.UntagResource+import Amazonka.CodeArtifact.UpdatePackageVersionsStatus+import Amazonka.CodeArtifact.UpdateRepository+import Amazonka.CodeArtifact.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 'CodeArtifact'.++-- $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/CodeArtifact/AssociateExternalConnection.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.AssociateExternalConnection+-- 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 an existing external connection to a repository. One external+-- connection is allowed per repository.+--+-- A repository can have one or more upstream repositories, or an external+-- connection.+module Amazonka.CodeArtifact.AssociateExternalConnection+  ( -- * Creating a Request+    AssociateExternalConnection (..),+    newAssociateExternalConnection,++    -- * Request Lenses+    associateExternalConnection_domainOwner,+    associateExternalConnection_domain,+    associateExternalConnection_repository,+    associateExternalConnection_externalConnection,++    -- * Destructuring the Response+    AssociateExternalConnectionResponse (..),+    newAssociateExternalConnectionResponse,++    -- * Response Lenses+    associateExternalConnectionResponse_repository,+    associateExternalConnectionResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateExternalConnection' smart constructor.+data AssociateExternalConnection = AssociateExternalConnection'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository.+    domain :: Prelude.Text,+    -- | The name of the repository to which the external connection is added.+    repository :: Prelude.Text,+    -- | The name of the external connection to add to the repository. The+    -- following values are supported:+    --+    -- -   @public:npmjs@ - for the npm public repository.+    --+    -- -   @public:pypi@ - for the Python Package Index.+    --+    -- -   @public:maven-central@ - for Maven Central.+    --+    -- -   @public:maven-googleandroid@ - for the Google Android repository.+    --+    -- -   @public:maven-gradleplugins@ - for the Gradle plugins repository.+    --+    -- -   @public:maven-commonsware@ - for the CommonsWare Android repository.+    externalConnection :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateExternalConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'associateExternalConnection_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'associateExternalConnection_domain' - The name of the domain that contains the repository.+--+-- 'repository', 'associateExternalConnection_repository' - The name of the repository to which the external connection is added.+--+-- 'externalConnection', 'associateExternalConnection_externalConnection' - The name of the external connection to add to the repository. The+-- following values are supported:+--+-- -   @public:npmjs@ - for the npm public repository.+--+-- -   @public:pypi@ - for the Python Package Index.+--+-- -   @public:maven-central@ - for Maven Central.+--+-- -   @public:maven-googleandroid@ - for the Google Android repository.+--+-- -   @public:maven-gradleplugins@ - for the Gradle plugins repository.+--+-- -   @public:maven-commonsware@ - for the CommonsWare Android repository.+newAssociateExternalConnection ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'externalConnection'+  Prelude.Text ->+  AssociateExternalConnection+newAssociateExternalConnection+  pDomain_+  pRepository_+  pExternalConnection_ =+    AssociateExternalConnection'+      { domainOwner =+          Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        externalConnection = pExternalConnection_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+associateExternalConnection_domainOwner :: Lens.Lens' AssociateExternalConnection (Prelude.Maybe Prelude.Text)+associateExternalConnection_domainOwner = Lens.lens (\AssociateExternalConnection' {domainOwner} -> domainOwner) (\s@AssociateExternalConnection' {} a -> s {domainOwner = a} :: AssociateExternalConnection)++-- | The name of the domain that contains the repository.+associateExternalConnection_domain :: Lens.Lens' AssociateExternalConnection Prelude.Text+associateExternalConnection_domain = Lens.lens (\AssociateExternalConnection' {domain} -> domain) (\s@AssociateExternalConnection' {} a -> s {domain = a} :: AssociateExternalConnection)++-- | The name of the repository to which the external connection is added.+associateExternalConnection_repository :: Lens.Lens' AssociateExternalConnection Prelude.Text+associateExternalConnection_repository = Lens.lens (\AssociateExternalConnection' {repository} -> repository) (\s@AssociateExternalConnection' {} a -> s {repository = a} :: AssociateExternalConnection)++-- | The name of the external connection to add to the repository. The+-- following values are supported:+--+-- -   @public:npmjs@ - for the npm public repository.+--+-- -   @public:pypi@ - for the Python Package Index.+--+-- -   @public:maven-central@ - for Maven Central.+--+-- -   @public:maven-googleandroid@ - for the Google Android repository.+--+-- -   @public:maven-gradleplugins@ - for the Gradle plugins repository.+--+-- -   @public:maven-commonsware@ - for the CommonsWare Android repository.+associateExternalConnection_externalConnection :: Lens.Lens' AssociateExternalConnection Prelude.Text+associateExternalConnection_externalConnection = Lens.lens (\AssociateExternalConnection' {externalConnection} -> externalConnection) (\s@AssociateExternalConnection' {} a -> s {externalConnection = a} :: AssociateExternalConnection)++instance Core.AWSRequest AssociateExternalConnection where+  type+    AWSResponse AssociateExternalConnection =+      AssociateExternalConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateExternalConnectionResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateExternalConnection where+  hashWithSalt _salt AssociateExternalConnection' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` externalConnection++instance Prelude.NFData AssociateExternalConnection where+  rnf AssociateExternalConnection' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf externalConnection++instance Data.ToHeaders AssociateExternalConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateExternalConnection where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath AssociateExternalConnection where+  toPath =+    Prelude.const "/v1/repository/external-connection"++instance Data.ToQuery AssociateExternalConnection where+  toQuery AssociateExternalConnection' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "external-connection" Data.=: externalConnection+      ]++-- | /See:/ 'newAssociateExternalConnectionResponse' smart constructor.+data AssociateExternalConnectionResponse = AssociateExternalConnectionResponse'+  { -- | Information about the connected repository after processing the request.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateExternalConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'associateExternalConnectionResponse_repository' - Information about the connected repository after processing the request.+--+-- 'httpStatus', 'associateExternalConnectionResponse_httpStatus' - The response's http status code.+newAssociateExternalConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateExternalConnectionResponse+newAssociateExternalConnectionResponse pHttpStatus_ =+  AssociateExternalConnectionResponse'+    { repository =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connected repository after processing the request.+associateExternalConnectionResponse_repository :: Lens.Lens' AssociateExternalConnectionResponse (Prelude.Maybe RepositoryDescription)+associateExternalConnectionResponse_repository = Lens.lens (\AssociateExternalConnectionResponse' {repository} -> repository) (\s@AssociateExternalConnectionResponse' {} a -> s {repository = a} :: AssociateExternalConnectionResponse)++-- | The response's http status code.+associateExternalConnectionResponse_httpStatus :: Lens.Lens' AssociateExternalConnectionResponse Prelude.Int+associateExternalConnectionResponse_httpStatus = Lens.lens (\AssociateExternalConnectionResponse' {httpStatus} -> httpStatus) (\s@AssociateExternalConnectionResponse' {} a -> s {httpStatus = a} :: AssociateExternalConnectionResponse)++instance+  Prelude.NFData+    AssociateExternalConnectionResponse+  where+  rnf AssociateExternalConnectionResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/CopyPackageVersions.hs view
@@ -0,0 +1,470 @@+{-# 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.CodeArtifact.CopyPackageVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Copies package versions from one repository to another repository in the+-- same domain.+--+-- You must specify @versions@ or @versionRevisions@. You cannot specify+-- both.+module Amazonka.CodeArtifact.CopyPackageVersions+  ( -- * Creating a Request+    CopyPackageVersions (..),+    newCopyPackageVersions,++    -- * Request Lenses+    copyPackageVersions_allowOverwrite,+    copyPackageVersions_domainOwner,+    copyPackageVersions_includeFromUpstream,+    copyPackageVersions_namespace,+    copyPackageVersions_versionRevisions,+    copyPackageVersions_versions,+    copyPackageVersions_domain,+    copyPackageVersions_sourceRepository,+    copyPackageVersions_destinationRepository,+    copyPackageVersions_format,+    copyPackageVersions_package,++    -- * Destructuring the Response+    CopyPackageVersionsResponse (..),+    newCopyPackageVersionsResponse,++    -- * Response Lenses+    copyPackageVersionsResponse_failedVersions,+    copyPackageVersionsResponse_successfulVersions,+    copyPackageVersionsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCopyPackageVersions' smart constructor.+data CopyPackageVersions = CopyPackageVersions'+  { -- | Set to true to overwrite a package version that already exists in the+    -- destination repository. If set to false and the package version already+    -- exists in the destination repository, the package version is returned in+    -- the @failedVersions@ field of the response with an @ALREADY_EXISTS@+    -- error code.+    allowOverwrite :: Prelude.Maybe Prelude.Bool,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | Set to true to copy packages from repositories that are upstream from+    -- the source repository to the destination repository. The default setting+    -- is false. For more information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+    includeFromUpstream :: Prelude.Maybe Prelude.Bool,+    -- | The namespace of the package versions to be copied. The package version+    -- component that specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@. The+    --     namespace is required when copying Maven package versions.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | A list of key-value pairs. The keys are package versions and the values+    -- are package version revisions. A @CopyPackageVersion@ operation succeeds+    -- if the specified versions in the source repository match the specified+    -- package version revision.+    --+    -- You must specify @versions@ or @versionRevisions@. You cannot specify+    -- both.+    versionRevisions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The versions of the package to be copied.+    --+    -- You must specify @versions@ or @versionRevisions@. You cannot specify+    -- both.+    versions :: Prelude.Maybe [Prelude.Text],+    -- | The name of the domain that contains the source and destination+    -- repositories.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package versions to be+    -- copied.+    sourceRepository :: Prelude.Text,+    -- | The name of the repository into which package versions are copied.+    destinationRepository :: Prelude.Text,+    -- | The format of the package versions to be copied.+    format :: PackageFormat,+    -- | The name of the package that contains the versions to be copied.+    package :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyPackageVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowOverwrite', 'copyPackageVersions_allowOverwrite' - Set to true to overwrite a package version that already exists in the+-- destination repository. If set to false and the package version already+-- exists in the destination repository, the package version is returned in+-- the @failedVersions@ field of the response with an @ALREADY_EXISTS@+-- error code.+--+-- 'domainOwner', 'copyPackageVersions_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'includeFromUpstream', 'copyPackageVersions_includeFromUpstream' - Set to true to copy packages from repositories that are upstream from+-- the source repository to the destination repository. The default setting+-- is false. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+--+-- 'namespace', 'copyPackageVersions_namespace' - The namespace of the package versions to be copied. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@. The+--     namespace is required when copying Maven package versions.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'versionRevisions', 'copyPackageVersions_versionRevisions' - A list of key-value pairs. The keys are package versions and the values+-- are package version revisions. A @CopyPackageVersion@ operation succeeds+-- if the specified versions in the source repository match the specified+-- package version revision.+--+-- You must specify @versions@ or @versionRevisions@. You cannot specify+-- both.+--+-- 'versions', 'copyPackageVersions_versions' - The versions of the package to be copied.+--+-- You must specify @versions@ or @versionRevisions@. You cannot specify+-- both.+--+-- 'domain', 'copyPackageVersions_domain' - The name of the domain that contains the source and destination+-- repositories.+--+-- 'sourceRepository', 'copyPackageVersions_sourceRepository' - The name of the repository that contains the package versions to be+-- copied.+--+-- 'destinationRepository', 'copyPackageVersions_destinationRepository' - The name of the repository into which package versions are copied.+--+-- 'format', 'copyPackageVersions_format' - The format of the package versions to be copied.+--+-- 'package', 'copyPackageVersions_package' - The name of the package that contains the versions to be copied.+newCopyPackageVersions ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'sourceRepository'+  Prelude.Text ->+  -- | 'destinationRepository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  CopyPackageVersions+newCopyPackageVersions+  pDomain_+  pSourceRepository_+  pDestinationRepository_+  pFormat_+  pPackage_ =+    CopyPackageVersions'+      { allowOverwrite =+          Prelude.Nothing,+        domainOwner = Prelude.Nothing,+        includeFromUpstream = Prelude.Nothing,+        namespace = Prelude.Nothing,+        versionRevisions = Prelude.Nothing,+        versions = Prelude.Nothing,+        domain = pDomain_,+        sourceRepository = pSourceRepository_,+        destinationRepository = pDestinationRepository_,+        format = pFormat_,+        package = pPackage_+      }++-- | Set to true to overwrite a package version that already exists in the+-- destination repository. If set to false and the package version already+-- exists in the destination repository, the package version is returned in+-- the @failedVersions@ field of the response with an @ALREADY_EXISTS@+-- error code.+copyPackageVersions_allowOverwrite :: Lens.Lens' CopyPackageVersions (Prelude.Maybe Prelude.Bool)+copyPackageVersions_allowOverwrite = Lens.lens (\CopyPackageVersions' {allowOverwrite} -> allowOverwrite) (\s@CopyPackageVersions' {} a -> s {allowOverwrite = a} :: CopyPackageVersions)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+copyPackageVersions_domainOwner :: Lens.Lens' CopyPackageVersions (Prelude.Maybe Prelude.Text)+copyPackageVersions_domainOwner = Lens.lens (\CopyPackageVersions' {domainOwner} -> domainOwner) (\s@CopyPackageVersions' {} a -> s {domainOwner = a} :: CopyPackageVersions)++-- | Set to true to copy packages from repositories that are upstream from+-- the source repository to the destination repository. The default setting+-- is false. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+copyPackageVersions_includeFromUpstream :: Lens.Lens' CopyPackageVersions (Prelude.Maybe Prelude.Bool)+copyPackageVersions_includeFromUpstream = Lens.lens (\CopyPackageVersions' {includeFromUpstream} -> includeFromUpstream) (\s@CopyPackageVersions' {} a -> s {includeFromUpstream = a} :: CopyPackageVersions)++-- | The namespace of the package versions to be copied. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@. The+--     namespace is required when copying Maven package versions.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+copyPackageVersions_namespace :: Lens.Lens' CopyPackageVersions (Prelude.Maybe Prelude.Text)+copyPackageVersions_namespace = Lens.lens (\CopyPackageVersions' {namespace} -> namespace) (\s@CopyPackageVersions' {} a -> s {namespace = a} :: CopyPackageVersions)++-- | A list of key-value pairs. The keys are package versions and the values+-- are package version revisions. A @CopyPackageVersion@ operation succeeds+-- if the specified versions in the source repository match the specified+-- package version revision.+--+-- You must specify @versions@ or @versionRevisions@. You cannot specify+-- both.+copyPackageVersions_versionRevisions :: Lens.Lens' CopyPackageVersions (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+copyPackageVersions_versionRevisions = Lens.lens (\CopyPackageVersions' {versionRevisions} -> versionRevisions) (\s@CopyPackageVersions' {} a -> s {versionRevisions = a} :: CopyPackageVersions) Prelude.. Lens.mapping Lens.coerced++-- | The versions of the package to be copied.+--+-- You must specify @versions@ or @versionRevisions@. You cannot specify+-- both.+copyPackageVersions_versions :: Lens.Lens' CopyPackageVersions (Prelude.Maybe [Prelude.Text])+copyPackageVersions_versions = Lens.lens (\CopyPackageVersions' {versions} -> versions) (\s@CopyPackageVersions' {} a -> s {versions = a} :: CopyPackageVersions) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain that contains the source and destination+-- repositories.+copyPackageVersions_domain :: Lens.Lens' CopyPackageVersions Prelude.Text+copyPackageVersions_domain = Lens.lens (\CopyPackageVersions' {domain} -> domain) (\s@CopyPackageVersions' {} a -> s {domain = a} :: CopyPackageVersions)++-- | The name of the repository that contains the package versions to be+-- copied.+copyPackageVersions_sourceRepository :: Lens.Lens' CopyPackageVersions Prelude.Text+copyPackageVersions_sourceRepository = Lens.lens (\CopyPackageVersions' {sourceRepository} -> sourceRepository) (\s@CopyPackageVersions' {} a -> s {sourceRepository = a} :: CopyPackageVersions)++-- | The name of the repository into which package versions are copied.+copyPackageVersions_destinationRepository :: Lens.Lens' CopyPackageVersions Prelude.Text+copyPackageVersions_destinationRepository = Lens.lens (\CopyPackageVersions' {destinationRepository} -> destinationRepository) (\s@CopyPackageVersions' {} a -> s {destinationRepository = a} :: CopyPackageVersions)++-- | The format of the package versions to be copied.+copyPackageVersions_format :: Lens.Lens' CopyPackageVersions PackageFormat+copyPackageVersions_format = Lens.lens (\CopyPackageVersions' {format} -> format) (\s@CopyPackageVersions' {} a -> s {format = a} :: CopyPackageVersions)++-- | The name of the package that contains the versions to be copied.+copyPackageVersions_package :: Lens.Lens' CopyPackageVersions Prelude.Text+copyPackageVersions_package = Lens.lens (\CopyPackageVersions' {package} -> package) (\s@CopyPackageVersions' {} a -> s {package = a} :: CopyPackageVersions)++instance Core.AWSRequest CopyPackageVersions where+  type+    AWSResponse CopyPackageVersions =+      CopyPackageVersionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CopyPackageVersionsResponse'+            Prelude.<$> (x Data..?> "failedVersions" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "successfulVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CopyPackageVersions where+  hashWithSalt _salt CopyPackageVersions' {..} =+    _salt+      `Prelude.hashWithSalt` allowOverwrite+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` includeFromUpstream+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` versionRevisions+      `Prelude.hashWithSalt` versions+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` sourceRepository+      `Prelude.hashWithSalt` destinationRepository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package++instance Prelude.NFData CopyPackageVersions where+  rnf CopyPackageVersions' {..} =+    Prelude.rnf allowOverwrite+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf includeFromUpstream+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf versionRevisions+      `Prelude.seq` Prelude.rnf versions+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf sourceRepository+      `Prelude.seq` Prelude.rnf destinationRepository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package++instance Data.ToHeaders CopyPackageVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CopyPackageVersions where+  toJSON CopyPackageVersions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("allowOverwrite" Data..=)+              Prelude.<$> allowOverwrite,+            ("includeFromUpstream" Data..=)+              Prelude.<$> includeFromUpstream,+            ("versionRevisions" Data..=)+              Prelude.<$> versionRevisions,+            ("versions" Data..=) Prelude.<$> versions+          ]+      )++instance Data.ToPath CopyPackageVersions where+  toPath = Prelude.const "/v1/package/versions/copy"++instance Data.ToQuery CopyPackageVersions where+  toQuery CopyPackageVersions' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "source-repository" Data.=: sourceRepository,+        "destination-repository"+          Data.=: destinationRepository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newCopyPackageVersionsResponse' smart constructor.+data CopyPackageVersionsResponse = CopyPackageVersionsResponse'+  { -- | A map of package versions that failed to copy and their error codes. The+    -- possible error codes are in the @PackageVersionError@ data type. They+    -- are:+    --+    -- -   @ALREADY_EXISTS@+    --+    -- -   @MISMATCHED_REVISION@+    --+    -- -   @MISMATCHED_STATUS@+    --+    -- -   @NOT_ALLOWED@+    --+    -- -   @NOT_FOUND@+    --+    -- -   @SKIPPED@+    failedVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError),+    -- | A list of the package versions that were successfully copied to your+    -- repository.+    successfulVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyPackageVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedVersions', 'copyPackageVersionsResponse_failedVersions' - A map of package versions that failed to copy and their error codes. The+-- possible error codes are in the @PackageVersionError@ data type. They+-- are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+--+-- 'successfulVersions', 'copyPackageVersionsResponse_successfulVersions' - A list of the package versions that were successfully copied to your+-- repository.+--+-- 'httpStatus', 'copyPackageVersionsResponse_httpStatus' - The response's http status code.+newCopyPackageVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CopyPackageVersionsResponse+newCopyPackageVersionsResponse pHttpStatus_ =+  CopyPackageVersionsResponse'+    { failedVersions =+        Prelude.Nothing,+      successfulVersions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A map of package versions that failed to copy and their error codes. The+-- possible error codes are in the @PackageVersionError@ data type. They+-- are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+copyPackageVersionsResponse_failedVersions :: Lens.Lens' CopyPackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError))+copyPackageVersionsResponse_failedVersions = Lens.lens (\CopyPackageVersionsResponse' {failedVersions} -> failedVersions) (\s@CopyPackageVersionsResponse' {} a -> s {failedVersions = a} :: CopyPackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of the package versions that were successfully copied to your+-- repository.+copyPackageVersionsResponse_successfulVersions :: Lens.Lens' CopyPackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo))+copyPackageVersionsResponse_successfulVersions = Lens.lens (\CopyPackageVersionsResponse' {successfulVersions} -> successfulVersions) (\s@CopyPackageVersionsResponse' {} a -> s {successfulVersions = a} :: CopyPackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+copyPackageVersionsResponse_httpStatus :: Lens.Lens' CopyPackageVersionsResponse Prelude.Int+copyPackageVersionsResponse_httpStatus = Lens.lens (\CopyPackageVersionsResponse' {httpStatus} -> httpStatus) (\s@CopyPackageVersionsResponse' {} a -> s {httpStatus = a} :: CopyPackageVersionsResponse)++instance Prelude.NFData CopyPackageVersionsResponse where+  rnf CopyPackageVersionsResponse' {..} =+    Prelude.rnf failedVersions+      `Prelude.seq` Prelude.rnf successfulVersions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/CreateDomain.hs view
@@ -0,0 +1,258 @@+{-# 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.CodeArtifact.CreateDomain+-- 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 domain. CodeArtifact /domains/ make it easier to manage+-- multiple repositories across an organization. You can use a domain to+-- apply permissions across many repositories owned by different Amazon Web+-- Services accounts. An asset is stored only once in a domain, even if+-- it\'s in multiple repositories.+--+-- Although you can have multiple domains, we recommend a single production+-- domain that contains all published artifacts so that your development+-- teams can find and share packages. You can use a second pre-production+-- domain to test changes to the production domain configuration.+module Amazonka.CodeArtifact.CreateDomain+  ( -- * Creating a Request+    CreateDomain (..),+    newCreateDomain,++    -- * Request Lenses+    createDomain_encryptionKey,+    createDomain_tags,+    createDomain_domain,++    -- * Destructuring the Response+    CreateDomainResponse (..),+    newCreateDomainResponse,++    -- * Response Lenses+    createDomainResponse_domain,+    createDomainResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDomain' smart constructor.+data CreateDomain = CreateDomain'+  { -- | The encryption key for the domain. This is used to encrypt content+    -- stored in a domain. An encryption key can be a key ID, a key Amazon+    -- Resource Name (ARN), a key alias, or a key alias ARN. To specify an+    -- @encryptionKey@, your IAM role must have @kms:DescribeKey@ and+    -- @kms:CreateGrant@ permissions on the encryption key that is used. For+    -- more information, see+    -- <https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax DescribeKey>+    -- in the /Key Management Service API Reference/ and+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html Key Management Service API Permissions Reference>+    -- in the /Key Management Service Developer Guide/.+    --+    -- CodeArtifact supports only symmetric CMKs. Do not associate an+    -- asymmetric CMK with your domain. For more information, see+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+    -- in the /Key Management Service Developer Guide/.+    encryptionKey :: Prelude.Maybe Prelude.Text,+    -- | One or more tag key-value pairs for the domain.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the domain to create. All domain names in an Amazon Web+    -- Services Region that are in the same Amazon Web Services account must be+    -- unique. The domain name is used as the prefix in DNS hostnames. Do not+    -- use sensitive information in a domain name because it is publicly+    -- discoverable.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionKey', 'createDomain_encryptionKey' - The encryption key for the domain. This is used to encrypt content+-- stored in a domain. An encryption key can be a key ID, a key Amazon+-- Resource Name (ARN), a key alias, or a key alias ARN. To specify an+-- @encryptionKey@, your IAM role must have @kms:DescribeKey@ and+-- @kms:CreateGrant@ permissions on the encryption key that is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax DescribeKey>+-- in the /Key Management Service API Reference/ and+-- <https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html Key Management Service API Permissions Reference>+-- in the /Key Management Service Developer Guide/.+--+-- CodeArtifact supports only symmetric CMKs. Do not associate an+-- asymmetric CMK with your domain. For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Key Management Service Developer Guide/.+--+-- 'tags', 'createDomain_tags' - One or more tag key-value pairs for the domain.+--+-- 'domain', 'createDomain_domain' - The name of the domain to create. All domain names in an Amazon Web+-- Services Region that are in the same Amazon Web Services account must be+-- unique. The domain name is used as the prefix in DNS hostnames. Do not+-- use sensitive information in a domain name because it is publicly+-- discoverable.+newCreateDomain ::+  -- | 'domain'+  Prelude.Text ->+  CreateDomain+newCreateDomain pDomain_ =+  CreateDomain'+    { encryptionKey = Prelude.Nothing,+      tags = Prelude.Nothing,+      domain = pDomain_+    }++-- | The encryption key for the domain. This is used to encrypt content+-- stored in a domain. An encryption key can be a key ID, a key Amazon+-- Resource Name (ARN), a key alias, or a key alias ARN. To specify an+-- @encryptionKey@, your IAM role must have @kms:DescribeKey@ and+-- @kms:CreateGrant@ permissions on the encryption key that is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax DescribeKey>+-- in the /Key Management Service API Reference/ and+-- <https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html Key Management Service API Permissions Reference>+-- in the /Key Management Service Developer Guide/.+--+-- CodeArtifact supports only symmetric CMKs. Do not associate an+-- asymmetric CMK with your domain. For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Key Management Service Developer Guide/.+createDomain_encryptionKey :: Lens.Lens' CreateDomain (Prelude.Maybe Prelude.Text)+createDomain_encryptionKey = Lens.lens (\CreateDomain' {encryptionKey} -> encryptionKey) (\s@CreateDomain' {} a -> s {encryptionKey = a} :: CreateDomain)++-- | One or more tag key-value pairs for the domain.+createDomain_tags :: Lens.Lens' CreateDomain (Prelude.Maybe [Tag])+createDomain_tags = Lens.lens (\CreateDomain' {tags} -> tags) (\s@CreateDomain' {} a -> s {tags = a} :: CreateDomain) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain to create. All domain names in an Amazon Web+-- Services Region that are in the same Amazon Web Services account must be+-- unique. The domain name is used as the prefix in DNS hostnames. Do not+-- use sensitive information in a domain name because it is publicly+-- discoverable.+createDomain_domain :: Lens.Lens' CreateDomain Prelude.Text+createDomain_domain = Lens.lens (\CreateDomain' {domain} -> domain) (\s@CreateDomain' {} a -> s {domain = a} :: CreateDomain)++instance Core.AWSRequest CreateDomain where+  type AWSResponse CreateDomain = CreateDomainResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDomainResponse'+            Prelude.<$> (x Data..?> "domain")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDomain where+  hashWithSalt _salt CreateDomain' {..} =+    _salt+      `Prelude.hashWithSalt` encryptionKey+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` domain++instance Prelude.NFData CreateDomain where+  rnf CreateDomain' {..} =+    Prelude.rnf encryptionKey+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders CreateDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDomain where+  toJSON CreateDomain' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("encryptionKey" Data..=) Prelude.<$> encryptionKey,+            ("tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateDomain where+  toPath = Prelude.const "/v1/domain"++instance Data.ToQuery CreateDomain where+  toQuery CreateDomain' {..} =+    Prelude.mconcat ["domain" Data.=: domain]++-- | /See:/ 'newCreateDomainResponse' smart constructor.+data CreateDomainResponse = CreateDomainResponse'+  { -- | Contains information about the created domain after processing the+    -- request.+    domain :: Prelude.Maybe DomainDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'createDomainResponse_domain' - Contains information about the created domain after processing the+-- request.+--+-- 'httpStatus', 'createDomainResponse_httpStatus' - The response's http status code.+newCreateDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDomainResponse+newCreateDomainResponse pHttpStatus_ =+  CreateDomainResponse'+    { domain = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Contains information about the created domain after processing the+-- request.+createDomainResponse_domain :: Lens.Lens' CreateDomainResponse (Prelude.Maybe DomainDescription)+createDomainResponse_domain = Lens.lens (\CreateDomainResponse' {domain} -> domain) (\s@CreateDomainResponse' {} a -> s {domain = a} :: CreateDomainResponse)++-- | The response's http status code.+createDomainResponse_httpStatus :: Lens.Lens' CreateDomainResponse Prelude.Int+createDomainResponse_httpStatus = Lens.lens (\CreateDomainResponse' {httpStatus} -> httpStatus) (\s@CreateDomainResponse' {} a -> s {httpStatus = a} :: CreateDomainResponse)++instance Prelude.NFData CreateDomainResponse where+  rnf CreateDomainResponse' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/CreateRepository.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.CodeArtifact.CreateRepository+-- 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 repository.+module Amazonka.CodeArtifact.CreateRepository+  ( -- * Creating a Request+    CreateRepository (..),+    newCreateRepository,++    -- * Request Lenses+    createRepository_description,+    createRepository_domainOwner,+    createRepository_tags,+    createRepository_upstreams,+    createRepository_domain,+    createRepository_repository,++    -- * Destructuring the Response+    CreateRepositoryResponse (..),+    newCreateRepositoryResponse,++    -- * Response Lenses+    createRepositoryResponse_repository,+    createRepositoryResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateRepository' smart constructor.+data CreateRepository = CreateRepository'+  { -- | A description of the created repository.+    description :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | One or more tag key-value pairs for the repository.+    tags :: Prelude.Maybe [Tag],+    -- | A list of upstream repositories to associate with the repository. The+    -- order of the upstream repositories in the list determines their priority+    -- order when CodeArtifact looks for a requested package version. For more+    -- information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+    upstreams :: Prelude.Maybe [UpstreamRepository],+    -- | The name of the domain that contains the created repository.+    domain :: Prelude.Text,+    -- | The name of the repository to create.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createRepository_description' - A description of the created repository.+--+-- 'domainOwner', 'createRepository_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'tags', 'createRepository_tags' - One or more tag key-value pairs for the repository.+--+-- 'upstreams', 'createRepository_upstreams' - A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+--+-- 'domain', 'createRepository_domain' - The name of the domain that contains the created repository.+--+-- 'repository', 'createRepository_repository' - The name of the repository to create.+newCreateRepository ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  CreateRepository+newCreateRepository pDomain_ pRepository_ =+  CreateRepository'+    { description = Prelude.Nothing,+      domainOwner = Prelude.Nothing,+      tags = Prelude.Nothing,+      upstreams = Prelude.Nothing,+      domain = pDomain_,+      repository = pRepository_+    }++-- | A description of the created repository.+createRepository_description :: Lens.Lens' CreateRepository (Prelude.Maybe Prelude.Text)+createRepository_description = Lens.lens (\CreateRepository' {description} -> description) (\s@CreateRepository' {} a -> s {description = a} :: CreateRepository)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+createRepository_domainOwner :: Lens.Lens' CreateRepository (Prelude.Maybe Prelude.Text)+createRepository_domainOwner = Lens.lens (\CreateRepository' {domainOwner} -> domainOwner) (\s@CreateRepository' {} a -> s {domainOwner = a} :: CreateRepository)++-- | One or more tag key-value pairs for the repository.+createRepository_tags :: Lens.Lens' CreateRepository (Prelude.Maybe [Tag])+createRepository_tags = Lens.lens (\CreateRepository' {tags} -> tags) (\s@CreateRepository' {} a -> s {tags = a} :: CreateRepository) Prelude.. Lens.mapping Lens.coerced++-- | A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+createRepository_upstreams :: Lens.Lens' CreateRepository (Prelude.Maybe [UpstreamRepository])+createRepository_upstreams = Lens.lens (\CreateRepository' {upstreams} -> upstreams) (\s@CreateRepository' {} a -> s {upstreams = a} :: CreateRepository) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain that contains the created repository.+createRepository_domain :: Lens.Lens' CreateRepository Prelude.Text+createRepository_domain = Lens.lens (\CreateRepository' {domain} -> domain) (\s@CreateRepository' {} a -> s {domain = a} :: CreateRepository)++-- | The name of the repository to create.+createRepository_repository :: Lens.Lens' CreateRepository Prelude.Text+createRepository_repository = Lens.lens (\CreateRepository' {repository} -> repository) (\s@CreateRepository' {} a -> s {repository = a} :: CreateRepository)++instance Core.AWSRequest CreateRepository where+  type+    AWSResponse CreateRepository =+      CreateRepositoryResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRepositoryResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateRepository where+  hashWithSalt _salt CreateRepository' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` upstreams+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository++instance Prelude.NFData CreateRepository where+  rnf CreateRepository' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf upstreams+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance Data.ToHeaders CreateRepository where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateRepository where+  toJSON CreateRepository' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("tags" Data..=) Prelude.<$> tags,+            ("upstreams" Data..=) Prelude.<$> upstreams+          ]+      )++instance Data.ToPath CreateRepository where+  toPath = Prelude.const "/v1/repository"++instance Data.ToQuery CreateRepository where+  toQuery CreateRepository' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newCreateRepositoryResponse' smart constructor.+data CreateRepositoryResponse = CreateRepositoryResponse'+  { -- | Information about the created repository after processing the request.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRepositoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'createRepositoryResponse_repository' - Information about the created repository after processing the request.+--+-- 'httpStatus', 'createRepositoryResponse_httpStatus' - The response's http status code.+newCreateRepositoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateRepositoryResponse+newCreateRepositoryResponse pHttpStatus_ =+  CreateRepositoryResponse'+    { repository =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the created repository after processing the request.+createRepositoryResponse_repository :: Lens.Lens' CreateRepositoryResponse (Prelude.Maybe RepositoryDescription)+createRepositoryResponse_repository = Lens.lens (\CreateRepositoryResponse' {repository} -> repository) (\s@CreateRepositoryResponse' {} a -> s {repository = a} :: CreateRepositoryResponse)++-- | The response's http status code.+createRepositoryResponse_httpStatus :: Lens.Lens' CreateRepositoryResponse Prelude.Int+createRepositoryResponse_httpStatus = Lens.lens (\CreateRepositoryResponse' {httpStatus} -> httpStatus) (\s@CreateRepositoryResponse' {} a -> s {httpStatus = a} :: CreateRepositoryResponse)++instance Prelude.NFData CreateRepositoryResponse where+  rnf CreateRepositoryResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DeleteDomain.hs view
@@ -0,0 +1,182 @@+{-# 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.CodeArtifact.DeleteDomain+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a domain. You cannot delete a domain that contains repositories.+-- If you want to delete a domain with repositories, first delete its+-- repositories.+module Amazonka.CodeArtifact.DeleteDomain+  ( -- * Creating a Request+    DeleteDomain (..),+    newDeleteDomain,++    -- * Request Lenses+    deleteDomain_domainOwner,+    deleteDomain_domain,++    -- * Destructuring the Response+    DeleteDomainResponse (..),+    newDeleteDomainResponse,++    -- * Response Lenses+    deleteDomainResponse_domain,+    deleteDomainResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDomain' smart constructor.+data DeleteDomain = DeleteDomain'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain to delete.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'deleteDomain_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'deleteDomain_domain' - The name of the domain to delete.+newDeleteDomain ::+  -- | 'domain'+  Prelude.Text ->+  DeleteDomain+newDeleteDomain pDomain_ =+  DeleteDomain'+    { domainOwner = Prelude.Nothing,+      domain = pDomain_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+deleteDomain_domainOwner :: Lens.Lens' DeleteDomain (Prelude.Maybe Prelude.Text)+deleteDomain_domainOwner = Lens.lens (\DeleteDomain' {domainOwner} -> domainOwner) (\s@DeleteDomain' {} a -> s {domainOwner = a} :: DeleteDomain)++-- | The name of the domain to delete.+deleteDomain_domain :: Lens.Lens' DeleteDomain Prelude.Text+deleteDomain_domain = Lens.lens (\DeleteDomain' {domain} -> domain) (\s@DeleteDomain' {} a -> s {domain = a} :: DeleteDomain)++instance Core.AWSRequest DeleteDomain where+  type AWSResponse DeleteDomain = DeleteDomainResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDomainResponse'+            Prelude.<$> (x Data..?> "domain")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDomain where+  hashWithSalt _salt DeleteDomain' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain++instance Prelude.NFData DeleteDomain where+  rnf DeleteDomain' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders DeleteDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDomain where+  toPath = Prelude.const "/v1/domain"++instance Data.ToQuery DeleteDomain where+  toQuery DeleteDomain' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newDeleteDomainResponse' smart constructor.+data DeleteDomainResponse = DeleteDomainResponse'+  { -- | Contains information about the deleted domain after processing the+    -- request.+    domain :: Prelude.Maybe DomainDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'deleteDomainResponse_domain' - Contains information about the deleted domain after processing the+-- request.+--+-- 'httpStatus', 'deleteDomainResponse_httpStatus' - The response's http status code.+newDeleteDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDomainResponse+newDeleteDomainResponse pHttpStatus_ =+  DeleteDomainResponse'+    { domain = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Contains information about the deleted domain after processing the+-- request.+deleteDomainResponse_domain :: Lens.Lens' DeleteDomainResponse (Prelude.Maybe DomainDescription)+deleteDomainResponse_domain = Lens.lens (\DeleteDomainResponse' {domain} -> domain) (\s@DeleteDomainResponse' {} a -> s {domain = a} :: DeleteDomainResponse)++-- | The response's http status code.+deleteDomainResponse_httpStatus :: Lens.Lens' DeleteDomainResponse Prelude.Int+deleteDomainResponse_httpStatus = Lens.lens (\DeleteDomainResponse' {httpStatus} -> httpStatus) (\s@DeleteDomainResponse' {} a -> s {httpStatus = a} :: DeleteDomainResponse)++instance Prelude.NFData DeleteDomainResponse where+  rnf DeleteDomainResponse' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DeleteDomainPermissionsPolicy.hs view
@@ -0,0 +1,216 @@+{-# 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.CodeArtifact.DeleteDomainPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the resource policy set on a domain.+module Amazonka.CodeArtifact.DeleteDomainPermissionsPolicy+  ( -- * Creating a Request+    DeleteDomainPermissionsPolicy (..),+    newDeleteDomainPermissionsPolicy,++    -- * Request Lenses+    deleteDomainPermissionsPolicy_domainOwner,+    deleteDomainPermissionsPolicy_policyRevision,+    deleteDomainPermissionsPolicy_domain,++    -- * Destructuring the Response+    DeleteDomainPermissionsPolicyResponse (..),+    newDeleteDomainPermissionsPolicyResponse,++    -- * Response Lenses+    deleteDomainPermissionsPolicyResponse_policy,+    deleteDomainPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDomainPermissionsPolicy' smart constructor.+data DeleteDomainPermissionsPolicy = DeleteDomainPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The current revision of the resource policy to be deleted. This revision+    -- is used for optimistic locking, which prevents others from overwriting+    -- your changes to the domain\'s resource policy.+    policyRevision :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain associated with the resource policy to be+    -- deleted.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomainPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'deleteDomainPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'policyRevision', 'deleteDomainPermissionsPolicy_policyRevision' - The current revision of the resource policy to be deleted. This revision+-- is used for optimistic locking, which prevents others from overwriting+-- your changes to the domain\'s resource policy.+--+-- 'domain', 'deleteDomainPermissionsPolicy_domain' - The name of the domain associated with the resource policy to be+-- deleted.+newDeleteDomainPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  DeleteDomainPermissionsPolicy+newDeleteDomainPermissionsPolicy pDomain_ =+  DeleteDomainPermissionsPolicy'+    { domainOwner =+        Prelude.Nothing,+      policyRevision = Prelude.Nothing,+      domain = pDomain_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+deleteDomainPermissionsPolicy_domainOwner :: Lens.Lens' DeleteDomainPermissionsPolicy (Prelude.Maybe Prelude.Text)+deleteDomainPermissionsPolicy_domainOwner = Lens.lens (\DeleteDomainPermissionsPolicy' {domainOwner} -> domainOwner) (\s@DeleteDomainPermissionsPolicy' {} a -> s {domainOwner = a} :: DeleteDomainPermissionsPolicy)++-- | The current revision of the resource policy to be deleted. This revision+-- is used for optimistic locking, which prevents others from overwriting+-- your changes to the domain\'s resource policy.+deleteDomainPermissionsPolicy_policyRevision :: Lens.Lens' DeleteDomainPermissionsPolicy (Prelude.Maybe Prelude.Text)+deleteDomainPermissionsPolicy_policyRevision = Lens.lens (\DeleteDomainPermissionsPolicy' {policyRevision} -> policyRevision) (\s@DeleteDomainPermissionsPolicy' {} a -> s {policyRevision = a} :: DeleteDomainPermissionsPolicy)++-- | The name of the domain associated with the resource policy to be+-- deleted.+deleteDomainPermissionsPolicy_domain :: Lens.Lens' DeleteDomainPermissionsPolicy Prelude.Text+deleteDomainPermissionsPolicy_domain = Lens.lens (\DeleteDomainPermissionsPolicy' {domain} -> domain) (\s@DeleteDomainPermissionsPolicy' {} a -> s {domain = a} :: DeleteDomainPermissionsPolicy)++instance+  Core.AWSRequest+    DeleteDomainPermissionsPolicy+  where+  type+    AWSResponse DeleteDomainPermissionsPolicy =+      DeleteDomainPermissionsPolicyResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDomainPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteDomainPermissionsPolicy+  where+  hashWithSalt _salt DeleteDomainPermissionsPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` policyRevision+      `Prelude.hashWithSalt` domain++instance Prelude.NFData DeleteDomainPermissionsPolicy where+  rnf DeleteDomainPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf policyRevision+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders DeleteDomainPermissionsPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDomainPermissionsPolicy where+  toPath =+    Prelude.const "/v1/domain/permissions/policy"++instance Data.ToQuery DeleteDomainPermissionsPolicy where+  toQuery DeleteDomainPermissionsPolicy' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "policy-revision" Data.=: policyRevision,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newDeleteDomainPermissionsPolicyResponse' smart constructor.+data DeleteDomainPermissionsPolicyResponse = DeleteDomainPermissionsPolicyResponse'+  { -- | Information about the deleted resource policy after processing the+    -- request.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDomainPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'deleteDomainPermissionsPolicyResponse_policy' - Information about the deleted resource policy after processing the+-- request.+--+-- 'httpStatus', 'deleteDomainPermissionsPolicyResponse_httpStatus' - The response's http status code.+newDeleteDomainPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDomainPermissionsPolicyResponse+newDeleteDomainPermissionsPolicyResponse pHttpStatus_ =+  DeleteDomainPermissionsPolicyResponse'+    { policy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted resource policy after processing the+-- request.+deleteDomainPermissionsPolicyResponse_policy :: Lens.Lens' DeleteDomainPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+deleteDomainPermissionsPolicyResponse_policy = Lens.lens (\DeleteDomainPermissionsPolicyResponse' {policy} -> policy) (\s@DeleteDomainPermissionsPolicyResponse' {} a -> s {policy = a} :: DeleteDomainPermissionsPolicyResponse)++-- | The response's http status code.+deleteDomainPermissionsPolicyResponse_httpStatus :: Lens.Lens' DeleteDomainPermissionsPolicyResponse Prelude.Int+deleteDomainPermissionsPolicyResponse_httpStatus = Lens.lens (\DeleteDomainPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteDomainPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: DeleteDomainPermissionsPolicyResponse)++instance+  Prelude.NFData+    DeleteDomainPermissionsPolicyResponse+  where+  rnf DeleteDomainPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DeletePackageVersions.hs view
@@ -0,0 +1,371 @@+{-# 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.CodeArtifact.DeletePackageVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes one or more versions of a package. A deleted package version+-- cannot be restored in your repository. If you want to remove a package+-- version from your repository and be able to restore it later, set its+-- status to @Archived@. Archived packages cannot be downloaded from a+-- repository and don\'t show up with list package APIs (for example,+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html ListackageVersions>),+-- but you can restore them using+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html UpdatePackageVersionsStatus>.+module Amazonka.CodeArtifact.DeletePackageVersions+  ( -- * Creating a Request+    DeletePackageVersions (..),+    newDeletePackageVersions,++    -- * Request Lenses+    deletePackageVersions_domainOwner,+    deletePackageVersions_expectedStatus,+    deletePackageVersions_namespace,+    deletePackageVersions_domain,+    deletePackageVersions_repository,+    deletePackageVersions_format,+    deletePackageVersions_package,+    deletePackageVersions_versions,++    -- * Destructuring the Response+    DeletePackageVersionsResponse (..),+    newDeletePackageVersionsResponse,++    -- * Response Lenses+    deletePackageVersionsResponse_failedVersions,+    deletePackageVersionsResponse_successfulVersions,+    deletePackageVersionsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePackageVersions' smart constructor.+data DeletePackageVersions = DeletePackageVersions'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The expected status of the package version to delete.+    expectedStatus :: Prelude.Maybe PackageVersionStatus,+    -- | The namespace of the package versions to be deleted. The package version+    -- component that specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@. The+    --     namespace is required when deleting Maven package versions.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the package to delete.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package versions to delete.+    repository :: Prelude.Text,+    -- | The format of the package versions to delete.+    format :: PackageFormat,+    -- | The name of the package with the versions to delete.+    package :: Prelude.Text,+    -- | An array of strings that specify the versions of the package to delete.+    versions :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePackageVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'deletePackageVersions_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'expectedStatus', 'deletePackageVersions_expectedStatus' - The expected status of the package version to delete.+--+-- 'namespace', 'deletePackageVersions_namespace' - The namespace of the package versions to be deleted. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@. The+--     namespace is required when deleting Maven package versions.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'domain', 'deletePackageVersions_domain' - The name of the domain that contains the package to delete.+--+-- 'repository', 'deletePackageVersions_repository' - The name of the repository that contains the package versions to delete.+--+-- 'format', 'deletePackageVersions_format' - The format of the package versions to delete.+--+-- 'package', 'deletePackageVersions_package' - The name of the package with the versions to delete.+--+-- 'versions', 'deletePackageVersions_versions' - An array of strings that specify the versions of the package to delete.+newDeletePackageVersions ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  DeletePackageVersions+newDeletePackageVersions+  pDomain_+  pRepository_+  pFormat_+  pPackage_ =+    DeletePackageVersions'+      { domainOwner =+          Prelude.Nothing,+        expectedStatus = Prelude.Nothing,+        namespace = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        versions = Prelude.mempty+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+deletePackageVersions_domainOwner :: Lens.Lens' DeletePackageVersions (Prelude.Maybe Prelude.Text)+deletePackageVersions_domainOwner = Lens.lens (\DeletePackageVersions' {domainOwner} -> domainOwner) (\s@DeletePackageVersions' {} a -> s {domainOwner = a} :: DeletePackageVersions)++-- | The expected status of the package version to delete.+deletePackageVersions_expectedStatus :: Lens.Lens' DeletePackageVersions (Prelude.Maybe PackageVersionStatus)+deletePackageVersions_expectedStatus = Lens.lens (\DeletePackageVersions' {expectedStatus} -> expectedStatus) (\s@DeletePackageVersions' {} a -> s {expectedStatus = a} :: DeletePackageVersions)++-- | The namespace of the package versions to be deleted. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@. The+--     namespace is required when deleting Maven package versions.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+deletePackageVersions_namespace :: Lens.Lens' DeletePackageVersions (Prelude.Maybe Prelude.Text)+deletePackageVersions_namespace = Lens.lens (\DeletePackageVersions' {namespace} -> namespace) (\s@DeletePackageVersions' {} a -> s {namespace = a} :: DeletePackageVersions)++-- | The name of the domain that contains the package to delete.+deletePackageVersions_domain :: Lens.Lens' DeletePackageVersions Prelude.Text+deletePackageVersions_domain = Lens.lens (\DeletePackageVersions' {domain} -> domain) (\s@DeletePackageVersions' {} a -> s {domain = a} :: DeletePackageVersions)++-- | The name of the repository that contains the package versions to delete.+deletePackageVersions_repository :: Lens.Lens' DeletePackageVersions Prelude.Text+deletePackageVersions_repository = Lens.lens (\DeletePackageVersions' {repository} -> repository) (\s@DeletePackageVersions' {} a -> s {repository = a} :: DeletePackageVersions)++-- | The format of the package versions to delete.+deletePackageVersions_format :: Lens.Lens' DeletePackageVersions PackageFormat+deletePackageVersions_format = Lens.lens (\DeletePackageVersions' {format} -> format) (\s@DeletePackageVersions' {} a -> s {format = a} :: DeletePackageVersions)++-- | The name of the package with the versions to delete.+deletePackageVersions_package :: Lens.Lens' DeletePackageVersions Prelude.Text+deletePackageVersions_package = Lens.lens (\DeletePackageVersions' {package} -> package) (\s@DeletePackageVersions' {} a -> s {package = a} :: DeletePackageVersions)++-- | An array of strings that specify the versions of the package to delete.+deletePackageVersions_versions :: Lens.Lens' DeletePackageVersions [Prelude.Text]+deletePackageVersions_versions = Lens.lens (\DeletePackageVersions' {versions} -> versions) (\s@DeletePackageVersions' {} a -> s {versions = a} :: DeletePackageVersions) Prelude.. Lens.coerced++instance Core.AWSRequest DeletePackageVersions where+  type+    AWSResponse DeletePackageVersions =+      DeletePackageVersionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeletePackageVersionsResponse'+            Prelude.<$> (x Data..?> "failedVersions" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "successfulVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeletePackageVersions where+  hashWithSalt _salt DeletePackageVersions' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` expectedStatus+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` versions++instance Prelude.NFData DeletePackageVersions where+  rnf DeletePackageVersions' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf expectedStatus+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf versions++instance Data.ToHeaders DeletePackageVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeletePackageVersions where+  toJSON DeletePackageVersions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("expectedStatus" Data..=)+              Prelude.<$> expectedStatus,+            Prelude.Just ("versions" Data..= versions)+          ]+      )++instance Data.ToPath DeletePackageVersions where+  toPath = Prelude.const "/v1/package/versions/delete"++instance Data.ToQuery DeletePackageVersions where+  toQuery DeletePackageVersions' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newDeletePackageVersionsResponse' smart constructor.+data DeletePackageVersionsResponse = DeletePackageVersionsResponse'+  { -- | A @PackageVersionError@ object that contains a map of errors codes for+    -- the deleted package that failed. The possible error codes are:+    --+    -- -   @ALREADY_EXISTS@+    --+    -- -   @MISMATCHED_REVISION@+    --+    -- -   @MISMATCHED_STATUS@+    --+    -- -   @NOT_ALLOWED@+    --+    -- -   @NOT_FOUND@+    --+    -- -   @SKIPPED@+    failedVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError),+    -- | A list of the package versions that were successfully deleted. The+    -- status of every successful version will be @Deleted@.+    successfulVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePackageVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedVersions', 'deletePackageVersionsResponse_failedVersions' - A @PackageVersionError@ object that contains a map of errors codes for+-- the deleted package that failed. The possible error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+--+-- 'successfulVersions', 'deletePackageVersionsResponse_successfulVersions' - A list of the package versions that were successfully deleted. The+-- status of every successful version will be @Deleted@.+--+-- 'httpStatus', 'deletePackageVersionsResponse_httpStatus' - The response's http status code.+newDeletePackageVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeletePackageVersionsResponse+newDeletePackageVersionsResponse pHttpStatus_ =+  DeletePackageVersionsResponse'+    { failedVersions =+        Prelude.Nothing,+      successfulVersions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A @PackageVersionError@ object that contains a map of errors codes for+-- the deleted package that failed. The possible error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+deletePackageVersionsResponse_failedVersions :: Lens.Lens' DeletePackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError))+deletePackageVersionsResponse_failedVersions = Lens.lens (\DeletePackageVersionsResponse' {failedVersions} -> failedVersions) (\s@DeletePackageVersionsResponse' {} a -> s {failedVersions = a} :: DeletePackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of the package versions that were successfully deleted. The+-- status of every successful version will be @Deleted@.+deletePackageVersionsResponse_successfulVersions :: Lens.Lens' DeletePackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo))+deletePackageVersionsResponse_successfulVersions = Lens.lens (\DeletePackageVersionsResponse' {successfulVersions} -> successfulVersions) (\s@DeletePackageVersionsResponse' {} a -> s {successfulVersions = a} :: DeletePackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+deletePackageVersionsResponse_httpStatus :: Lens.Lens' DeletePackageVersionsResponse Prelude.Int+deletePackageVersionsResponse_httpStatus = Lens.lens (\DeletePackageVersionsResponse' {httpStatus} -> httpStatus) (\s@DeletePackageVersionsResponse' {} a -> s {httpStatus = a} :: DeletePackageVersionsResponse)++instance Prelude.NFData DeletePackageVersionsResponse where+  rnf DeletePackageVersionsResponse' {..} =+    Prelude.rnf failedVersions+      `Prelude.seq` Prelude.rnf successfulVersions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DeleteRepository.hs view
@@ -0,0 +1,195 @@+{-# 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.CodeArtifact.DeleteRepository+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a repository.+module Amazonka.CodeArtifact.DeleteRepository+  ( -- * Creating a Request+    DeleteRepository (..),+    newDeleteRepository,++    -- * Request Lenses+    deleteRepository_domainOwner,+    deleteRepository_domain,+    deleteRepository_repository,++    -- * Destructuring the Response+    DeleteRepositoryResponse (..),+    newDeleteRepositoryResponse,++    -- * Response Lenses+    deleteRepositoryResponse_repository,+    deleteRepositoryResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteRepository' smart constructor.+data DeleteRepository = DeleteRepository'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository to delete.+    domain :: Prelude.Text,+    -- | The name of the repository to delete.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'deleteRepository_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'deleteRepository_domain' - The name of the domain that contains the repository to delete.+--+-- 'repository', 'deleteRepository_repository' - The name of the repository to delete.+newDeleteRepository ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  DeleteRepository+newDeleteRepository pDomain_ pRepository_ =+  DeleteRepository'+    { domainOwner = Prelude.Nothing,+      domain = pDomain_,+      repository = pRepository_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+deleteRepository_domainOwner :: Lens.Lens' DeleteRepository (Prelude.Maybe Prelude.Text)+deleteRepository_domainOwner = Lens.lens (\DeleteRepository' {domainOwner} -> domainOwner) (\s@DeleteRepository' {} a -> s {domainOwner = a} :: DeleteRepository)++-- | The name of the domain that contains the repository to delete.+deleteRepository_domain :: Lens.Lens' DeleteRepository Prelude.Text+deleteRepository_domain = Lens.lens (\DeleteRepository' {domain} -> domain) (\s@DeleteRepository' {} a -> s {domain = a} :: DeleteRepository)++-- | The name of the repository to delete.+deleteRepository_repository :: Lens.Lens' DeleteRepository Prelude.Text+deleteRepository_repository = Lens.lens (\DeleteRepository' {repository} -> repository) (\s@DeleteRepository' {} a -> s {repository = a} :: DeleteRepository)++instance Core.AWSRequest DeleteRepository where+  type+    AWSResponse DeleteRepository =+      DeleteRepositoryResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteRepositoryResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteRepository where+  hashWithSalt _salt DeleteRepository' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository++instance Prelude.NFData DeleteRepository where+  rnf DeleteRepository' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance Data.ToHeaders DeleteRepository where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteRepository where+  toPath = Prelude.const "/v1/repository"++instance Data.ToQuery DeleteRepository where+  toQuery DeleteRepository' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newDeleteRepositoryResponse' smart constructor.+data DeleteRepositoryResponse = DeleteRepositoryResponse'+  { -- | Information about the deleted repository after processing the request.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRepositoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'deleteRepositoryResponse_repository' - Information about the deleted repository after processing the request.+--+-- 'httpStatus', 'deleteRepositoryResponse_httpStatus' - The response's http status code.+newDeleteRepositoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteRepositoryResponse+newDeleteRepositoryResponse pHttpStatus_ =+  DeleteRepositoryResponse'+    { repository =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted repository after processing the request.+deleteRepositoryResponse_repository :: Lens.Lens' DeleteRepositoryResponse (Prelude.Maybe RepositoryDescription)+deleteRepositoryResponse_repository = Lens.lens (\DeleteRepositoryResponse' {repository} -> repository) (\s@DeleteRepositoryResponse' {} a -> s {repository = a} :: DeleteRepositoryResponse)++-- | The response's http status code.+deleteRepositoryResponse_httpStatus :: Lens.Lens' DeleteRepositoryResponse Prelude.Int+deleteRepositoryResponse_httpStatus = Lens.lens (\DeleteRepositoryResponse' {httpStatus} -> httpStatus) (\s@DeleteRepositoryResponse' {} a -> s {httpStatus = a} :: DeleteRepositoryResponse)++instance Prelude.NFData DeleteRepositoryResponse where+  rnf DeleteRepositoryResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DeleteRepositoryPermissionsPolicy.hs view
@@ -0,0 +1,258 @@+{-# 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.CodeArtifact.DeleteRepositoryPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the resource policy that is set on a repository. After a+-- resource policy is deleted, the permissions allowed and denied by the+-- deleted policy are removed. The effect of deleting a resource policy+-- might not be immediate.+--+-- Use @DeleteRepositoryPermissionsPolicy@ with caution. After a policy is+-- deleted, Amazon Web Services users, roles, and accounts lose permissions+-- to perform the repository actions granted by the deleted policy.+module Amazonka.CodeArtifact.DeleteRepositoryPermissionsPolicy+  ( -- * Creating a Request+    DeleteRepositoryPermissionsPolicy (..),+    newDeleteRepositoryPermissionsPolicy,++    -- * Request Lenses+    deleteRepositoryPermissionsPolicy_domainOwner,+    deleteRepositoryPermissionsPolicy_policyRevision,+    deleteRepositoryPermissionsPolicy_domain,+    deleteRepositoryPermissionsPolicy_repository,++    -- * Destructuring the Response+    DeleteRepositoryPermissionsPolicyResponse (..),+    newDeleteRepositoryPermissionsPolicyResponse,++    -- * Response Lenses+    deleteRepositoryPermissionsPolicyResponse_policy,+    deleteRepositoryPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteRepositoryPermissionsPolicy' smart constructor.+data DeleteRepositoryPermissionsPolicy = DeleteRepositoryPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The revision of the repository\'s resource policy to be deleted. This+    -- revision is used for optimistic locking, which prevents others from+    -- accidentally overwriting your changes to the repository\'s resource+    -- policy.+    policyRevision :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository associated with the+    -- resource policy to be deleted.+    domain :: Prelude.Text,+    -- | The name of the repository that is associated with the resource policy+    -- to be deleted+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRepositoryPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'deleteRepositoryPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'policyRevision', 'deleteRepositoryPermissionsPolicy_policyRevision' - The revision of the repository\'s resource policy to be deleted. This+-- revision is used for optimistic locking, which prevents others from+-- accidentally overwriting your changes to the repository\'s resource+-- policy.+--+-- 'domain', 'deleteRepositoryPermissionsPolicy_domain' - The name of the domain that contains the repository associated with the+-- resource policy to be deleted.+--+-- 'repository', 'deleteRepositoryPermissionsPolicy_repository' - The name of the repository that is associated with the resource policy+-- to be deleted+newDeleteRepositoryPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  DeleteRepositoryPermissionsPolicy+newDeleteRepositoryPermissionsPolicy+  pDomain_+  pRepository_ =+    DeleteRepositoryPermissionsPolicy'+      { domainOwner =+          Prelude.Nothing,+        policyRevision = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+deleteRepositoryPermissionsPolicy_domainOwner :: Lens.Lens' DeleteRepositoryPermissionsPolicy (Prelude.Maybe Prelude.Text)+deleteRepositoryPermissionsPolicy_domainOwner = Lens.lens (\DeleteRepositoryPermissionsPolicy' {domainOwner} -> domainOwner) (\s@DeleteRepositoryPermissionsPolicy' {} a -> s {domainOwner = a} :: DeleteRepositoryPermissionsPolicy)++-- | The revision of the repository\'s resource policy to be deleted. This+-- revision is used for optimistic locking, which prevents others from+-- accidentally overwriting your changes to the repository\'s resource+-- policy.+deleteRepositoryPermissionsPolicy_policyRevision :: Lens.Lens' DeleteRepositoryPermissionsPolicy (Prelude.Maybe Prelude.Text)+deleteRepositoryPermissionsPolicy_policyRevision = Lens.lens (\DeleteRepositoryPermissionsPolicy' {policyRevision} -> policyRevision) (\s@DeleteRepositoryPermissionsPolicy' {} a -> s {policyRevision = a} :: DeleteRepositoryPermissionsPolicy)++-- | The name of the domain that contains the repository associated with the+-- resource policy to be deleted.+deleteRepositoryPermissionsPolicy_domain :: Lens.Lens' DeleteRepositoryPermissionsPolicy Prelude.Text+deleteRepositoryPermissionsPolicy_domain = Lens.lens (\DeleteRepositoryPermissionsPolicy' {domain} -> domain) (\s@DeleteRepositoryPermissionsPolicy' {} a -> s {domain = a} :: DeleteRepositoryPermissionsPolicy)++-- | The name of the repository that is associated with the resource policy+-- to be deleted+deleteRepositoryPermissionsPolicy_repository :: Lens.Lens' DeleteRepositoryPermissionsPolicy Prelude.Text+deleteRepositoryPermissionsPolicy_repository = Lens.lens (\DeleteRepositoryPermissionsPolicy' {repository} -> repository) (\s@DeleteRepositoryPermissionsPolicy' {} a -> s {repository = a} :: DeleteRepositoryPermissionsPolicy)++instance+  Core.AWSRequest+    DeleteRepositoryPermissionsPolicy+  where+  type+    AWSResponse DeleteRepositoryPermissionsPolicy =+      DeleteRepositoryPermissionsPolicyResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteRepositoryPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteRepositoryPermissionsPolicy+  where+  hashWithSalt+    _salt+    DeleteRepositoryPermissionsPolicy' {..} =+      _salt+        `Prelude.hashWithSalt` domainOwner+        `Prelude.hashWithSalt` policyRevision+        `Prelude.hashWithSalt` domain+        `Prelude.hashWithSalt` repository++instance+  Prelude.NFData+    DeleteRepositoryPermissionsPolicy+  where+  rnf DeleteRepositoryPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf policyRevision+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance+  Data.ToHeaders+    DeleteRepositoryPermissionsPolicy+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    DeleteRepositoryPermissionsPolicy+  where+  toPath =+    Prelude.const "/v1/repository/permissions/policies"++instance+  Data.ToQuery+    DeleteRepositoryPermissionsPolicy+  where+  toQuery DeleteRepositoryPermissionsPolicy' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "policy-revision" Data.=: policyRevision,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newDeleteRepositoryPermissionsPolicyResponse' smart constructor.+data DeleteRepositoryPermissionsPolicyResponse = DeleteRepositoryPermissionsPolicyResponse'+  { -- | Information about the deleted policy after processing the request.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRepositoryPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'deleteRepositoryPermissionsPolicyResponse_policy' - Information about the deleted policy after processing the request.+--+-- 'httpStatus', 'deleteRepositoryPermissionsPolicyResponse_httpStatus' - The response's http status code.+newDeleteRepositoryPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteRepositoryPermissionsPolicyResponse+newDeleteRepositoryPermissionsPolicyResponse+  pHttpStatus_ =+    DeleteRepositoryPermissionsPolicyResponse'+      { policy =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Information about the deleted policy after processing the request.+deleteRepositoryPermissionsPolicyResponse_policy :: Lens.Lens' DeleteRepositoryPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+deleteRepositoryPermissionsPolicyResponse_policy = Lens.lens (\DeleteRepositoryPermissionsPolicyResponse' {policy} -> policy) (\s@DeleteRepositoryPermissionsPolicyResponse' {} a -> s {policy = a} :: DeleteRepositoryPermissionsPolicyResponse)++-- | The response's http status code.+deleteRepositoryPermissionsPolicyResponse_httpStatus :: Lens.Lens' DeleteRepositoryPermissionsPolicyResponse Prelude.Int+deleteRepositoryPermissionsPolicyResponse_httpStatus = Lens.lens (\DeleteRepositoryPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteRepositoryPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: DeleteRepositoryPermissionsPolicyResponse)++instance+  Prelude.NFData+    DeleteRepositoryPermissionsPolicyResponse+  where+  rnf DeleteRepositoryPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DescribeDomain.hs view
@@ -0,0 +1,180 @@+{-# 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.CodeArtifact.DescribeDomain+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainDescription.html DomainDescription>+-- object that contains information about the requested domain.+module Amazonka.CodeArtifact.DescribeDomain+  ( -- * Creating a Request+    DescribeDomain (..),+    newDescribeDomain,++    -- * Request Lenses+    describeDomain_domainOwner,+    describeDomain_domain,++    -- * Destructuring the Response+    DescribeDomainResponse (..),+    newDescribeDomainResponse,++    -- * Response Lenses+    describeDomainResponse_domain,+    describeDomainResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDomain' smart constructor.+data DescribeDomain = DescribeDomain'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | A string that specifies the name of the requested domain.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'describeDomain_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'describeDomain_domain' - A string that specifies the name of the requested domain.+newDescribeDomain ::+  -- | 'domain'+  Prelude.Text ->+  DescribeDomain+newDescribeDomain pDomain_ =+  DescribeDomain'+    { domainOwner = Prelude.Nothing,+      domain = pDomain_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+describeDomain_domainOwner :: Lens.Lens' DescribeDomain (Prelude.Maybe Prelude.Text)+describeDomain_domainOwner = Lens.lens (\DescribeDomain' {domainOwner} -> domainOwner) (\s@DescribeDomain' {} a -> s {domainOwner = a} :: DescribeDomain)++-- | A string that specifies the name of the requested domain.+describeDomain_domain :: Lens.Lens' DescribeDomain Prelude.Text+describeDomain_domain = Lens.lens (\DescribeDomain' {domain} -> domain) (\s@DescribeDomain' {} a -> s {domain = a} :: DescribeDomain)++instance Core.AWSRequest DescribeDomain where+  type+    AWSResponse DescribeDomain =+      DescribeDomainResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDomainResponse'+            Prelude.<$> (x Data..?> "domain")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDomain where+  hashWithSalt _salt DescribeDomain' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain++instance Prelude.NFData DescribeDomain where+  rnf DescribeDomain' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders DescribeDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDomain where+  toPath = Prelude.const "/v1/domain"++instance Data.ToQuery DescribeDomain where+  toQuery DescribeDomain' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newDescribeDomainResponse' smart constructor.+data DescribeDomainResponse = DescribeDomainResponse'+  { domain :: Prelude.Maybe DomainDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'describeDomainResponse_domain' - Undocumented member.+--+-- 'httpStatus', 'describeDomainResponse_httpStatus' - The response's http status code.+newDescribeDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDomainResponse+newDescribeDomainResponse pHttpStatus_ =+  DescribeDomainResponse'+    { domain = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+describeDomainResponse_domain :: Lens.Lens' DescribeDomainResponse (Prelude.Maybe DomainDescription)+describeDomainResponse_domain = Lens.lens (\DescribeDomainResponse' {domain} -> domain) (\s@DescribeDomainResponse' {} a -> s {domain = a} :: DescribeDomainResponse)++-- | The response's http status code.+describeDomainResponse_httpStatus :: Lens.Lens' DescribeDomainResponse Prelude.Int+describeDomainResponse_httpStatus = Lens.lens (\DescribeDomainResponse' {httpStatus} -> httpStatus) (\s@DescribeDomainResponse' {} a -> s {httpStatus = a} :: DescribeDomainResponse)++instance Prelude.NFData DescribeDomainResponse where+  rnf DescribeDomainResponse' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DescribePackage.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.CodeArtifact.DescribePackage+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html PackageDescription>+-- object that contains information about the requested package.+module Amazonka.CodeArtifact.DescribePackage+  ( -- * Creating a Request+    DescribePackage (..),+    newDescribePackage,++    -- * Request Lenses+    describePackage_domainOwner,+    describePackage_namespace,+    describePackage_domain,+    describePackage_repository,+    describePackage_format,+    describePackage_package,++    -- * Destructuring the Response+    DescribePackageResponse (..),+    newDescribePackageResponse,++    -- * Response Lenses+    describePackageResponse_httpStatus,+    describePackageResponse_package,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePackage' smart constructor.+data DescribePackage = DescribePackage'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the requested package. The package component that+    -- specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@. The namespace is+    --     required when requesting Maven packages.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- package.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the requested package.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the requested package.+    format :: PackageFormat,+    -- | The name of the requested package.+    package :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'describePackage_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'describePackage_namespace' - The namespace of the requested package. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@. The namespace is+--     required when requesting Maven packages.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'domain', 'describePackage_domain' - The name of the domain that contains the repository that contains the+-- package.+--+-- 'repository', 'describePackage_repository' - The name of the repository that contains the requested package.+--+-- 'format', 'describePackage_format' - A format that specifies the type of the requested package.+--+-- 'package', 'describePackage_package' - The name of the requested package.+newDescribePackage ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  DescribePackage+newDescribePackage+  pDomain_+  pRepository_+  pFormat_+  pPackage_ =+    DescribePackage'+      { domainOwner = Prelude.Nothing,+        namespace = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+describePackage_domainOwner :: Lens.Lens' DescribePackage (Prelude.Maybe Prelude.Text)+describePackage_domainOwner = Lens.lens (\DescribePackage' {domainOwner} -> domainOwner) (\s@DescribePackage' {} a -> s {domainOwner = a} :: DescribePackage)++-- | The namespace of the requested package. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@. The namespace is+--     required when requesting Maven packages.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+describePackage_namespace :: Lens.Lens' DescribePackage (Prelude.Maybe Prelude.Text)+describePackage_namespace = Lens.lens (\DescribePackage' {namespace} -> namespace) (\s@DescribePackage' {} a -> s {namespace = a} :: DescribePackage)++-- | The name of the domain that contains the repository that contains the+-- package.+describePackage_domain :: Lens.Lens' DescribePackage Prelude.Text+describePackage_domain = Lens.lens (\DescribePackage' {domain} -> domain) (\s@DescribePackage' {} a -> s {domain = a} :: DescribePackage)++-- | The name of the repository that contains the requested package.+describePackage_repository :: Lens.Lens' DescribePackage Prelude.Text+describePackage_repository = Lens.lens (\DescribePackage' {repository} -> repository) (\s@DescribePackage' {} a -> s {repository = a} :: DescribePackage)++-- | A format that specifies the type of the requested package.+describePackage_format :: Lens.Lens' DescribePackage PackageFormat+describePackage_format = Lens.lens (\DescribePackage' {format} -> format) (\s@DescribePackage' {} a -> s {format = a} :: DescribePackage)++-- | The name of the requested package.+describePackage_package :: Lens.Lens' DescribePackage Prelude.Text+describePackage_package = Lens.lens (\DescribePackage' {package} -> package) (\s@DescribePackage' {} a -> s {package = a} :: DescribePackage)++instance Core.AWSRequest DescribePackage where+  type+    AWSResponse DescribePackage =+      DescribePackageResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePackageResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "package")+      )++instance Prelude.Hashable DescribePackage where+  hashWithSalt _salt DescribePackage' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package++instance Prelude.NFData DescribePackage where+  rnf DescribePackage' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package++instance Data.ToHeaders DescribePackage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePackage where+  toPath = Prelude.const "/v1/package"++instance Data.ToQuery DescribePackage where+  toQuery DescribePackage' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newDescribePackageResponse' smart constructor.+data DescribePackageResponse = DescribePackageResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html PackageDescription>+    -- object that contains information about the requested package.+    package :: PackageDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describePackageResponse_httpStatus' - The response's http status code.+--+-- 'package', 'describePackageResponse_package' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html PackageDescription>+-- object that contains information about the requested package.+newDescribePackageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'package'+  PackageDescription ->+  DescribePackageResponse+newDescribePackageResponse pHttpStatus_ pPackage_ =+  DescribePackageResponse'+    { httpStatus = pHttpStatus_,+      package = pPackage_+    }++-- | The response's http status code.+describePackageResponse_httpStatus :: Lens.Lens' DescribePackageResponse Prelude.Int+describePackageResponse_httpStatus = Lens.lens (\DescribePackageResponse' {httpStatus} -> httpStatus) (\s@DescribePackageResponse' {} a -> s {httpStatus = a} :: DescribePackageResponse)++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html PackageDescription>+-- object that contains information about the requested package.+describePackageResponse_package :: Lens.Lens' DescribePackageResponse PackageDescription+describePackageResponse_package = Lens.lens (\DescribePackageResponse' {package} -> package) (\s@DescribePackageResponse' {} a -> s {package = a} :: DescribePackageResponse)++instance Prelude.NFData DescribePackageResponse where+  rnf DescribePackageResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf package
+ gen/Amazonka/CodeArtifact/DescribePackageVersion.hs view
@@ -0,0 +1,304 @@+{-# 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.CodeArtifact.DescribePackageVersion+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html PackageVersionDescription>+-- object that contains information about the requested package version.+module Amazonka.CodeArtifact.DescribePackageVersion+  ( -- * Creating a Request+    DescribePackageVersion (..),+    newDescribePackageVersion,++    -- * Request Lenses+    describePackageVersion_domainOwner,+    describePackageVersion_namespace,+    describePackageVersion_domain,+    describePackageVersion_repository,+    describePackageVersion_format,+    describePackageVersion_package,+    describePackageVersion_packageVersion,++    -- * Destructuring the Response+    DescribePackageVersionResponse (..),+    newDescribePackageVersionResponse,++    -- * Response Lenses+    describePackageVersionResponse_httpStatus,+    describePackageVersionResponse_packageVersion,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePackageVersion' smart constructor.+data DescribePackageVersion = DescribePackageVersion'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the requested package version. The package version+    -- component that specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- package version.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package version.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the requested package version.+    format :: PackageFormat,+    -- | The name of the requested package version.+    package :: Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'describePackageVersion_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'describePackageVersion_namespace' - The namespace of the requested package version. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'domain', 'describePackageVersion_domain' - The name of the domain that contains the repository that contains the+-- package version.+--+-- 'repository', 'describePackageVersion_repository' - The name of the repository that contains the package version.+--+-- 'format', 'describePackageVersion_format' - A format that specifies the type of the requested package version.+--+-- 'package', 'describePackageVersion_package' - The name of the requested package version.+--+-- 'packageVersion', 'describePackageVersion_packageVersion' - A string that contains the package version (for example, @3.5.2@).+newDescribePackageVersion ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  DescribePackageVersion+newDescribePackageVersion+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pPackageVersion_ =+    DescribePackageVersion'+      { domainOwner =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        packageVersion = pPackageVersion_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+describePackageVersion_domainOwner :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)+describePackageVersion_domainOwner = Lens.lens (\DescribePackageVersion' {domainOwner} -> domainOwner) (\s@DescribePackageVersion' {} a -> s {domainOwner = a} :: DescribePackageVersion)++-- | The namespace of the requested package version. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+describePackageVersion_namespace :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)+describePackageVersion_namespace = Lens.lens (\DescribePackageVersion' {namespace} -> namespace) (\s@DescribePackageVersion' {} a -> s {namespace = a} :: DescribePackageVersion)++-- | The name of the domain that contains the repository that contains the+-- package version.+describePackageVersion_domain :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_domain = Lens.lens (\DescribePackageVersion' {domain} -> domain) (\s@DescribePackageVersion' {} a -> s {domain = a} :: DescribePackageVersion)++-- | The name of the repository that contains the package version.+describePackageVersion_repository :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_repository = Lens.lens (\DescribePackageVersion' {repository} -> repository) (\s@DescribePackageVersion' {} a -> s {repository = a} :: DescribePackageVersion)++-- | A format that specifies the type of the requested package version.+describePackageVersion_format :: Lens.Lens' DescribePackageVersion PackageFormat+describePackageVersion_format = Lens.lens (\DescribePackageVersion' {format} -> format) (\s@DescribePackageVersion' {} a -> s {format = a} :: DescribePackageVersion)++-- | The name of the requested package version.+describePackageVersion_package :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_package = Lens.lens (\DescribePackageVersion' {package} -> package) (\s@DescribePackageVersion' {} a -> s {package = a} :: DescribePackageVersion)++-- | A string that contains the package version (for example, @3.5.2@).+describePackageVersion_packageVersion :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_packageVersion = Lens.lens (\DescribePackageVersion' {packageVersion} -> packageVersion) (\s@DescribePackageVersion' {} a -> s {packageVersion = a} :: DescribePackageVersion)++instance Core.AWSRequest DescribePackageVersion where+  type+    AWSResponse DescribePackageVersion =+      DescribePackageVersionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePackageVersionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "packageVersion")+      )++instance Prelude.Hashable DescribePackageVersion where+  hashWithSalt _salt DescribePackageVersion' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` packageVersion++instance Prelude.NFData DescribePackageVersion where+  rnf DescribePackageVersion' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf packageVersion++instance Data.ToHeaders DescribePackageVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePackageVersion where+  toPath = Prelude.const "/v1/package/version"++instance Data.ToQuery DescribePackageVersion where+  toQuery DescribePackageVersion' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package,+        "version" Data.=: packageVersion+      ]++-- | /See:/ 'newDescribePackageVersionResponse' smart constructor.+data DescribePackageVersionResponse = DescribePackageVersionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html PackageVersionDescription>+    -- object that contains information about the requested package version.+    packageVersion :: PackageVersionDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describePackageVersionResponse_httpStatus' - The response's http status code.+--+-- 'packageVersion', 'describePackageVersionResponse_packageVersion' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html PackageVersionDescription>+-- object that contains information about the requested package version.+newDescribePackageVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'packageVersion'+  PackageVersionDescription ->+  DescribePackageVersionResponse+newDescribePackageVersionResponse+  pHttpStatus_+  pPackageVersion_ =+    DescribePackageVersionResponse'+      { httpStatus =+          pHttpStatus_,+        packageVersion = pPackageVersion_+      }++-- | The response's http status code.+describePackageVersionResponse_httpStatus :: Lens.Lens' DescribePackageVersionResponse Prelude.Int+describePackageVersionResponse_httpStatus = Lens.lens (\DescribePackageVersionResponse' {httpStatus} -> httpStatus) (\s@DescribePackageVersionResponse' {} a -> s {httpStatus = a} :: DescribePackageVersionResponse)++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html PackageVersionDescription>+-- object that contains information about the requested package version.+describePackageVersionResponse_packageVersion :: Lens.Lens' DescribePackageVersionResponse PackageVersionDescription+describePackageVersionResponse_packageVersion = Lens.lens (\DescribePackageVersionResponse' {packageVersion} -> packageVersion) (\s@DescribePackageVersionResponse' {} a -> s {packageVersion = a} :: DescribePackageVersionResponse)++instance+  Prelude.NFData+    DescribePackageVersionResponse+  where+  rnf DescribePackageVersionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf packageVersion
+ gen/Amazonka/CodeArtifact/DescribeRepository.hs view
@@ -0,0 +1,199 @@+{-# 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.CodeArtifact.DescribeRepository+-- 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 @RepositoryDescription@ object that contains detailed+-- information about the requested repository.+module Amazonka.CodeArtifact.DescribeRepository+  ( -- * Creating a Request+    DescribeRepository (..),+    newDescribeRepository,++    -- * Request Lenses+    describeRepository_domainOwner,+    describeRepository_domain,+    describeRepository_repository,++    -- * Destructuring the Response+    DescribeRepositoryResponse (..),+    newDescribeRepositoryResponse,++    -- * Response Lenses+    describeRepositoryResponse_repository,+    describeRepositoryResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeRepository' smart constructor.+data DescribeRepository = DescribeRepository'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository to describe.+    domain :: Prelude.Text,+    -- | A string that specifies the name of the requested repository.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'describeRepository_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'describeRepository_domain' - The name of the domain that contains the repository to describe.+--+-- 'repository', 'describeRepository_repository' - A string that specifies the name of the requested repository.+newDescribeRepository ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  DescribeRepository+newDescribeRepository pDomain_ pRepository_ =+  DescribeRepository'+    { domainOwner = Prelude.Nothing,+      domain = pDomain_,+      repository = pRepository_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+describeRepository_domainOwner :: Lens.Lens' DescribeRepository (Prelude.Maybe Prelude.Text)+describeRepository_domainOwner = Lens.lens (\DescribeRepository' {domainOwner} -> domainOwner) (\s@DescribeRepository' {} a -> s {domainOwner = a} :: DescribeRepository)++-- | The name of the domain that contains the repository to describe.+describeRepository_domain :: Lens.Lens' DescribeRepository Prelude.Text+describeRepository_domain = Lens.lens (\DescribeRepository' {domain} -> domain) (\s@DescribeRepository' {} a -> s {domain = a} :: DescribeRepository)++-- | A string that specifies the name of the requested repository.+describeRepository_repository :: Lens.Lens' DescribeRepository Prelude.Text+describeRepository_repository = Lens.lens (\DescribeRepository' {repository} -> repository) (\s@DescribeRepository' {} a -> s {repository = a} :: DescribeRepository)++instance Core.AWSRequest DescribeRepository where+  type+    AWSResponse DescribeRepository =+      DescribeRepositoryResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeRepositoryResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeRepository where+  hashWithSalt _salt DescribeRepository' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository++instance Prelude.NFData DescribeRepository where+  rnf DescribeRepository' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance Data.ToHeaders DescribeRepository where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeRepository where+  toPath = Prelude.const "/v1/repository"++instance Data.ToQuery DescribeRepository where+  toQuery DescribeRepository' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newDescribeRepositoryResponse' smart constructor.+data DescribeRepositoryResponse = DescribeRepositoryResponse'+  { -- | A @RepositoryDescription@ object that contains the requested repository+    -- information.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRepositoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'describeRepositoryResponse_repository' - A @RepositoryDescription@ object that contains the requested repository+-- information.+--+-- 'httpStatus', 'describeRepositoryResponse_httpStatus' - The response's http status code.+newDescribeRepositoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeRepositoryResponse+newDescribeRepositoryResponse pHttpStatus_ =+  DescribeRepositoryResponse'+    { repository =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A @RepositoryDescription@ object that contains the requested repository+-- information.+describeRepositoryResponse_repository :: Lens.Lens' DescribeRepositoryResponse (Prelude.Maybe RepositoryDescription)+describeRepositoryResponse_repository = Lens.lens (\DescribeRepositoryResponse' {repository} -> repository) (\s@DescribeRepositoryResponse' {} a -> s {repository = a} :: DescribeRepositoryResponse)++-- | The response's http status code.+describeRepositoryResponse_httpStatus :: Lens.Lens' DescribeRepositoryResponse Prelude.Int+describeRepositoryResponse_httpStatus = Lens.lens (\DescribeRepositoryResponse' {httpStatus} -> httpStatus) (\s@DescribeRepositoryResponse' {} a -> s {httpStatus = a} :: DescribeRepositoryResponse)++instance Prelude.NFData DescribeRepositoryResponse where+  rnf DescribeRepositoryResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DisassociateExternalConnection.hs view
@@ -0,0 +1,239 @@+{-# 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.CodeArtifact.DisassociateExternalConnection+-- 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 an existing external connection from a repository.+module Amazonka.CodeArtifact.DisassociateExternalConnection+  ( -- * Creating a Request+    DisassociateExternalConnection (..),+    newDisassociateExternalConnection,++    -- * Request Lenses+    disassociateExternalConnection_domainOwner,+    disassociateExternalConnection_domain,+    disassociateExternalConnection_repository,+    disassociateExternalConnection_externalConnection,++    -- * Destructuring the Response+    DisassociateExternalConnectionResponse (..),+    newDisassociateExternalConnectionResponse,++    -- * Response Lenses+    disassociateExternalConnectionResponse_repository,+    disassociateExternalConnectionResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateExternalConnection' smart constructor.+data DisassociateExternalConnection = DisassociateExternalConnection'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository from which to remove+    -- the external repository.+    domain :: Prelude.Text,+    -- | The name of the repository from which the external connection will be+    -- removed.+    repository :: Prelude.Text,+    -- | The name of the external connection to be removed from the repository.+    externalConnection :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateExternalConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'disassociateExternalConnection_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'disassociateExternalConnection_domain' - The name of the domain that contains the repository from which to remove+-- the external repository.+--+-- 'repository', 'disassociateExternalConnection_repository' - The name of the repository from which the external connection will be+-- removed.+--+-- 'externalConnection', 'disassociateExternalConnection_externalConnection' - The name of the external connection to be removed from the repository.+newDisassociateExternalConnection ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'externalConnection'+  Prelude.Text ->+  DisassociateExternalConnection+newDisassociateExternalConnection+  pDomain_+  pRepository_+  pExternalConnection_ =+    DisassociateExternalConnection'+      { domainOwner =+          Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        externalConnection = pExternalConnection_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+disassociateExternalConnection_domainOwner :: Lens.Lens' DisassociateExternalConnection (Prelude.Maybe Prelude.Text)+disassociateExternalConnection_domainOwner = Lens.lens (\DisassociateExternalConnection' {domainOwner} -> domainOwner) (\s@DisassociateExternalConnection' {} a -> s {domainOwner = a} :: DisassociateExternalConnection)++-- | The name of the domain that contains the repository from which to remove+-- the external repository.+disassociateExternalConnection_domain :: Lens.Lens' DisassociateExternalConnection Prelude.Text+disassociateExternalConnection_domain = Lens.lens (\DisassociateExternalConnection' {domain} -> domain) (\s@DisassociateExternalConnection' {} a -> s {domain = a} :: DisassociateExternalConnection)++-- | The name of the repository from which the external connection will be+-- removed.+disassociateExternalConnection_repository :: Lens.Lens' DisassociateExternalConnection Prelude.Text+disassociateExternalConnection_repository = Lens.lens (\DisassociateExternalConnection' {repository} -> repository) (\s@DisassociateExternalConnection' {} a -> s {repository = a} :: DisassociateExternalConnection)++-- | The name of the external connection to be removed from the repository.+disassociateExternalConnection_externalConnection :: Lens.Lens' DisassociateExternalConnection Prelude.Text+disassociateExternalConnection_externalConnection = Lens.lens (\DisassociateExternalConnection' {externalConnection} -> externalConnection) (\s@DisassociateExternalConnection' {} a -> s {externalConnection = a} :: DisassociateExternalConnection)++instance+  Core.AWSRequest+    DisassociateExternalConnection+  where+  type+    AWSResponse DisassociateExternalConnection =+      DisassociateExternalConnectionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateExternalConnectionResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateExternalConnection+  where+  hashWithSalt+    _salt+    DisassociateExternalConnection' {..} =+      _salt+        `Prelude.hashWithSalt` domainOwner+        `Prelude.hashWithSalt` domain+        `Prelude.hashWithSalt` repository+        `Prelude.hashWithSalt` externalConnection++instance+  Prelude.NFData+    DisassociateExternalConnection+  where+  rnf DisassociateExternalConnection' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf externalConnection++instance+  Data.ToHeaders+    DisassociateExternalConnection+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateExternalConnection where+  toPath =+    Prelude.const "/v1/repository/external-connection"++instance Data.ToQuery DisassociateExternalConnection where+  toQuery DisassociateExternalConnection' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "external-connection" Data.=: externalConnection+      ]++-- | /See:/ 'newDisassociateExternalConnectionResponse' smart constructor.+data DisassociateExternalConnectionResponse = DisassociateExternalConnectionResponse'+  { -- | The repository associated with the removed external connection.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateExternalConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'disassociateExternalConnectionResponse_repository' - The repository associated with the removed external connection.+--+-- 'httpStatus', 'disassociateExternalConnectionResponse_httpStatus' - The response's http status code.+newDisassociateExternalConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateExternalConnectionResponse+newDisassociateExternalConnectionResponse+  pHttpStatus_ =+    DisassociateExternalConnectionResponse'+      { repository =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The repository associated with the removed external connection.+disassociateExternalConnectionResponse_repository :: Lens.Lens' DisassociateExternalConnectionResponse (Prelude.Maybe RepositoryDescription)+disassociateExternalConnectionResponse_repository = Lens.lens (\DisassociateExternalConnectionResponse' {repository} -> repository) (\s@DisassociateExternalConnectionResponse' {} a -> s {repository = a} :: DisassociateExternalConnectionResponse)++-- | The response's http status code.+disassociateExternalConnectionResponse_httpStatus :: Lens.Lens' DisassociateExternalConnectionResponse Prelude.Int+disassociateExternalConnectionResponse_httpStatus = Lens.lens (\DisassociateExternalConnectionResponse' {httpStatus} -> httpStatus) (\s@DisassociateExternalConnectionResponse' {} a -> s {httpStatus = a} :: DisassociateExternalConnectionResponse)++instance+  Prelude.NFData+    DisassociateExternalConnectionResponse+  where+  rnf DisassociateExternalConnectionResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/DisposePackageVersions.hs view
@@ -0,0 +1,395 @@+{-# 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.CodeArtifact.DisposePackageVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the assets in package versions and sets the package versions\'+-- status to @Disposed@. A disposed package version cannot be restored in+-- your repository because its assets are deleted.+--+-- To view all disposed package versions in a repository, use+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html ListPackageVersions>+-- and set the+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html#API_ListPackageVersions_RequestSyntax status>+-- parameter to @Disposed@.+--+-- To view information about a disposed package version, use+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html DescribePackageVersion>.+module Amazonka.CodeArtifact.DisposePackageVersions+  ( -- * Creating a Request+    DisposePackageVersions (..),+    newDisposePackageVersions,++    -- * Request Lenses+    disposePackageVersions_domainOwner,+    disposePackageVersions_expectedStatus,+    disposePackageVersions_namespace,+    disposePackageVersions_versionRevisions,+    disposePackageVersions_domain,+    disposePackageVersions_repository,+    disposePackageVersions_format,+    disposePackageVersions_package,+    disposePackageVersions_versions,++    -- * Destructuring the Response+    DisposePackageVersionsResponse (..),+    newDisposePackageVersionsResponse,++    -- * Response Lenses+    disposePackageVersionsResponse_failedVersions,+    disposePackageVersionsResponse_successfulVersions,+    disposePackageVersionsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisposePackageVersions' smart constructor.+data DisposePackageVersions = DisposePackageVersions'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The expected status of the package version to dispose.+    expectedStatus :: Prelude.Maybe PackageVersionStatus,+    -- | The namespace of the package versions to be disposed. The package+    -- version component that specifies its namespace depends on its type. For+    -- example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The revisions of the package versions you want to dispose.+    versionRevisions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the domain that contains the repository you want to dispose.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package versions you want+    -- to dispose.+    repository :: Prelude.Text,+    -- | A format that specifies the type of package versions you want to+    -- dispose.+    format :: PackageFormat,+    -- | The name of the package with the versions you want to dispose.+    package :: Prelude.Text,+    -- | The versions of the package you want to dispose.+    versions :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisposePackageVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'disposePackageVersions_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'expectedStatus', 'disposePackageVersions_expectedStatus' - The expected status of the package version to dispose.+--+-- 'namespace', 'disposePackageVersions_namespace' - The namespace of the package versions to be disposed. The package+-- version component that specifies its namespace depends on its type. For+-- example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'versionRevisions', 'disposePackageVersions_versionRevisions' - The revisions of the package versions you want to dispose.+--+-- 'domain', 'disposePackageVersions_domain' - The name of the domain that contains the repository you want to dispose.+--+-- 'repository', 'disposePackageVersions_repository' - The name of the repository that contains the package versions you want+-- to dispose.+--+-- 'format', 'disposePackageVersions_format' - A format that specifies the type of package versions you want to+-- dispose.+--+-- 'package', 'disposePackageVersions_package' - The name of the package with the versions you want to dispose.+--+-- 'versions', 'disposePackageVersions_versions' - The versions of the package you want to dispose.+newDisposePackageVersions ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  DisposePackageVersions+newDisposePackageVersions+  pDomain_+  pRepository_+  pFormat_+  pPackage_ =+    DisposePackageVersions'+      { domainOwner =+          Prelude.Nothing,+        expectedStatus = Prelude.Nothing,+        namespace = Prelude.Nothing,+        versionRevisions = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        versions = Prelude.mempty+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+disposePackageVersions_domainOwner :: Lens.Lens' DisposePackageVersions (Prelude.Maybe Prelude.Text)+disposePackageVersions_domainOwner = Lens.lens (\DisposePackageVersions' {domainOwner} -> domainOwner) (\s@DisposePackageVersions' {} a -> s {domainOwner = a} :: DisposePackageVersions)++-- | The expected status of the package version to dispose.+disposePackageVersions_expectedStatus :: Lens.Lens' DisposePackageVersions (Prelude.Maybe PackageVersionStatus)+disposePackageVersions_expectedStatus = Lens.lens (\DisposePackageVersions' {expectedStatus} -> expectedStatus) (\s@DisposePackageVersions' {} a -> s {expectedStatus = a} :: DisposePackageVersions)++-- | The namespace of the package versions to be disposed. The package+-- version component that specifies its namespace depends on its type. For+-- example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+disposePackageVersions_namespace :: Lens.Lens' DisposePackageVersions (Prelude.Maybe Prelude.Text)+disposePackageVersions_namespace = Lens.lens (\DisposePackageVersions' {namespace} -> namespace) (\s@DisposePackageVersions' {} a -> s {namespace = a} :: DisposePackageVersions)++-- | The revisions of the package versions you want to dispose.+disposePackageVersions_versionRevisions :: Lens.Lens' DisposePackageVersions (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+disposePackageVersions_versionRevisions = Lens.lens (\DisposePackageVersions' {versionRevisions} -> versionRevisions) (\s@DisposePackageVersions' {} a -> s {versionRevisions = a} :: DisposePackageVersions) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain that contains the repository you want to dispose.+disposePackageVersions_domain :: Lens.Lens' DisposePackageVersions Prelude.Text+disposePackageVersions_domain = Lens.lens (\DisposePackageVersions' {domain} -> domain) (\s@DisposePackageVersions' {} a -> s {domain = a} :: DisposePackageVersions)++-- | The name of the repository that contains the package versions you want+-- to dispose.+disposePackageVersions_repository :: Lens.Lens' DisposePackageVersions Prelude.Text+disposePackageVersions_repository = Lens.lens (\DisposePackageVersions' {repository} -> repository) (\s@DisposePackageVersions' {} a -> s {repository = a} :: DisposePackageVersions)++-- | A format that specifies the type of package versions you want to+-- dispose.+disposePackageVersions_format :: Lens.Lens' DisposePackageVersions PackageFormat+disposePackageVersions_format = Lens.lens (\DisposePackageVersions' {format} -> format) (\s@DisposePackageVersions' {} a -> s {format = a} :: DisposePackageVersions)++-- | The name of the package with the versions you want to dispose.+disposePackageVersions_package :: Lens.Lens' DisposePackageVersions Prelude.Text+disposePackageVersions_package = Lens.lens (\DisposePackageVersions' {package} -> package) (\s@DisposePackageVersions' {} a -> s {package = a} :: DisposePackageVersions)++-- | The versions of the package you want to dispose.+disposePackageVersions_versions :: Lens.Lens' DisposePackageVersions [Prelude.Text]+disposePackageVersions_versions = Lens.lens (\DisposePackageVersions' {versions} -> versions) (\s@DisposePackageVersions' {} a -> s {versions = a} :: DisposePackageVersions) Prelude.. Lens.coerced++instance Core.AWSRequest DisposePackageVersions where+  type+    AWSResponse DisposePackageVersions =+      DisposePackageVersionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisposePackageVersionsResponse'+            Prelude.<$> (x Data..?> "failedVersions" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "successfulVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisposePackageVersions where+  hashWithSalt _salt DisposePackageVersions' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` expectedStatus+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` versionRevisions+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` versions++instance Prelude.NFData DisposePackageVersions where+  rnf DisposePackageVersions' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf expectedStatus+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf versionRevisions+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf versions++instance Data.ToHeaders DisposePackageVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisposePackageVersions where+  toJSON DisposePackageVersions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("expectedStatus" Data..=)+              Prelude.<$> expectedStatus,+            ("versionRevisions" Data..=)+              Prelude.<$> versionRevisions,+            Prelude.Just ("versions" Data..= versions)+          ]+      )++instance Data.ToPath DisposePackageVersions where+  toPath = Prelude.const "/v1/package/versions/dispose"++instance Data.ToQuery DisposePackageVersions where+  toQuery DisposePackageVersions' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newDisposePackageVersionsResponse' smart constructor.+data DisposePackageVersionsResponse = DisposePackageVersionsResponse'+  { -- | A @PackageVersionError@ object that contains a map of errors codes for+    -- the disposed package versions that failed. The possible error codes are:+    --+    -- -   @ALREADY_EXISTS@+    --+    -- -   @MISMATCHED_REVISION@+    --+    -- -   @MISMATCHED_STATUS@+    --+    -- -   @NOT_ALLOWED@+    --+    -- -   @NOT_FOUND@+    --+    -- -   @SKIPPED@+    failedVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError),+    -- | A list of the package versions that were successfully disposed.+    successfulVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisposePackageVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedVersions', 'disposePackageVersionsResponse_failedVersions' - A @PackageVersionError@ object that contains a map of errors codes for+-- the disposed package versions that failed. The possible error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+--+-- 'successfulVersions', 'disposePackageVersionsResponse_successfulVersions' - A list of the package versions that were successfully disposed.+--+-- 'httpStatus', 'disposePackageVersionsResponse_httpStatus' - The response's http status code.+newDisposePackageVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisposePackageVersionsResponse+newDisposePackageVersionsResponse pHttpStatus_ =+  DisposePackageVersionsResponse'+    { failedVersions =+        Prelude.Nothing,+      successfulVersions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A @PackageVersionError@ object that contains a map of errors codes for+-- the disposed package versions that failed. The possible error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+disposePackageVersionsResponse_failedVersions :: Lens.Lens' DisposePackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError))+disposePackageVersionsResponse_failedVersions = Lens.lens (\DisposePackageVersionsResponse' {failedVersions} -> failedVersions) (\s@DisposePackageVersionsResponse' {} a -> s {failedVersions = a} :: DisposePackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of the package versions that were successfully disposed.+disposePackageVersionsResponse_successfulVersions :: Lens.Lens' DisposePackageVersionsResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo))+disposePackageVersionsResponse_successfulVersions = Lens.lens (\DisposePackageVersionsResponse' {successfulVersions} -> successfulVersions) (\s@DisposePackageVersionsResponse' {} a -> s {successfulVersions = a} :: DisposePackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+disposePackageVersionsResponse_httpStatus :: Lens.Lens' DisposePackageVersionsResponse Prelude.Int+disposePackageVersionsResponse_httpStatus = Lens.lens (\DisposePackageVersionsResponse' {httpStatus} -> httpStatus) (\s@DisposePackageVersionsResponse' {} a -> s {httpStatus = a} :: DisposePackageVersionsResponse)++instance+  Prelude.NFData+    DisposePackageVersionsResponse+  where+  rnf DisposePackageVersionsResponse' {..} =+    Prelude.rnf failedVersions+      `Prelude.seq` Prelude.rnf successfulVersions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/GetAuthorizationToken.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.GetAuthorizationToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a temporary authorization token for accessing repositories in+-- the domain. This API requires the @codeartifact:GetAuthorizationToken@+-- and @sts:GetServiceBearerToken@ permissions. For more information about+-- authorization tokens, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html CodeArtifact authentication and tokens>.+--+-- CodeArtifact authorization tokens are valid for a period of 12 hours+-- when created with the @login@ command. You can call @login@ periodically+-- to refresh the token. When you create an authorization token with the+-- @GetAuthorizationToken@ API, you can set a custom authorization period,+-- up to a maximum of 12 hours, with the @durationSeconds@ parameter.+--+-- The authorization period begins after @login@ or @GetAuthorizationToken@+-- is called. If @login@ or @GetAuthorizationToken@ is called while+-- assuming a role, the token lifetime is independent of the maximum+-- session duration of the role. For example, if you call @sts assume-role@+-- and specify a session duration of 15 minutes, then generate a+-- CodeArtifact authorization token, the token will be valid for the full+-- authorization period even though this is longer than the 15-minute+-- session duration.+--+-- See+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html Using IAM Roles>+-- for more information on controlling session duration.+module Amazonka.CodeArtifact.GetAuthorizationToken+  ( -- * Creating a Request+    GetAuthorizationToken (..),+    newGetAuthorizationToken,++    -- * Request Lenses+    getAuthorizationToken_domainOwner,+    getAuthorizationToken_durationSeconds,+    getAuthorizationToken_domain,++    -- * Destructuring the Response+    GetAuthorizationTokenResponse (..),+    newGetAuthorizationTokenResponse,++    -- * Response Lenses+    getAuthorizationTokenResponse_authorizationToken,+    getAuthorizationTokenResponse_expiration,+    getAuthorizationTokenResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAuthorizationToken' smart constructor.+data GetAuthorizationToken = GetAuthorizationToken'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The time, in seconds, that the generated authorization token is valid.+    -- Valid values are @0@ and any number between @900@ (15 minutes) and+    -- @43200@ (12 hours). A value of @0@ will set the expiration of the+    -- authorization token to the same expiration of the user\'s role\'s+    -- temporary credentials.+    durationSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The name of the domain that is in scope for the generated authorization+    -- token.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAuthorizationToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getAuthorizationToken_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'durationSeconds', 'getAuthorizationToken_durationSeconds' - The time, in seconds, that the generated authorization token is valid.+-- Valid values are @0@ and any number between @900@ (15 minutes) and+-- @43200@ (12 hours). A value of @0@ will set the expiration of the+-- authorization token to the same expiration of the user\'s role\'s+-- temporary credentials.+--+-- 'domain', 'getAuthorizationToken_domain' - The name of the domain that is in scope for the generated authorization+-- token.+newGetAuthorizationToken ::+  -- | 'domain'+  Prelude.Text ->+  GetAuthorizationToken+newGetAuthorizationToken pDomain_ =+  GetAuthorizationToken'+    { domainOwner =+        Prelude.Nothing,+      durationSeconds = Prelude.Nothing,+      domain = pDomain_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+getAuthorizationToken_domainOwner :: Lens.Lens' GetAuthorizationToken (Prelude.Maybe Prelude.Text)+getAuthorizationToken_domainOwner = Lens.lens (\GetAuthorizationToken' {domainOwner} -> domainOwner) (\s@GetAuthorizationToken' {} a -> s {domainOwner = a} :: GetAuthorizationToken)++-- | The time, in seconds, that the generated authorization token is valid.+-- Valid values are @0@ and any number between @900@ (15 minutes) and+-- @43200@ (12 hours). A value of @0@ will set the expiration of the+-- authorization token to the same expiration of the user\'s role\'s+-- temporary credentials.+getAuthorizationToken_durationSeconds :: Lens.Lens' GetAuthorizationToken (Prelude.Maybe Prelude.Natural)+getAuthorizationToken_durationSeconds = Lens.lens (\GetAuthorizationToken' {durationSeconds} -> durationSeconds) (\s@GetAuthorizationToken' {} a -> s {durationSeconds = a} :: GetAuthorizationToken)++-- | The name of the domain that is in scope for the generated authorization+-- token.+getAuthorizationToken_domain :: Lens.Lens' GetAuthorizationToken Prelude.Text+getAuthorizationToken_domain = Lens.lens (\GetAuthorizationToken' {domain} -> domain) (\s@GetAuthorizationToken' {} a -> s {domain = a} :: GetAuthorizationToken)++instance Core.AWSRequest GetAuthorizationToken where+  type+    AWSResponse GetAuthorizationToken =+      GetAuthorizationTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAuthorizationTokenResponse'+            Prelude.<$> (x Data..?> "authorizationToken")+            Prelude.<*> (x Data..?> "expiration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAuthorizationToken where+  hashWithSalt _salt GetAuthorizationToken' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` durationSeconds+      `Prelude.hashWithSalt` domain++instance Prelude.NFData GetAuthorizationToken where+  rnf GetAuthorizationToken' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf durationSeconds+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders GetAuthorizationToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetAuthorizationToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetAuthorizationToken where+  toPath = Prelude.const "/v1/authorization-token"++instance Data.ToQuery GetAuthorizationToken where+  toQuery GetAuthorizationToken' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "duration" Data.=: durationSeconds,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newGetAuthorizationTokenResponse' smart constructor.+data GetAuthorizationTokenResponse = GetAuthorizationTokenResponse'+  { -- | The returned authentication token.+    authorizationToken :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that specifies the date and time the authorization token+    -- expires.+    expiration :: Prelude.Maybe Data.POSIX,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAuthorizationTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authorizationToken', 'getAuthorizationTokenResponse_authorizationToken' - The returned authentication token.+--+-- 'expiration', 'getAuthorizationTokenResponse_expiration' - A timestamp that specifies the date and time the authorization token+-- expires.+--+-- 'httpStatus', 'getAuthorizationTokenResponse_httpStatus' - The response's http status code.+newGetAuthorizationTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAuthorizationTokenResponse+newGetAuthorizationTokenResponse pHttpStatus_ =+  GetAuthorizationTokenResponse'+    { authorizationToken =+        Prelude.Nothing,+      expiration = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The returned authentication token.+getAuthorizationTokenResponse_authorizationToken :: Lens.Lens' GetAuthorizationTokenResponse (Prelude.Maybe Prelude.Text)+getAuthorizationTokenResponse_authorizationToken = Lens.lens (\GetAuthorizationTokenResponse' {authorizationToken} -> authorizationToken) (\s@GetAuthorizationTokenResponse' {} a -> s {authorizationToken = a} :: GetAuthorizationTokenResponse)++-- | A timestamp that specifies the date and time the authorization token+-- expires.+getAuthorizationTokenResponse_expiration :: Lens.Lens' GetAuthorizationTokenResponse (Prelude.Maybe Prelude.UTCTime)+getAuthorizationTokenResponse_expiration = Lens.lens (\GetAuthorizationTokenResponse' {expiration} -> expiration) (\s@GetAuthorizationTokenResponse' {} a -> s {expiration = a} :: GetAuthorizationTokenResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getAuthorizationTokenResponse_httpStatus :: Lens.Lens' GetAuthorizationTokenResponse Prelude.Int+getAuthorizationTokenResponse_httpStatus = Lens.lens (\GetAuthorizationTokenResponse' {httpStatus} -> httpStatus) (\s@GetAuthorizationTokenResponse' {} a -> s {httpStatus = a} :: GetAuthorizationTokenResponse)++instance Prelude.NFData GetAuthorizationTokenResponse where+  rnf GetAuthorizationTokenResponse' {..} =+    Prelude.rnf authorizationToken+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/GetDomainPermissionsPolicy.hs view
@@ -0,0 +1,190 @@+{-# 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.CodeArtifact.GetDomainPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the resource policy attached to the specified domain.+--+-- The policy is a resource-based policy, not an identity-based policy. For+-- more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html Identity-based policies and resource-based policies>+-- in the /IAM User Guide/.+module Amazonka.CodeArtifact.GetDomainPermissionsPolicy+  ( -- * Creating a Request+    GetDomainPermissionsPolicy (..),+    newGetDomainPermissionsPolicy,++    -- * Request Lenses+    getDomainPermissionsPolicy_domainOwner,+    getDomainPermissionsPolicy_domain,++    -- * Destructuring the Response+    GetDomainPermissionsPolicyResponse (..),+    newGetDomainPermissionsPolicyResponse,++    -- * Response Lenses+    getDomainPermissionsPolicyResponse_policy,+    getDomainPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDomainPermissionsPolicy' smart constructor.+data GetDomainPermissionsPolicy = GetDomainPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain to which the resource policy is attached.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getDomainPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'getDomainPermissionsPolicy_domain' - The name of the domain to which the resource policy is attached.+newGetDomainPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  GetDomainPermissionsPolicy+newGetDomainPermissionsPolicy pDomain_ =+  GetDomainPermissionsPolicy'+    { domainOwner =+        Prelude.Nothing,+      domain = pDomain_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+getDomainPermissionsPolicy_domainOwner :: Lens.Lens' GetDomainPermissionsPolicy (Prelude.Maybe Prelude.Text)+getDomainPermissionsPolicy_domainOwner = Lens.lens (\GetDomainPermissionsPolicy' {domainOwner} -> domainOwner) (\s@GetDomainPermissionsPolicy' {} a -> s {domainOwner = a} :: GetDomainPermissionsPolicy)++-- | The name of the domain to which the resource policy is attached.+getDomainPermissionsPolicy_domain :: Lens.Lens' GetDomainPermissionsPolicy Prelude.Text+getDomainPermissionsPolicy_domain = Lens.lens (\GetDomainPermissionsPolicy' {domain} -> domain) (\s@GetDomainPermissionsPolicy' {} a -> s {domain = a} :: GetDomainPermissionsPolicy)++instance Core.AWSRequest GetDomainPermissionsPolicy where+  type+    AWSResponse GetDomainPermissionsPolicy =+      GetDomainPermissionsPolicyResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDomainPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDomainPermissionsPolicy where+  hashWithSalt _salt GetDomainPermissionsPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain++instance Prelude.NFData GetDomainPermissionsPolicy where+  rnf GetDomainPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders GetDomainPermissionsPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetDomainPermissionsPolicy where+  toPath =+    Prelude.const "/v1/domain/permissions/policy"++instance Data.ToQuery GetDomainPermissionsPolicy where+  toQuery GetDomainPermissionsPolicy' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newGetDomainPermissionsPolicyResponse' smart constructor.+data GetDomainPermissionsPolicyResponse = GetDomainPermissionsPolicyResponse'+  { -- | The returned resource policy.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDomainPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getDomainPermissionsPolicyResponse_policy' - The returned resource policy.+--+-- 'httpStatus', 'getDomainPermissionsPolicyResponse_httpStatus' - The response's http status code.+newGetDomainPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDomainPermissionsPolicyResponse+newGetDomainPermissionsPolicyResponse pHttpStatus_ =+  GetDomainPermissionsPolicyResponse'+    { policy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The returned resource policy.+getDomainPermissionsPolicyResponse_policy :: Lens.Lens' GetDomainPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+getDomainPermissionsPolicyResponse_policy = Lens.lens (\GetDomainPermissionsPolicyResponse' {policy} -> policy) (\s@GetDomainPermissionsPolicyResponse' {} a -> s {policy = a} :: GetDomainPermissionsPolicyResponse)++-- | The response's http status code.+getDomainPermissionsPolicyResponse_httpStatus :: Lens.Lens' GetDomainPermissionsPolicyResponse Prelude.Int+getDomainPermissionsPolicyResponse_httpStatus = Lens.lens (\GetDomainPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@GetDomainPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: GetDomainPermissionsPolicyResponse)++instance+  Prelude.NFData+    GetDomainPermissionsPolicyResponse+  where+  rnf GetDomainPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/GetPackageVersionAsset.hs view
@@ -0,0 +1,367 @@+{-# 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.CodeArtifact.GetPackageVersionAsset+-- 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 an asset (or file) that is in a package. For example, for a+-- Maven package version, use @GetPackageVersionAsset@ to download a @JAR@+-- file, a @POM@ file, or any other assets in the package version.+module Amazonka.CodeArtifact.GetPackageVersionAsset+  ( -- * Creating a Request+    GetPackageVersionAsset (..),+    newGetPackageVersionAsset,++    -- * Request Lenses+    getPackageVersionAsset_domainOwner,+    getPackageVersionAsset_namespace,+    getPackageVersionAsset_packageVersionRevision,+    getPackageVersionAsset_domain,+    getPackageVersionAsset_repository,+    getPackageVersionAsset_format,+    getPackageVersionAsset_package,+    getPackageVersionAsset_packageVersion,+    getPackageVersionAsset_asset,++    -- * Destructuring the Response+    GetPackageVersionAssetResponse (..),+    newGetPackageVersionAssetResponse,++    -- * Response Lenses+    getPackageVersionAssetResponse_assetName,+    getPackageVersionAssetResponse_packageVersion,+    getPackageVersionAssetResponse_packageVersionRevision,+    getPackageVersionAssetResponse_httpStatus,+    getPackageVersionAssetResponse_asset,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPackageVersionAsset' smart constructor.+data GetPackageVersionAsset = GetPackageVersionAsset'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package version with the requested asset file. The+    -- package version component that specifies its namespace depends on its+    -- type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the package version revision that contains the requested+    -- asset.+    packageVersionRevision :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- package version with the requested asset.+    domain :: Prelude.Text,+    -- | The repository that contains the package version with the requested+    -- asset.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the package version with the+    -- requested asset file.+    format :: PackageFormat,+    -- | The name of the package that contains the requested asset.+    package :: Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Text,+    -- | The name of the requested asset.+    asset :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPackageVersionAsset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getPackageVersionAsset_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'getPackageVersionAsset_namespace' - The namespace of the package version with the requested asset file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'packageVersionRevision', 'getPackageVersionAsset_packageVersionRevision' - The name of the package version revision that contains the requested+-- asset.+--+-- 'domain', 'getPackageVersionAsset_domain' - The name of the domain that contains the repository that contains the+-- package version with the requested asset.+--+-- 'repository', 'getPackageVersionAsset_repository' - The repository that contains the package version with the requested+-- asset.+--+-- 'format', 'getPackageVersionAsset_format' - A format that specifies the type of the package version with the+-- requested asset file.+--+-- 'package', 'getPackageVersionAsset_package' - The name of the package that contains the requested asset.+--+-- 'packageVersion', 'getPackageVersionAsset_packageVersion' - A string that contains the package version (for example, @3.5.2@).+--+-- 'asset', 'getPackageVersionAsset_asset' - The name of the requested asset.+newGetPackageVersionAsset ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'asset'+  Prelude.Text ->+  GetPackageVersionAsset+newGetPackageVersionAsset+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pPackageVersion_+  pAsset_ =+    GetPackageVersionAsset'+      { domainOwner =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        packageVersionRevision = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        packageVersion = pPackageVersion_,+        asset = pAsset_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+getPackageVersionAsset_domainOwner :: Lens.Lens' GetPackageVersionAsset (Prelude.Maybe Prelude.Text)+getPackageVersionAsset_domainOwner = Lens.lens (\GetPackageVersionAsset' {domainOwner} -> domainOwner) (\s@GetPackageVersionAsset' {} a -> s {domainOwner = a} :: GetPackageVersionAsset)++-- | The namespace of the package version with the requested asset file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+getPackageVersionAsset_namespace :: Lens.Lens' GetPackageVersionAsset (Prelude.Maybe Prelude.Text)+getPackageVersionAsset_namespace = Lens.lens (\GetPackageVersionAsset' {namespace} -> namespace) (\s@GetPackageVersionAsset' {} a -> s {namespace = a} :: GetPackageVersionAsset)++-- | The name of the package version revision that contains the requested+-- asset.+getPackageVersionAsset_packageVersionRevision :: Lens.Lens' GetPackageVersionAsset (Prelude.Maybe Prelude.Text)+getPackageVersionAsset_packageVersionRevision = Lens.lens (\GetPackageVersionAsset' {packageVersionRevision} -> packageVersionRevision) (\s@GetPackageVersionAsset' {} a -> s {packageVersionRevision = a} :: GetPackageVersionAsset)++-- | The name of the domain that contains the repository that contains the+-- package version with the requested asset.+getPackageVersionAsset_domain :: Lens.Lens' GetPackageVersionAsset Prelude.Text+getPackageVersionAsset_domain = Lens.lens (\GetPackageVersionAsset' {domain} -> domain) (\s@GetPackageVersionAsset' {} a -> s {domain = a} :: GetPackageVersionAsset)++-- | The repository that contains the package version with the requested+-- asset.+getPackageVersionAsset_repository :: Lens.Lens' GetPackageVersionAsset Prelude.Text+getPackageVersionAsset_repository = Lens.lens (\GetPackageVersionAsset' {repository} -> repository) (\s@GetPackageVersionAsset' {} a -> s {repository = a} :: GetPackageVersionAsset)++-- | A format that specifies the type of the package version with the+-- requested asset file.+getPackageVersionAsset_format :: Lens.Lens' GetPackageVersionAsset PackageFormat+getPackageVersionAsset_format = Lens.lens (\GetPackageVersionAsset' {format} -> format) (\s@GetPackageVersionAsset' {} a -> s {format = a} :: GetPackageVersionAsset)++-- | The name of the package that contains the requested asset.+getPackageVersionAsset_package :: Lens.Lens' GetPackageVersionAsset Prelude.Text+getPackageVersionAsset_package = Lens.lens (\GetPackageVersionAsset' {package} -> package) (\s@GetPackageVersionAsset' {} a -> s {package = a} :: GetPackageVersionAsset)++-- | A string that contains the package version (for example, @3.5.2@).+getPackageVersionAsset_packageVersion :: Lens.Lens' GetPackageVersionAsset Prelude.Text+getPackageVersionAsset_packageVersion = Lens.lens (\GetPackageVersionAsset' {packageVersion} -> packageVersion) (\s@GetPackageVersionAsset' {} a -> s {packageVersion = a} :: GetPackageVersionAsset)++-- | The name of the requested asset.+getPackageVersionAsset_asset :: Lens.Lens' GetPackageVersionAsset Prelude.Text+getPackageVersionAsset_asset = Lens.lens (\GetPackageVersionAsset' {asset} -> asset) (\s@GetPackageVersionAsset' {} a -> s {asset = a} :: GetPackageVersionAsset)++instance Core.AWSRequest GetPackageVersionAsset where+  type+    AWSResponse GetPackageVersionAsset =+      GetPackageVersionAssetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          GetPackageVersionAssetResponse'+            Prelude.<$> (h Data..#? "X-AssetName")+            Prelude.<*> (h Data..#? "X-PackageVersion")+            Prelude.<*> (h Data..#? "X-PackageVersionRevision")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable GetPackageVersionAsset where+  hashWithSalt _salt GetPackageVersionAsset' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` packageVersionRevision+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` asset++instance Prelude.NFData GetPackageVersionAsset where+  rnf GetPackageVersionAsset' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf packageVersionRevision+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf asset++instance Data.ToHeaders GetPackageVersionAsset where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetPackageVersionAsset where+  toPath = Prelude.const "/v1/package/version/asset"++instance Data.ToQuery GetPackageVersionAsset where+  toQuery GetPackageVersionAsset' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "revision" Data.=: packageVersionRevision,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package,+        "version" Data.=: packageVersion,+        "asset" Data.=: asset+      ]++-- | /See:/ 'newGetPackageVersionAssetResponse' smart constructor.+data GetPackageVersionAssetResponse = GetPackageVersionAssetResponse'+  { -- | The name of the asset that is downloaded.+    assetName :: Prelude.Maybe Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Maybe Prelude.Text,+    -- | The name of the package version revision that contains the downloaded+    -- asset.+    packageVersionRevision :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The binary file, or asset, that is downloaded.+    asset :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPackageVersionAssetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetName', 'getPackageVersionAssetResponse_assetName' - The name of the asset that is downloaded.+--+-- 'packageVersion', 'getPackageVersionAssetResponse_packageVersion' - A string that contains the package version (for example, @3.5.2@).+--+-- 'packageVersionRevision', 'getPackageVersionAssetResponse_packageVersionRevision' - The name of the package version revision that contains the downloaded+-- asset.+--+-- 'httpStatus', 'getPackageVersionAssetResponse_httpStatus' - The response's http status code.+--+-- 'asset', 'getPackageVersionAssetResponse_asset' - The binary file, or asset, that is downloaded.+newGetPackageVersionAssetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'asset'+  Data.ResponseBody ->+  GetPackageVersionAssetResponse+newGetPackageVersionAssetResponse+  pHttpStatus_+  pAsset_ =+    GetPackageVersionAssetResponse'+      { assetName =+          Prelude.Nothing,+        packageVersion = Prelude.Nothing,+        packageVersionRevision = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        asset = pAsset_+      }++-- | The name of the asset that is downloaded.+getPackageVersionAssetResponse_assetName :: Lens.Lens' GetPackageVersionAssetResponse (Prelude.Maybe Prelude.Text)+getPackageVersionAssetResponse_assetName = Lens.lens (\GetPackageVersionAssetResponse' {assetName} -> assetName) (\s@GetPackageVersionAssetResponse' {} a -> s {assetName = a} :: GetPackageVersionAssetResponse)++-- | A string that contains the package version (for example, @3.5.2@).+getPackageVersionAssetResponse_packageVersion :: Lens.Lens' GetPackageVersionAssetResponse (Prelude.Maybe Prelude.Text)+getPackageVersionAssetResponse_packageVersion = Lens.lens (\GetPackageVersionAssetResponse' {packageVersion} -> packageVersion) (\s@GetPackageVersionAssetResponse' {} a -> s {packageVersion = a} :: GetPackageVersionAssetResponse)++-- | The name of the package version revision that contains the downloaded+-- asset.+getPackageVersionAssetResponse_packageVersionRevision :: Lens.Lens' GetPackageVersionAssetResponse (Prelude.Maybe Prelude.Text)+getPackageVersionAssetResponse_packageVersionRevision = Lens.lens (\GetPackageVersionAssetResponse' {packageVersionRevision} -> packageVersionRevision) (\s@GetPackageVersionAssetResponse' {} a -> s {packageVersionRevision = a} :: GetPackageVersionAssetResponse)++-- | The response's http status code.+getPackageVersionAssetResponse_httpStatus :: Lens.Lens' GetPackageVersionAssetResponse Prelude.Int+getPackageVersionAssetResponse_httpStatus = Lens.lens (\GetPackageVersionAssetResponse' {httpStatus} -> httpStatus) (\s@GetPackageVersionAssetResponse' {} a -> s {httpStatus = a} :: GetPackageVersionAssetResponse)++-- | The binary file, or asset, that is downloaded.+getPackageVersionAssetResponse_asset :: Lens.Lens' GetPackageVersionAssetResponse Data.ResponseBody+getPackageVersionAssetResponse_asset = Lens.lens (\GetPackageVersionAssetResponse' {asset} -> asset) (\s@GetPackageVersionAssetResponse' {} a -> s {asset = a} :: GetPackageVersionAssetResponse)
+ gen/Amazonka/CodeArtifact/GetPackageVersionReadme.hs view
@@ -0,0 +1,394 @@+{-# 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.CodeArtifact.GetPackageVersionReadme+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the readme file or descriptive text for a package version. For+-- packages that do not contain a readme file, CodeArtifact extracts a+-- description from a metadata file. For example, from the @\<description>@+-- element in the @pom.xml@ file of a Maven package.+--+-- The returned text might contain formatting. For example, it might+-- contain formatting for Markdown or reStructuredText.+module Amazonka.CodeArtifact.GetPackageVersionReadme+  ( -- * Creating a Request+    GetPackageVersionReadme (..),+    newGetPackageVersionReadme,++    -- * Request Lenses+    getPackageVersionReadme_domainOwner,+    getPackageVersionReadme_namespace,+    getPackageVersionReadme_domain,+    getPackageVersionReadme_repository,+    getPackageVersionReadme_format,+    getPackageVersionReadme_package,+    getPackageVersionReadme_packageVersion,++    -- * Destructuring the Response+    GetPackageVersionReadmeResponse (..),+    newGetPackageVersionReadmeResponse,++    -- * Response Lenses+    getPackageVersionReadmeResponse_format,+    getPackageVersionReadmeResponse_namespace,+    getPackageVersionReadmeResponse_package,+    getPackageVersionReadmeResponse_readme,+    getPackageVersionReadmeResponse_version,+    getPackageVersionReadmeResponse_versionRevision,+    getPackageVersionReadmeResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPackageVersionReadme' smart constructor.+data GetPackageVersionReadme = GetPackageVersionReadme'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package version with the requested readme file. The+    -- package version component that specifies its namespace depends on its+    -- type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- package version with the requested readme file.+    domain :: Prelude.Text,+    -- | The repository that contains the package with the requested readme file.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the package version with the+    -- requested readme file.+    format :: PackageFormat,+    -- | The name of the package version that contains the requested readme file.+    package :: Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPackageVersionReadme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getPackageVersionReadme_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'getPackageVersionReadme_namespace' - The namespace of the package version with the requested readme file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'domain', 'getPackageVersionReadme_domain' - The name of the domain that contains the repository that contains the+-- package version with the requested readme file.+--+-- 'repository', 'getPackageVersionReadme_repository' - The repository that contains the package with the requested readme file.+--+-- 'format', 'getPackageVersionReadme_format' - A format that specifies the type of the package version with the+-- requested readme file.+--+-- 'package', 'getPackageVersionReadme_package' - The name of the package version that contains the requested readme file.+--+-- 'packageVersion', 'getPackageVersionReadme_packageVersion' - A string that contains the package version (for example, @3.5.2@).+newGetPackageVersionReadme ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  GetPackageVersionReadme+newGetPackageVersionReadme+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pPackageVersion_ =+    GetPackageVersionReadme'+      { domainOwner =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        packageVersion = pPackageVersion_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+getPackageVersionReadme_domainOwner :: Lens.Lens' GetPackageVersionReadme (Prelude.Maybe Prelude.Text)+getPackageVersionReadme_domainOwner = Lens.lens (\GetPackageVersionReadme' {domainOwner} -> domainOwner) (\s@GetPackageVersionReadme' {} a -> s {domainOwner = a} :: GetPackageVersionReadme)++-- | The namespace of the package version with the requested readme file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+getPackageVersionReadme_namespace :: Lens.Lens' GetPackageVersionReadme (Prelude.Maybe Prelude.Text)+getPackageVersionReadme_namespace = Lens.lens (\GetPackageVersionReadme' {namespace} -> namespace) (\s@GetPackageVersionReadme' {} a -> s {namespace = a} :: GetPackageVersionReadme)++-- | The name of the domain that contains the repository that contains the+-- package version with the requested readme file.+getPackageVersionReadme_domain :: Lens.Lens' GetPackageVersionReadme Prelude.Text+getPackageVersionReadme_domain = Lens.lens (\GetPackageVersionReadme' {domain} -> domain) (\s@GetPackageVersionReadme' {} a -> s {domain = a} :: GetPackageVersionReadme)++-- | The repository that contains the package with the requested readme file.+getPackageVersionReadme_repository :: Lens.Lens' GetPackageVersionReadme Prelude.Text+getPackageVersionReadme_repository = Lens.lens (\GetPackageVersionReadme' {repository} -> repository) (\s@GetPackageVersionReadme' {} a -> s {repository = a} :: GetPackageVersionReadme)++-- | A format that specifies the type of the package version with the+-- requested readme file.+getPackageVersionReadme_format :: Lens.Lens' GetPackageVersionReadme PackageFormat+getPackageVersionReadme_format = Lens.lens (\GetPackageVersionReadme' {format} -> format) (\s@GetPackageVersionReadme' {} a -> s {format = a} :: GetPackageVersionReadme)++-- | The name of the package version that contains the requested readme file.+getPackageVersionReadme_package :: Lens.Lens' GetPackageVersionReadme Prelude.Text+getPackageVersionReadme_package = Lens.lens (\GetPackageVersionReadme' {package} -> package) (\s@GetPackageVersionReadme' {} a -> s {package = a} :: GetPackageVersionReadme)++-- | A string that contains the package version (for example, @3.5.2@).+getPackageVersionReadme_packageVersion :: Lens.Lens' GetPackageVersionReadme Prelude.Text+getPackageVersionReadme_packageVersion = Lens.lens (\GetPackageVersionReadme' {packageVersion} -> packageVersion) (\s@GetPackageVersionReadme' {} a -> s {packageVersion = a} :: GetPackageVersionReadme)++instance Core.AWSRequest GetPackageVersionReadme where+  type+    AWSResponse GetPackageVersionReadme =+      GetPackageVersionReadmeResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPackageVersionReadmeResponse'+            Prelude.<$> (x Data..?> "format")+            Prelude.<*> (x Data..?> "namespace")+            Prelude.<*> (x Data..?> "package")+            Prelude.<*> (x Data..?> "readme")+            Prelude.<*> (x Data..?> "version")+            Prelude.<*> (x Data..?> "versionRevision")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPackageVersionReadme where+  hashWithSalt _salt GetPackageVersionReadme' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` packageVersion++instance Prelude.NFData GetPackageVersionReadme where+  rnf GetPackageVersionReadme' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf packageVersion++instance Data.ToHeaders GetPackageVersionReadme where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetPackageVersionReadme where+  toPath = Prelude.const "/v1/package/version/readme"++instance Data.ToQuery GetPackageVersionReadme where+  toQuery GetPackageVersionReadme' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package,+        "version" Data.=: packageVersion+      ]++-- | /See:/ 'newGetPackageVersionReadmeResponse' smart constructor.+data GetPackageVersionReadmeResponse = GetPackageVersionReadmeResponse'+  { -- | The format of the package with the requested readme file.+    format :: Prelude.Maybe PackageFormat,+    -- | The namespace of the package version with the requested readme file. The+    -- package version component that specifies its namespace depends on its+    -- type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the package that contains the returned readme file.+    package :: Prelude.Maybe Prelude.Text,+    -- | The text of the returned readme file.+    readme :: Prelude.Maybe Prelude.Text,+    -- | The version of the package with the requested readme file.+    version :: Prelude.Maybe Prelude.Text,+    -- | The current revision associated with the package version.+    versionRevision :: 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 'GetPackageVersionReadmeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'getPackageVersionReadmeResponse_format' - The format of the package with the requested readme file.+--+-- 'namespace', 'getPackageVersionReadmeResponse_namespace' - The namespace of the package version with the requested readme file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'package', 'getPackageVersionReadmeResponse_package' - The name of the package that contains the returned readme file.+--+-- 'readme', 'getPackageVersionReadmeResponse_readme' - The text of the returned readme file.+--+-- 'version', 'getPackageVersionReadmeResponse_version' - The version of the package with the requested readme file.+--+-- 'versionRevision', 'getPackageVersionReadmeResponse_versionRevision' - The current revision associated with the package version.+--+-- 'httpStatus', 'getPackageVersionReadmeResponse_httpStatus' - The response's http status code.+newGetPackageVersionReadmeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPackageVersionReadmeResponse+newGetPackageVersionReadmeResponse pHttpStatus_ =+  GetPackageVersionReadmeResponse'+    { format =+        Prelude.Nothing,+      namespace = Prelude.Nothing,+      package = Prelude.Nothing,+      readme = Prelude.Nothing,+      version = Prelude.Nothing,+      versionRevision = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The format of the package with the requested readme file.+getPackageVersionReadmeResponse_format :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe PackageFormat)+getPackageVersionReadmeResponse_format = Lens.lens (\GetPackageVersionReadmeResponse' {format} -> format) (\s@GetPackageVersionReadmeResponse' {} a -> s {format = a} :: GetPackageVersionReadmeResponse)++-- | The namespace of the package version with the requested readme file. The+-- package version component that specifies its namespace depends on its+-- type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+getPackageVersionReadmeResponse_namespace :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe Prelude.Text)+getPackageVersionReadmeResponse_namespace = Lens.lens (\GetPackageVersionReadmeResponse' {namespace} -> namespace) (\s@GetPackageVersionReadmeResponse' {} a -> s {namespace = a} :: GetPackageVersionReadmeResponse)++-- | The name of the package that contains the returned readme file.+getPackageVersionReadmeResponse_package :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe Prelude.Text)+getPackageVersionReadmeResponse_package = Lens.lens (\GetPackageVersionReadmeResponse' {package} -> package) (\s@GetPackageVersionReadmeResponse' {} a -> s {package = a} :: GetPackageVersionReadmeResponse)++-- | The text of the returned readme file.+getPackageVersionReadmeResponse_readme :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe Prelude.Text)+getPackageVersionReadmeResponse_readme = Lens.lens (\GetPackageVersionReadmeResponse' {readme} -> readme) (\s@GetPackageVersionReadmeResponse' {} a -> s {readme = a} :: GetPackageVersionReadmeResponse)++-- | The version of the package with the requested readme file.+getPackageVersionReadmeResponse_version :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe Prelude.Text)+getPackageVersionReadmeResponse_version = Lens.lens (\GetPackageVersionReadmeResponse' {version} -> version) (\s@GetPackageVersionReadmeResponse' {} a -> s {version = a} :: GetPackageVersionReadmeResponse)++-- | The current revision associated with the package version.+getPackageVersionReadmeResponse_versionRevision :: Lens.Lens' GetPackageVersionReadmeResponse (Prelude.Maybe Prelude.Text)+getPackageVersionReadmeResponse_versionRevision = Lens.lens (\GetPackageVersionReadmeResponse' {versionRevision} -> versionRevision) (\s@GetPackageVersionReadmeResponse' {} a -> s {versionRevision = a} :: GetPackageVersionReadmeResponse)++-- | The response's http status code.+getPackageVersionReadmeResponse_httpStatus :: Lens.Lens' GetPackageVersionReadmeResponse Prelude.Int+getPackageVersionReadmeResponse_httpStatus = Lens.lens (\GetPackageVersionReadmeResponse' {httpStatus} -> httpStatus) (\s@GetPackageVersionReadmeResponse' {} a -> s {httpStatus = a} :: GetPackageVersionReadmeResponse)++instance+  Prelude.NFData+    GetPackageVersionReadmeResponse+  where+  rnf GetPackageVersionReadmeResponse' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf readme+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf versionRevision+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/GetRepositoryEndpoint.hs view
@@ -0,0 +1,229 @@+{-# 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.CodeArtifact.GetRepositoryEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the endpoint of a repository for a specific package format. A+-- repository has one endpoint for each package format:+--+-- -   @maven@+--+-- -   @npm@+--+-- -   @nuget@+--+-- -   @pypi@+module Amazonka.CodeArtifact.GetRepositoryEndpoint+  ( -- * Creating a Request+    GetRepositoryEndpoint (..),+    newGetRepositoryEndpoint,++    -- * Request Lenses+    getRepositoryEndpoint_domainOwner,+    getRepositoryEndpoint_domain,+    getRepositoryEndpoint_repository,+    getRepositoryEndpoint_format,++    -- * Destructuring the Response+    GetRepositoryEndpointResponse (..),+    newGetRepositoryEndpointResponse,++    -- * Response Lenses+    getRepositoryEndpointResponse_repositoryEndpoint,+    getRepositoryEndpointResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRepositoryEndpoint' smart constructor.+data GetRepositoryEndpoint = GetRepositoryEndpoint'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain that contains the repository. It does not include dashes or+    -- spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository.+    domain :: Prelude.Text,+    -- | The name of the repository.+    repository :: Prelude.Text,+    -- | Returns which endpoint of a repository to return. A repository has one+    -- endpoint for each package format.+    format :: PackageFormat+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRepositoryEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getRepositoryEndpoint_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain that contains the repository. It does not include dashes or+-- spaces.+--+-- 'domain', 'getRepositoryEndpoint_domain' - The name of the domain that contains the repository.+--+-- 'repository', 'getRepositoryEndpoint_repository' - The name of the repository.+--+-- 'format', 'getRepositoryEndpoint_format' - Returns which endpoint of a repository to return. A repository has one+-- endpoint for each package format.+newGetRepositoryEndpoint ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  GetRepositoryEndpoint+newGetRepositoryEndpoint+  pDomain_+  pRepository_+  pFormat_ =+    GetRepositoryEndpoint'+      { domainOwner =+          Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain that contains the repository. It does not include dashes or+-- spaces.+getRepositoryEndpoint_domainOwner :: Lens.Lens' GetRepositoryEndpoint (Prelude.Maybe Prelude.Text)+getRepositoryEndpoint_domainOwner = Lens.lens (\GetRepositoryEndpoint' {domainOwner} -> domainOwner) (\s@GetRepositoryEndpoint' {} a -> s {domainOwner = a} :: GetRepositoryEndpoint)++-- | The name of the domain that contains the repository.+getRepositoryEndpoint_domain :: Lens.Lens' GetRepositoryEndpoint Prelude.Text+getRepositoryEndpoint_domain = Lens.lens (\GetRepositoryEndpoint' {domain} -> domain) (\s@GetRepositoryEndpoint' {} a -> s {domain = a} :: GetRepositoryEndpoint)++-- | The name of the repository.+getRepositoryEndpoint_repository :: Lens.Lens' GetRepositoryEndpoint Prelude.Text+getRepositoryEndpoint_repository = Lens.lens (\GetRepositoryEndpoint' {repository} -> repository) (\s@GetRepositoryEndpoint' {} a -> s {repository = a} :: GetRepositoryEndpoint)++-- | Returns which endpoint of a repository to return. A repository has one+-- endpoint for each package format.+getRepositoryEndpoint_format :: Lens.Lens' GetRepositoryEndpoint PackageFormat+getRepositoryEndpoint_format = Lens.lens (\GetRepositoryEndpoint' {format} -> format) (\s@GetRepositoryEndpoint' {} a -> s {format = a} :: GetRepositoryEndpoint)++instance Core.AWSRequest GetRepositoryEndpoint where+  type+    AWSResponse GetRepositoryEndpoint =+      GetRepositoryEndpointResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRepositoryEndpointResponse'+            Prelude.<$> (x Data..?> "repositoryEndpoint")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRepositoryEndpoint where+  hashWithSalt _salt GetRepositoryEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format++instance Prelude.NFData GetRepositoryEndpoint where+  rnf GetRepositoryEndpoint' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format++instance Data.ToHeaders GetRepositoryEndpoint where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRepositoryEndpoint where+  toPath = Prelude.const "/v1/repository/endpoint"++instance Data.ToQuery GetRepositoryEndpoint where+  toQuery GetRepositoryEndpoint' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format+      ]++-- | /See:/ 'newGetRepositoryEndpointResponse' smart constructor.+data GetRepositoryEndpointResponse = GetRepositoryEndpointResponse'+  { -- | A string that specifies the URL of the returned endpoint.+    repositoryEndpoint :: 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 'GetRepositoryEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repositoryEndpoint', 'getRepositoryEndpointResponse_repositoryEndpoint' - A string that specifies the URL of the returned endpoint.+--+-- 'httpStatus', 'getRepositoryEndpointResponse_httpStatus' - The response's http status code.+newGetRepositoryEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRepositoryEndpointResponse+newGetRepositoryEndpointResponse pHttpStatus_ =+  GetRepositoryEndpointResponse'+    { repositoryEndpoint =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A string that specifies the URL of the returned endpoint.+getRepositoryEndpointResponse_repositoryEndpoint :: Lens.Lens' GetRepositoryEndpointResponse (Prelude.Maybe Prelude.Text)+getRepositoryEndpointResponse_repositoryEndpoint = Lens.lens (\GetRepositoryEndpointResponse' {repositoryEndpoint} -> repositoryEndpoint) (\s@GetRepositoryEndpointResponse' {} a -> s {repositoryEndpoint = a} :: GetRepositoryEndpointResponse)++-- | The response's http status code.+getRepositoryEndpointResponse_httpStatus :: Lens.Lens' GetRepositoryEndpointResponse Prelude.Int+getRepositoryEndpointResponse_httpStatus = Lens.lens (\GetRepositoryEndpointResponse' {httpStatus} -> httpStatus) (\s@GetRepositoryEndpointResponse' {} a -> s {httpStatus = a} :: GetRepositoryEndpointResponse)++instance Prelude.NFData GetRepositoryEndpointResponse where+  rnf GetRepositoryEndpointResponse' {..} =+    Prelude.rnf repositoryEndpoint+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/GetRepositoryPermissionsPolicy.hs view
@@ -0,0 +1,223 @@+{-# 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.CodeArtifact.GetRepositoryPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the resource policy that is set on a repository.+module Amazonka.CodeArtifact.GetRepositoryPermissionsPolicy+  ( -- * Creating a Request+    GetRepositoryPermissionsPolicy (..),+    newGetRepositoryPermissionsPolicy,++    -- * Request Lenses+    getRepositoryPermissionsPolicy_domainOwner,+    getRepositoryPermissionsPolicy_domain,+    getRepositoryPermissionsPolicy_repository,++    -- * Destructuring the Response+    GetRepositoryPermissionsPolicyResponse (..),+    newGetRepositoryPermissionsPolicyResponse,++    -- * Response Lenses+    getRepositoryPermissionsPolicyResponse_policy,+    getRepositoryPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRepositoryPermissionsPolicy' smart constructor.+data GetRepositoryPermissionsPolicy = GetRepositoryPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain containing the repository whose associated+    -- resource policy is to be retrieved.+    domain :: Prelude.Text,+    -- | The name of the repository whose associated resource policy is to be+    -- retrieved.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRepositoryPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'getRepositoryPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'domain', 'getRepositoryPermissionsPolicy_domain' - The name of the domain containing the repository whose associated+-- resource policy is to be retrieved.+--+-- 'repository', 'getRepositoryPermissionsPolicy_repository' - The name of the repository whose associated resource policy is to be+-- retrieved.+newGetRepositoryPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  GetRepositoryPermissionsPolicy+newGetRepositoryPermissionsPolicy+  pDomain_+  pRepository_ =+    GetRepositoryPermissionsPolicy'+      { domainOwner =+          Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+getRepositoryPermissionsPolicy_domainOwner :: Lens.Lens' GetRepositoryPermissionsPolicy (Prelude.Maybe Prelude.Text)+getRepositoryPermissionsPolicy_domainOwner = Lens.lens (\GetRepositoryPermissionsPolicy' {domainOwner} -> domainOwner) (\s@GetRepositoryPermissionsPolicy' {} a -> s {domainOwner = a} :: GetRepositoryPermissionsPolicy)++-- | The name of the domain containing the repository whose associated+-- resource policy is to be retrieved.+getRepositoryPermissionsPolicy_domain :: Lens.Lens' GetRepositoryPermissionsPolicy Prelude.Text+getRepositoryPermissionsPolicy_domain = Lens.lens (\GetRepositoryPermissionsPolicy' {domain} -> domain) (\s@GetRepositoryPermissionsPolicy' {} a -> s {domain = a} :: GetRepositoryPermissionsPolicy)++-- | The name of the repository whose associated resource policy is to be+-- retrieved.+getRepositoryPermissionsPolicy_repository :: Lens.Lens' GetRepositoryPermissionsPolicy Prelude.Text+getRepositoryPermissionsPolicy_repository = Lens.lens (\GetRepositoryPermissionsPolicy' {repository} -> repository) (\s@GetRepositoryPermissionsPolicy' {} a -> s {repository = a} :: GetRepositoryPermissionsPolicy)++instance+  Core.AWSRequest+    GetRepositoryPermissionsPolicy+  where+  type+    AWSResponse GetRepositoryPermissionsPolicy =+      GetRepositoryPermissionsPolicyResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRepositoryPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetRepositoryPermissionsPolicy+  where+  hashWithSalt+    _salt+    GetRepositoryPermissionsPolicy' {..} =+      _salt+        `Prelude.hashWithSalt` domainOwner+        `Prelude.hashWithSalt` domain+        `Prelude.hashWithSalt` repository++instance+  Prelude.NFData+    GetRepositoryPermissionsPolicy+  where+  rnf GetRepositoryPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance+  Data.ToHeaders+    GetRepositoryPermissionsPolicy+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRepositoryPermissionsPolicy where+  toPath =+    Prelude.const "/v1/repository/permissions/policy"++instance Data.ToQuery GetRepositoryPermissionsPolicy where+  toQuery GetRepositoryPermissionsPolicy' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newGetRepositoryPermissionsPolicyResponse' smart constructor.+data GetRepositoryPermissionsPolicyResponse = GetRepositoryPermissionsPolicyResponse'+  { -- | The returned resource policy.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRepositoryPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getRepositoryPermissionsPolicyResponse_policy' - The returned resource policy.+--+-- 'httpStatus', 'getRepositoryPermissionsPolicyResponse_httpStatus' - The response's http status code.+newGetRepositoryPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRepositoryPermissionsPolicyResponse+newGetRepositoryPermissionsPolicyResponse+  pHttpStatus_ =+    GetRepositoryPermissionsPolicyResponse'+      { policy =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The returned resource policy.+getRepositoryPermissionsPolicyResponse_policy :: Lens.Lens' GetRepositoryPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+getRepositoryPermissionsPolicyResponse_policy = Lens.lens (\GetRepositoryPermissionsPolicyResponse' {policy} -> policy) (\s@GetRepositoryPermissionsPolicyResponse' {} a -> s {policy = a} :: GetRepositoryPermissionsPolicyResponse)++-- | The response's http status code.+getRepositoryPermissionsPolicyResponse_httpStatus :: Lens.Lens' GetRepositoryPermissionsPolicyResponse Prelude.Int+getRepositoryPermissionsPolicyResponse_httpStatus = Lens.lens (\GetRepositoryPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@GetRepositoryPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: GetRepositoryPermissionsPolicyResponse)++instance+  Prelude.NFData+    GetRepositoryPermissionsPolicyResponse+  where+  rnf GetRepositoryPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/Lens.hs view
@@ -0,0 +1,570 @@+{-# 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.CodeArtifact.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.CodeArtifact.Lens+  ( -- * Operations++    -- ** AssociateExternalConnection+    associateExternalConnection_domainOwner,+    associateExternalConnection_domain,+    associateExternalConnection_repository,+    associateExternalConnection_externalConnection,+    associateExternalConnectionResponse_repository,+    associateExternalConnectionResponse_httpStatus,++    -- ** CopyPackageVersions+    copyPackageVersions_allowOverwrite,+    copyPackageVersions_domainOwner,+    copyPackageVersions_includeFromUpstream,+    copyPackageVersions_namespace,+    copyPackageVersions_versionRevisions,+    copyPackageVersions_versions,+    copyPackageVersions_domain,+    copyPackageVersions_sourceRepository,+    copyPackageVersions_destinationRepository,+    copyPackageVersions_format,+    copyPackageVersions_package,+    copyPackageVersionsResponse_failedVersions,+    copyPackageVersionsResponse_successfulVersions,+    copyPackageVersionsResponse_httpStatus,++    -- ** CreateDomain+    createDomain_encryptionKey,+    createDomain_tags,+    createDomain_domain,+    createDomainResponse_domain,+    createDomainResponse_httpStatus,++    -- ** CreateRepository+    createRepository_description,+    createRepository_domainOwner,+    createRepository_tags,+    createRepository_upstreams,+    createRepository_domain,+    createRepository_repository,+    createRepositoryResponse_repository,+    createRepositoryResponse_httpStatus,++    -- ** DeleteDomain+    deleteDomain_domainOwner,+    deleteDomain_domain,+    deleteDomainResponse_domain,+    deleteDomainResponse_httpStatus,++    -- ** DeleteDomainPermissionsPolicy+    deleteDomainPermissionsPolicy_domainOwner,+    deleteDomainPermissionsPolicy_policyRevision,+    deleteDomainPermissionsPolicy_domain,+    deleteDomainPermissionsPolicyResponse_policy,+    deleteDomainPermissionsPolicyResponse_httpStatus,++    -- ** DeletePackageVersions+    deletePackageVersions_domainOwner,+    deletePackageVersions_expectedStatus,+    deletePackageVersions_namespace,+    deletePackageVersions_domain,+    deletePackageVersions_repository,+    deletePackageVersions_format,+    deletePackageVersions_package,+    deletePackageVersions_versions,+    deletePackageVersionsResponse_failedVersions,+    deletePackageVersionsResponse_successfulVersions,+    deletePackageVersionsResponse_httpStatus,++    -- ** DeleteRepository+    deleteRepository_domainOwner,+    deleteRepository_domain,+    deleteRepository_repository,+    deleteRepositoryResponse_repository,+    deleteRepositoryResponse_httpStatus,++    -- ** DeleteRepositoryPermissionsPolicy+    deleteRepositoryPermissionsPolicy_domainOwner,+    deleteRepositoryPermissionsPolicy_policyRevision,+    deleteRepositoryPermissionsPolicy_domain,+    deleteRepositoryPermissionsPolicy_repository,+    deleteRepositoryPermissionsPolicyResponse_policy,+    deleteRepositoryPermissionsPolicyResponse_httpStatus,++    -- ** DescribeDomain+    describeDomain_domainOwner,+    describeDomain_domain,+    describeDomainResponse_domain,+    describeDomainResponse_httpStatus,++    -- ** DescribePackage+    describePackage_domainOwner,+    describePackage_namespace,+    describePackage_domain,+    describePackage_repository,+    describePackage_format,+    describePackage_package,+    describePackageResponse_httpStatus,+    describePackageResponse_package,++    -- ** DescribePackageVersion+    describePackageVersion_domainOwner,+    describePackageVersion_namespace,+    describePackageVersion_domain,+    describePackageVersion_repository,+    describePackageVersion_format,+    describePackageVersion_package,+    describePackageVersion_packageVersion,+    describePackageVersionResponse_httpStatus,+    describePackageVersionResponse_packageVersion,++    -- ** DescribeRepository+    describeRepository_domainOwner,+    describeRepository_domain,+    describeRepository_repository,+    describeRepositoryResponse_repository,+    describeRepositoryResponse_httpStatus,++    -- ** DisassociateExternalConnection+    disassociateExternalConnection_domainOwner,+    disassociateExternalConnection_domain,+    disassociateExternalConnection_repository,+    disassociateExternalConnection_externalConnection,+    disassociateExternalConnectionResponse_repository,+    disassociateExternalConnectionResponse_httpStatus,++    -- ** DisposePackageVersions+    disposePackageVersions_domainOwner,+    disposePackageVersions_expectedStatus,+    disposePackageVersions_namespace,+    disposePackageVersions_versionRevisions,+    disposePackageVersions_domain,+    disposePackageVersions_repository,+    disposePackageVersions_format,+    disposePackageVersions_package,+    disposePackageVersions_versions,+    disposePackageVersionsResponse_failedVersions,+    disposePackageVersionsResponse_successfulVersions,+    disposePackageVersionsResponse_httpStatus,++    -- ** GetAuthorizationToken+    getAuthorizationToken_domainOwner,+    getAuthorizationToken_durationSeconds,+    getAuthorizationToken_domain,+    getAuthorizationTokenResponse_authorizationToken,+    getAuthorizationTokenResponse_expiration,+    getAuthorizationTokenResponse_httpStatus,++    -- ** GetDomainPermissionsPolicy+    getDomainPermissionsPolicy_domainOwner,+    getDomainPermissionsPolicy_domain,+    getDomainPermissionsPolicyResponse_policy,+    getDomainPermissionsPolicyResponse_httpStatus,++    -- ** GetPackageVersionAsset+    getPackageVersionAsset_domainOwner,+    getPackageVersionAsset_namespace,+    getPackageVersionAsset_packageVersionRevision,+    getPackageVersionAsset_domain,+    getPackageVersionAsset_repository,+    getPackageVersionAsset_format,+    getPackageVersionAsset_package,+    getPackageVersionAsset_packageVersion,+    getPackageVersionAsset_asset,+    getPackageVersionAssetResponse_assetName,+    getPackageVersionAssetResponse_packageVersion,+    getPackageVersionAssetResponse_packageVersionRevision,+    getPackageVersionAssetResponse_httpStatus,+    getPackageVersionAssetResponse_asset,++    -- ** GetPackageVersionReadme+    getPackageVersionReadme_domainOwner,+    getPackageVersionReadme_namespace,+    getPackageVersionReadme_domain,+    getPackageVersionReadme_repository,+    getPackageVersionReadme_format,+    getPackageVersionReadme_package,+    getPackageVersionReadme_packageVersion,+    getPackageVersionReadmeResponse_format,+    getPackageVersionReadmeResponse_namespace,+    getPackageVersionReadmeResponse_package,+    getPackageVersionReadmeResponse_readme,+    getPackageVersionReadmeResponse_version,+    getPackageVersionReadmeResponse_versionRevision,+    getPackageVersionReadmeResponse_httpStatus,++    -- ** GetRepositoryEndpoint+    getRepositoryEndpoint_domainOwner,+    getRepositoryEndpoint_domain,+    getRepositoryEndpoint_repository,+    getRepositoryEndpoint_format,+    getRepositoryEndpointResponse_repositoryEndpoint,+    getRepositoryEndpointResponse_httpStatus,++    -- ** GetRepositoryPermissionsPolicy+    getRepositoryPermissionsPolicy_domainOwner,+    getRepositoryPermissionsPolicy_domain,+    getRepositoryPermissionsPolicy_repository,+    getRepositoryPermissionsPolicyResponse_policy,+    getRepositoryPermissionsPolicyResponse_httpStatus,++    -- ** ListDomains+    listDomains_maxResults,+    listDomains_nextToken,+    listDomainsResponse_domains,+    listDomainsResponse_nextToken,+    listDomainsResponse_httpStatus,++    -- ** ListPackageVersionAssets+    listPackageVersionAssets_domainOwner,+    listPackageVersionAssets_maxResults,+    listPackageVersionAssets_namespace,+    listPackageVersionAssets_nextToken,+    listPackageVersionAssets_domain,+    listPackageVersionAssets_repository,+    listPackageVersionAssets_format,+    listPackageVersionAssets_package,+    listPackageVersionAssets_packageVersion,+    listPackageVersionAssetsResponse_assets,+    listPackageVersionAssetsResponse_format,+    listPackageVersionAssetsResponse_namespace,+    listPackageVersionAssetsResponse_nextToken,+    listPackageVersionAssetsResponse_package,+    listPackageVersionAssetsResponse_version,+    listPackageVersionAssetsResponse_versionRevision,+    listPackageVersionAssetsResponse_httpStatus,++    -- ** ListPackageVersionDependencies+    listPackageVersionDependencies_domainOwner,+    listPackageVersionDependencies_namespace,+    listPackageVersionDependencies_nextToken,+    listPackageVersionDependencies_domain,+    listPackageVersionDependencies_repository,+    listPackageVersionDependencies_format,+    listPackageVersionDependencies_package,+    listPackageVersionDependencies_packageVersion,+    listPackageVersionDependenciesResponse_dependencies,+    listPackageVersionDependenciesResponse_format,+    listPackageVersionDependenciesResponse_namespace,+    listPackageVersionDependenciesResponse_nextToken,+    listPackageVersionDependenciesResponse_package,+    listPackageVersionDependenciesResponse_version,+    listPackageVersionDependenciesResponse_versionRevision,+    listPackageVersionDependenciesResponse_httpStatus,++    -- ** ListPackageVersions+    listPackageVersions_domainOwner,+    listPackageVersions_maxResults,+    listPackageVersions_namespace,+    listPackageVersions_nextToken,+    listPackageVersions_originType,+    listPackageVersions_sortBy,+    listPackageVersions_status,+    listPackageVersions_domain,+    listPackageVersions_repository,+    listPackageVersions_format,+    listPackageVersions_package,+    listPackageVersionsResponse_defaultDisplayVersion,+    listPackageVersionsResponse_format,+    listPackageVersionsResponse_namespace,+    listPackageVersionsResponse_nextToken,+    listPackageVersionsResponse_package,+    listPackageVersionsResponse_versions,+    listPackageVersionsResponse_httpStatus,++    -- ** ListPackages+    listPackages_domainOwner,+    listPackages_format,+    listPackages_maxResults,+    listPackages_namespace,+    listPackages_nextToken,+    listPackages_packagePrefix,+    listPackages_publish,+    listPackages_upstream,+    listPackages_domain,+    listPackages_repository,+    listPackagesResponse_nextToken,+    listPackagesResponse_packages,+    listPackagesResponse_httpStatus,++    -- ** ListRepositories+    listRepositories_maxResults,+    listRepositories_nextToken,+    listRepositories_repositoryPrefix,+    listRepositoriesResponse_nextToken,+    listRepositoriesResponse_repositories,+    listRepositoriesResponse_httpStatus,++    -- ** ListRepositoriesInDomain+    listRepositoriesInDomain_administratorAccount,+    listRepositoriesInDomain_domainOwner,+    listRepositoriesInDomain_maxResults,+    listRepositoriesInDomain_nextToken,+    listRepositoriesInDomain_repositoryPrefix,+    listRepositoriesInDomain_domain,+    listRepositoriesInDomainResponse_nextToken,+    listRepositoriesInDomainResponse_repositories,+    listRepositoriesInDomainResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PutDomainPermissionsPolicy+    putDomainPermissionsPolicy_domainOwner,+    putDomainPermissionsPolicy_policyRevision,+    putDomainPermissionsPolicy_domain,+    putDomainPermissionsPolicy_policyDocument,+    putDomainPermissionsPolicyResponse_policy,+    putDomainPermissionsPolicyResponse_httpStatus,++    -- ** PutPackageOriginConfiguration+    putPackageOriginConfiguration_domainOwner,+    putPackageOriginConfiguration_namespace,+    putPackageOriginConfiguration_domain,+    putPackageOriginConfiguration_repository,+    putPackageOriginConfiguration_format,+    putPackageOriginConfiguration_package,+    putPackageOriginConfiguration_restrictions,+    putPackageOriginConfigurationResponse_originConfiguration,+    putPackageOriginConfigurationResponse_httpStatus,++    -- ** PutRepositoryPermissionsPolicy+    putRepositoryPermissionsPolicy_domainOwner,+    putRepositoryPermissionsPolicy_policyRevision,+    putRepositoryPermissionsPolicy_domain,+    putRepositoryPermissionsPolicy_repository,+    putRepositoryPermissionsPolicy_policyDocument,+    putRepositoryPermissionsPolicyResponse_policy,+    putRepositoryPermissionsPolicyResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdatePackageVersionsStatus+    updatePackageVersionsStatus_domainOwner,+    updatePackageVersionsStatus_expectedStatus,+    updatePackageVersionsStatus_namespace,+    updatePackageVersionsStatus_versionRevisions,+    updatePackageVersionsStatus_domain,+    updatePackageVersionsStatus_repository,+    updatePackageVersionsStatus_format,+    updatePackageVersionsStatus_package,+    updatePackageVersionsStatus_versions,+    updatePackageVersionsStatus_targetStatus,+    updatePackageVersionsStatusResponse_failedVersions,+    updatePackageVersionsStatusResponse_successfulVersions,+    updatePackageVersionsStatusResponse_httpStatus,++    -- ** UpdateRepository+    updateRepository_description,+    updateRepository_domainOwner,+    updateRepository_upstreams,+    updateRepository_domain,+    updateRepository_repository,+    updateRepositoryResponse_repository,+    updateRepositoryResponse_httpStatus,++    -- * Types++    -- ** AssetSummary+    assetSummary_hashes,+    assetSummary_size,+    assetSummary_name,++    -- ** DomainDescription+    domainDescription_arn,+    domainDescription_assetSizeBytes,+    domainDescription_createdTime,+    domainDescription_encryptionKey,+    domainDescription_name,+    domainDescription_owner,+    domainDescription_repositoryCount,+    domainDescription_s3BucketArn,+    domainDescription_status,++    -- ** DomainEntryPoint+    domainEntryPoint_externalConnectionName,+    domainEntryPoint_repositoryName,++    -- ** DomainSummary+    domainSummary_arn,+    domainSummary_createdTime,+    domainSummary_encryptionKey,+    domainSummary_name,+    domainSummary_owner,+    domainSummary_status,++    -- ** LicenseInfo+    licenseInfo_name,+    licenseInfo_url,++    -- ** PackageDependency+    packageDependency_dependencyType,+    packageDependency_namespace,+    packageDependency_package,+    packageDependency_versionRequirement,++    -- ** PackageDescription+    packageDescription_format,+    packageDescription_name,+    packageDescription_namespace,+    packageDescription_originConfiguration,++    -- ** PackageOriginConfiguration+    packageOriginConfiguration_restrictions,++    -- ** PackageOriginRestrictions+    packageOriginRestrictions_publish,+    packageOriginRestrictions_upstream,++    -- ** PackageSummary+    packageSummary_format,+    packageSummary_namespace,+    packageSummary_originConfiguration,+    packageSummary_package,++    -- ** PackageVersionDescription+    packageVersionDescription_displayName,+    packageVersionDescription_format,+    packageVersionDescription_homePage,+    packageVersionDescription_licenses,+    packageVersionDescription_namespace,+    packageVersionDescription_origin,+    packageVersionDescription_packageName,+    packageVersionDescription_publishedTime,+    packageVersionDescription_revision,+    packageVersionDescription_sourceCodeRepository,+    packageVersionDescription_status,+    packageVersionDescription_summary,+    packageVersionDescription_version,++    -- ** PackageVersionError+    packageVersionError_errorCode,+    packageVersionError_errorMessage,++    -- ** PackageVersionOrigin+    packageVersionOrigin_domainEntryPoint,+    packageVersionOrigin_originType,++    -- ** PackageVersionSummary+    packageVersionSummary_origin,+    packageVersionSummary_revision,+    packageVersionSummary_version,+    packageVersionSummary_status,++    -- ** RepositoryDescription+    repositoryDescription_administratorAccount,+    repositoryDescription_arn,+    repositoryDescription_description,+    repositoryDescription_domainName,+    repositoryDescription_domainOwner,+    repositoryDescription_externalConnections,+    repositoryDescription_name,+    repositoryDescription_upstreams,++    -- ** RepositoryExternalConnectionInfo+    repositoryExternalConnectionInfo_externalConnectionName,+    repositoryExternalConnectionInfo_packageFormat,+    repositoryExternalConnectionInfo_status,++    -- ** RepositorySummary+    repositorySummary_administratorAccount,+    repositorySummary_arn,+    repositorySummary_description,+    repositorySummary_domainName,+    repositorySummary_domainOwner,+    repositorySummary_name,++    -- ** ResourcePolicy+    resourcePolicy_document,+    resourcePolicy_resourceArn,+    resourcePolicy_revision,++    -- ** SuccessfulPackageVersionInfo+    successfulPackageVersionInfo_revision,+    successfulPackageVersionInfo_status,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** UpstreamRepository+    upstreamRepository_repositoryName,++    -- ** UpstreamRepositoryInfo+    upstreamRepositoryInfo_repositoryName,+  )+where++import Amazonka.CodeArtifact.AssociateExternalConnection+import Amazonka.CodeArtifact.CopyPackageVersions+import Amazonka.CodeArtifact.CreateDomain+import Amazonka.CodeArtifact.CreateRepository+import Amazonka.CodeArtifact.DeleteDomain+import Amazonka.CodeArtifact.DeleteDomainPermissionsPolicy+import Amazonka.CodeArtifact.DeletePackageVersions+import Amazonka.CodeArtifact.DeleteRepository+import Amazonka.CodeArtifact.DeleteRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.DescribeDomain+import Amazonka.CodeArtifact.DescribePackage+import Amazonka.CodeArtifact.DescribePackageVersion+import Amazonka.CodeArtifact.DescribeRepository+import Amazonka.CodeArtifact.DisassociateExternalConnection+import Amazonka.CodeArtifact.DisposePackageVersions+import Amazonka.CodeArtifact.GetAuthorizationToken+import Amazonka.CodeArtifact.GetDomainPermissionsPolicy+import Amazonka.CodeArtifact.GetPackageVersionAsset+import Amazonka.CodeArtifact.GetPackageVersionReadme+import Amazonka.CodeArtifact.GetRepositoryEndpoint+import Amazonka.CodeArtifact.GetRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.ListDomains+import Amazonka.CodeArtifact.ListPackageVersionAssets+import Amazonka.CodeArtifact.ListPackageVersionDependencies+import Amazonka.CodeArtifact.ListPackageVersions+import Amazonka.CodeArtifact.ListPackages+import Amazonka.CodeArtifact.ListRepositories+import Amazonka.CodeArtifact.ListRepositoriesInDomain+import Amazonka.CodeArtifact.ListTagsForResource+import Amazonka.CodeArtifact.PutDomainPermissionsPolicy+import Amazonka.CodeArtifact.PutPackageOriginConfiguration+import Amazonka.CodeArtifact.PutRepositoryPermissionsPolicy+import Amazonka.CodeArtifact.TagResource+import Amazonka.CodeArtifact.Types.AssetSummary+import Amazonka.CodeArtifact.Types.DomainDescription+import Amazonka.CodeArtifact.Types.DomainEntryPoint+import Amazonka.CodeArtifact.Types.DomainSummary+import Amazonka.CodeArtifact.Types.LicenseInfo+import Amazonka.CodeArtifact.Types.PackageDependency+import Amazonka.CodeArtifact.Types.PackageDescription+import Amazonka.CodeArtifact.Types.PackageOriginConfiguration+import Amazonka.CodeArtifact.Types.PackageOriginRestrictions+import Amazonka.CodeArtifact.Types.PackageSummary+import Amazonka.CodeArtifact.Types.PackageVersionDescription+import Amazonka.CodeArtifact.Types.PackageVersionError+import Amazonka.CodeArtifact.Types.PackageVersionOrigin+import Amazonka.CodeArtifact.Types.PackageVersionSummary+import Amazonka.CodeArtifact.Types.RepositoryDescription+import Amazonka.CodeArtifact.Types.RepositoryExternalConnectionInfo+import Amazonka.CodeArtifact.Types.RepositorySummary+import Amazonka.CodeArtifact.Types.ResourcePolicy+import Amazonka.CodeArtifact.Types.SuccessfulPackageVersionInfo+import Amazonka.CodeArtifact.Types.Tag+import Amazonka.CodeArtifact.Types.UpstreamRepository+import Amazonka.CodeArtifact.Types.UpstreamRepositoryInfo+import Amazonka.CodeArtifact.UntagResource+import Amazonka.CodeArtifact.UpdatePackageVersionsStatus+import Amazonka.CodeArtifact.UpdateRepository
+ gen/Amazonka/CodeArtifact/ListDomains.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.ListDomains+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html DomainSummary>+-- objects for all domains owned by the Amazon Web Services account that+-- makes this call. Each returned @DomainSummary@ object contains+-- information about a domain.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListDomains+  ( -- * Creating a Request+    ListDomains (..),+    newListDomains,++    -- * Request Lenses+    listDomains_maxResults,+    listDomains_nextToken,++    -- * Destructuring the Response+    ListDomainsResponse (..),+    newListDomainsResponse,++    -- * Response Lenses+    listDomainsResponse_domains,+    listDomainsResponse_nextToken,+    listDomainsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDomains' smart constructor.+data ListDomains = ListDomains'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDomains_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listDomains_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+newListDomains ::+  ListDomains+newListDomains =+  ListDomains'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listDomains_maxResults :: Lens.Lens' ListDomains (Prelude.Maybe Prelude.Natural)+listDomains_maxResults = Lens.lens (\ListDomains' {maxResults} -> maxResults) (\s@ListDomains' {} a -> s {maxResults = a} :: ListDomains)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listDomains_nextToken :: Lens.Lens' ListDomains (Prelude.Maybe Prelude.Text)+listDomains_nextToken = Lens.lens (\ListDomains' {nextToken} -> nextToken) (\s@ListDomains' {} a -> s {nextToken = a} :: ListDomains)++instance Core.AWSPager ListDomains where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDomainsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDomainsResponse_domains+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDomains_nextToken+          Lens..~ rs+          Lens.^? listDomainsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDomains where+  type AWSResponse ListDomains = ListDomainsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDomainsResponse'+            Prelude.<$> (x Data..?> "domains" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDomains where+  hashWithSalt _salt ListDomains' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDomains where+  rnf ListDomains' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDomains where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDomains where+  toJSON ListDomains' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListDomains where+  toPath = Prelude.const "/v1/domains"++instance Data.ToQuery ListDomains where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDomainsResponse' smart constructor.+data ListDomainsResponse = ListDomainsResponse'+  { -- | The returned list of+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainSummary.html DomainSummary>+    -- objects.+    domains :: Prelude.Maybe [DomainSummary],+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domains', 'listDomainsResponse_domains' - The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainSummary.html DomainSummary>+-- objects.+--+-- 'nextToken', 'listDomainsResponse_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'httpStatus', 'listDomainsResponse_httpStatus' - The response's http status code.+newListDomainsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDomainsResponse+newListDomainsResponse pHttpStatus_ =+  ListDomainsResponse'+    { domains = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainSummary.html DomainSummary>+-- objects.+listDomainsResponse_domains :: Lens.Lens' ListDomainsResponse (Prelude.Maybe [DomainSummary])+listDomainsResponse_domains = Lens.lens (\ListDomainsResponse' {domains} -> domains) (\s@ListDomainsResponse' {} a -> s {domains = a} :: ListDomainsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listDomainsResponse_nextToken :: Lens.Lens' ListDomainsResponse (Prelude.Maybe Prelude.Text)+listDomainsResponse_nextToken = Lens.lens (\ListDomainsResponse' {nextToken} -> nextToken) (\s@ListDomainsResponse' {} a -> s {nextToken = a} :: ListDomainsResponse)++-- | The response's http status code.+listDomainsResponse_httpStatus :: Lens.Lens' ListDomainsResponse Prelude.Int+listDomainsResponse_httpStatus = Lens.lens (\ListDomainsResponse' {httpStatus} -> httpStatus) (\s@ListDomainsResponse' {} a -> s {httpStatus = a} :: ListDomainsResponse)++instance Prelude.NFData ListDomainsResponse where+  rnf ListDomainsResponse' {..} =+    Prelude.rnf domains+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListPackageVersionAssets.hs view
@@ -0,0 +1,482 @@+{-# 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.CodeArtifact.ListPackageVersionAssets+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html AssetSummary>+-- objects for assets in a package version.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListPackageVersionAssets+  ( -- * Creating a Request+    ListPackageVersionAssets (..),+    newListPackageVersionAssets,++    -- * Request Lenses+    listPackageVersionAssets_domainOwner,+    listPackageVersionAssets_maxResults,+    listPackageVersionAssets_namespace,+    listPackageVersionAssets_nextToken,+    listPackageVersionAssets_domain,+    listPackageVersionAssets_repository,+    listPackageVersionAssets_format,+    listPackageVersionAssets_package,+    listPackageVersionAssets_packageVersion,++    -- * Destructuring the Response+    ListPackageVersionAssetsResponse (..),+    newListPackageVersionAssetsResponse,++    -- * Response Lenses+    listPackageVersionAssetsResponse_assets,+    listPackageVersionAssetsResponse_format,+    listPackageVersionAssetsResponse_namespace,+    listPackageVersionAssetsResponse_nextToken,+    listPackageVersionAssetsResponse_package,+    listPackageVersionAssetsResponse_version,+    listPackageVersionAssetsResponse_versionRevision,+    listPackageVersionAssetsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackageVersionAssets' smart constructor.+data ListPackageVersionAssets = ListPackageVersionAssets'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The namespace of the package version that contains the requested package+    -- version assets. The package version component that specifies its+    -- namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository associated with the+    -- package version assets.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package that contains the+    -- requested package version assets.+    repository :: Prelude.Text,+    -- | The format of the package that contains the requested package version+    -- assets.+    format :: PackageFormat,+    -- | The name of the package that contains the requested package version+    -- assets.+    package :: Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageVersionAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'listPackageVersionAssets_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'maxResults', 'listPackageVersionAssets_maxResults' - The maximum number of results to return per page.+--+-- 'namespace', 'listPackageVersionAssets_namespace' - The namespace of the package version that contains the requested package+-- version assets. The package version component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'nextToken', 'listPackageVersionAssets_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'domain', 'listPackageVersionAssets_domain' - The name of the domain that contains the repository associated with the+-- package version assets.+--+-- 'repository', 'listPackageVersionAssets_repository' - The name of the repository that contains the package that contains the+-- requested package version assets.+--+-- 'format', 'listPackageVersionAssets_format' - The format of the package that contains the requested package version+-- assets.+--+-- 'package', 'listPackageVersionAssets_package' - The name of the package that contains the requested package version+-- assets.+--+-- 'packageVersion', 'listPackageVersionAssets_packageVersion' - A string that contains the package version (for example, @3.5.2@).+newListPackageVersionAssets ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  ListPackageVersionAssets+newListPackageVersionAssets+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pPackageVersion_ =+    ListPackageVersionAssets'+      { domainOwner =+          Prelude.Nothing,+        maxResults = Prelude.Nothing,+        namespace = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        packageVersion = pPackageVersion_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+listPackageVersionAssets_domainOwner :: Lens.Lens' ListPackageVersionAssets (Prelude.Maybe Prelude.Text)+listPackageVersionAssets_domainOwner = Lens.lens (\ListPackageVersionAssets' {domainOwner} -> domainOwner) (\s@ListPackageVersionAssets' {} a -> s {domainOwner = a} :: ListPackageVersionAssets)++-- | The maximum number of results to return per page.+listPackageVersionAssets_maxResults :: Lens.Lens' ListPackageVersionAssets (Prelude.Maybe Prelude.Natural)+listPackageVersionAssets_maxResults = Lens.lens (\ListPackageVersionAssets' {maxResults} -> maxResults) (\s@ListPackageVersionAssets' {} a -> s {maxResults = a} :: ListPackageVersionAssets)++-- | The namespace of the package version that contains the requested package+-- version assets. The package version component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+listPackageVersionAssets_namespace :: Lens.Lens' ListPackageVersionAssets (Prelude.Maybe Prelude.Text)+listPackageVersionAssets_namespace = Lens.lens (\ListPackageVersionAssets' {namespace} -> namespace) (\s@ListPackageVersionAssets' {} a -> s {namespace = a} :: ListPackageVersionAssets)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listPackageVersionAssets_nextToken :: Lens.Lens' ListPackageVersionAssets (Prelude.Maybe Prelude.Text)+listPackageVersionAssets_nextToken = Lens.lens (\ListPackageVersionAssets' {nextToken} -> nextToken) (\s@ListPackageVersionAssets' {} a -> s {nextToken = a} :: ListPackageVersionAssets)++-- | The name of the domain that contains the repository associated with the+-- package version assets.+listPackageVersionAssets_domain :: Lens.Lens' ListPackageVersionAssets Prelude.Text+listPackageVersionAssets_domain = Lens.lens (\ListPackageVersionAssets' {domain} -> domain) (\s@ListPackageVersionAssets' {} a -> s {domain = a} :: ListPackageVersionAssets)++-- | The name of the repository that contains the package that contains the+-- requested package version assets.+listPackageVersionAssets_repository :: Lens.Lens' ListPackageVersionAssets Prelude.Text+listPackageVersionAssets_repository = Lens.lens (\ListPackageVersionAssets' {repository} -> repository) (\s@ListPackageVersionAssets' {} a -> s {repository = a} :: ListPackageVersionAssets)++-- | The format of the package that contains the requested package version+-- assets.+listPackageVersionAssets_format :: Lens.Lens' ListPackageVersionAssets PackageFormat+listPackageVersionAssets_format = Lens.lens (\ListPackageVersionAssets' {format} -> format) (\s@ListPackageVersionAssets' {} a -> s {format = a} :: ListPackageVersionAssets)++-- | The name of the package that contains the requested package version+-- assets.+listPackageVersionAssets_package :: Lens.Lens' ListPackageVersionAssets Prelude.Text+listPackageVersionAssets_package = Lens.lens (\ListPackageVersionAssets' {package} -> package) (\s@ListPackageVersionAssets' {} a -> s {package = a} :: ListPackageVersionAssets)++-- | A string that contains the package version (for example, @3.5.2@).+listPackageVersionAssets_packageVersion :: Lens.Lens' ListPackageVersionAssets Prelude.Text+listPackageVersionAssets_packageVersion = Lens.lens (\ListPackageVersionAssets' {packageVersion} -> packageVersion) (\s@ListPackageVersionAssets' {} a -> s {packageVersion = a} :: ListPackageVersionAssets)++instance Core.AWSPager ListPackageVersionAssets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPackageVersionAssetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPackageVersionAssetsResponse_assets+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPackageVersionAssets_nextToken+          Lens..~ rs+          Lens.^? listPackageVersionAssetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPackageVersionAssets where+  type+    AWSResponse ListPackageVersionAssets =+      ListPackageVersionAssetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackageVersionAssetsResponse'+            Prelude.<$> (x Data..?> "assets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "format")+            Prelude.<*> (x Data..?> "namespace")+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "package")+            Prelude.<*> (x Data..?> "version")+            Prelude.<*> (x Data..?> "versionRevision")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPackageVersionAssets where+  hashWithSalt _salt ListPackageVersionAssets' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` packageVersion++instance Prelude.NFData ListPackageVersionAssets where+  rnf ListPackageVersionAssets' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf packageVersion++instance Data.ToHeaders ListPackageVersionAssets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPackageVersionAssets where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListPackageVersionAssets where+  toPath = Prelude.const "/v1/package/version/assets"++instance Data.ToQuery ListPackageVersionAssets where+  toQuery ListPackageVersionAssets' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "max-results" Data.=: maxResults,+        "namespace" Data.=: namespace,+        "next-token" Data.=: nextToken,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package,+        "version" Data.=: packageVersion+      ]++-- | /See:/ 'newListPackageVersionAssetsResponse' smart constructor.+data ListPackageVersionAssetsResponse = ListPackageVersionAssetsResponse'+  { -- | The returned list of+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html AssetSummary>+    -- objects.+    assets :: Prelude.Maybe [AssetSummary],+    -- | The format of the package that contains the requested package version+    -- assets.+    format :: Prelude.Maybe PackageFormat,+    -- | The namespace of the package version that contains the requested package+    -- version assets. The package version component that specifies its+    -- namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the package that contains the requested package version+    -- assets.+    package :: Prelude.Maybe Prelude.Text,+    -- | The version of the package associated with the requested assets.+    version :: Prelude.Maybe Prelude.Text,+    -- | The current revision associated with the package version.+    versionRevision :: 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 'ListPackageVersionAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assets', 'listPackageVersionAssetsResponse_assets' - The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html AssetSummary>+-- objects.+--+-- 'format', 'listPackageVersionAssetsResponse_format' - The format of the package that contains the requested package version+-- assets.+--+-- 'namespace', 'listPackageVersionAssetsResponse_namespace' - The namespace of the package version that contains the requested package+-- version assets. The package version component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'nextToken', 'listPackageVersionAssetsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'package', 'listPackageVersionAssetsResponse_package' - The name of the package that contains the requested package version+-- assets.+--+-- 'version', 'listPackageVersionAssetsResponse_version' - The version of the package associated with the requested assets.+--+-- 'versionRevision', 'listPackageVersionAssetsResponse_versionRevision' - The current revision associated with the package version.+--+-- 'httpStatus', 'listPackageVersionAssetsResponse_httpStatus' - The response's http status code.+newListPackageVersionAssetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackageVersionAssetsResponse+newListPackageVersionAssetsResponse pHttpStatus_ =+  ListPackageVersionAssetsResponse'+    { assets =+        Prelude.Nothing,+      format = Prelude.Nothing,+      namespace = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      package = Prelude.Nothing,+      version = Prelude.Nothing,+      versionRevision = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html AssetSummary>+-- objects.+listPackageVersionAssetsResponse_assets :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe [AssetSummary])+listPackageVersionAssetsResponse_assets = Lens.lens (\ListPackageVersionAssetsResponse' {assets} -> assets) (\s@ListPackageVersionAssetsResponse' {} a -> s {assets = a} :: ListPackageVersionAssetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The format of the package that contains the requested package version+-- assets.+listPackageVersionAssetsResponse_format :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe PackageFormat)+listPackageVersionAssetsResponse_format = Lens.lens (\ListPackageVersionAssetsResponse' {format} -> format) (\s@ListPackageVersionAssetsResponse' {} a -> s {format = a} :: ListPackageVersionAssetsResponse)++-- | The namespace of the package version that contains the requested package+-- version assets. The package version component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+listPackageVersionAssetsResponse_namespace :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionAssetsResponse_namespace = Lens.lens (\ListPackageVersionAssetsResponse' {namespace} -> namespace) (\s@ListPackageVersionAssetsResponse' {} a -> s {namespace = a} :: ListPackageVersionAssetsResponse)++-- | If there are additional results, this is the token for the next set of+-- results.+listPackageVersionAssetsResponse_nextToken :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionAssetsResponse_nextToken = Lens.lens (\ListPackageVersionAssetsResponse' {nextToken} -> nextToken) (\s@ListPackageVersionAssetsResponse' {} a -> s {nextToken = a} :: ListPackageVersionAssetsResponse)++-- | The name of the package that contains the requested package version+-- assets.+listPackageVersionAssetsResponse_package :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionAssetsResponse_package = Lens.lens (\ListPackageVersionAssetsResponse' {package} -> package) (\s@ListPackageVersionAssetsResponse' {} a -> s {package = a} :: ListPackageVersionAssetsResponse)++-- | The version of the package associated with the requested assets.+listPackageVersionAssetsResponse_version :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionAssetsResponse_version = Lens.lens (\ListPackageVersionAssetsResponse' {version} -> version) (\s@ListPackageVersionAssetsResponse' {} a -> s {version = a} :: ListPackageVersionAssetsResponse)++-- | The current revision associated with the package version.+listPackageVersionAssetsResponse_versionRevision :: Lens.Lens' ListPackageVersionAssetsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionAssetsResponse_versionRevision = Lens.lens (\ListPackageVersionAssetsResponse' {versionRevision} -> versionRevision) (\s@ListPackageVersionAssetsResponse' {} a -> s {versionRevision = a} :: ListPackageVersionAssetsResponse)++-- | The response's http status code.+listPackageVersionAssetsResponse_httpStatus :: Lens.Lens' ListPackageVersionAssetsResponse Prelude.Int+listPackageVersionAssetsResponse_httpStatus = Lens.lens (\ListPackageVersionAssetsResponse' {httpStatus} -> httpStatus) (\s@ListPackageVersionAssetsResponse' {} a -> s {httpStatus = a} :: ListPackageVersionAssetsResponse)++instance+  Prelude.NFData+    ListPackageVersionAssetsResponse+  where+  rnf ListPackageVersionAssetsResponse' {..} =+    Prelude.rnf assets+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf versionRevision+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListPackageVersionDependencies.hs view
@@ -0,0 +1,460 @@+{-# 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.CodeArtifact.ListPackageVersionDependencies+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the direct dependencies for a package version. The dependencies+-- are returned as+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html PackageDependency>+-- objects. CodeArtifact extracts the dependencies for a package version+-- from the metadata file for the package format (for example, the+-- @package.json@ file for npm packages and the @pom.xml@ file for Maven).+-- Any package version dependencies that are not listed in the+-- configuration file are not returned.+module Amazonka.CodeArtifact.ListPackageVersionDependencies+  ( -- * Creating a Request+    ListPackageVersionDependencies (..),+    newListPackageVersionDependencies,++    -- * Request Lenses+    listPackageVersionDependencies_domainOwner,+    listPackageVersionDependencies_namespace,+    listPackageVersionDependencies_nextToken,+    listPackageVersionDependencies_domain,+    listPackageVersionDependencies_repository,+    listPackageVersionDependencies_format,+    listPackageVersionDependencies_package,+    listPackageVersionDependencies_packageVersion,++    -- * Destructuring the Response+    ListPackageVersionDependenciesResponse (..),+    newListPackageVersionDependenciesResponse,++    -- * Response Lenses+    listPackageVersionDependenciesResponse_dependencies,+    listPackageVersionDependenciesResponse_format,+    listPackageVersionDependenciesResponse_namespace,+    listPackageVersionDependenciesResponse_nextToken,+    listPackageVersionDependenciesResponse_package,+    listPackageVersionDependenciesResponse_version,+    listPackageVersionDependenciesResponse_versionRevision,+    listPackageVersionDependenciesResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackageVersionDependencies' smart constructor.+data ListPackageVersionDependencies = ListPackageVersionDependencies'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package version with the requested dependencies.+    -- The package version component that specifies its namespace depends on+    -- its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- requested package version dependencies.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the requested package version.+    repository :: Prelude.Text,+    -- | The format of the package with the requested dependencies.+    format :: PackageFormat,+    -- | The name of the package versions\' package.+    package :: Prelude.Text,+    -- | A string that contains the package version (for example, @3.5.2@).+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageVersionDependencies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'listPackageVersionDependencies_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'listPackageVersionDependencies_namespace' - The namespace of the package version with the requested dependencies.+-- The package version component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'nextToken', 'listPackageVersionDependencies_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'domain', 'listPackageVersionDependencies_domain' - The name of the domain that contains the repository that contains the+-- requested package version dependencies.+--+-- 'repository', 'listPackageVersionDependencies_repository' - The name of the repository that contains the requested package version.+--+-- 'format', 'listPackageVersionDependencies_format' - The format of the package with the requested dependencies.+--+-- 'package', 'listPackageVersionDependencies_package' - The name of the package versions\' package.+--+-- 'packageVersion', 'listPackageVersionDependencies_packageVersion' - A string that contains the package version (for example, @3.5.2@).+newListPackageVersionDependencies ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  ListPackageVersionDependencies+newListPackageVersionDependencies+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pPackageVersion_ =+    ListPackageVersionDependencies'+      { domainOwner =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        packageVersion = pPackageVersion_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+listPackageVersionDependencies_domainOwner :: Lens.Lens' ListPackageVersionDependencies (Prelude.Maybe Prelude.Text)+listPackageVersionDependencies_domainOwner = Lens.lens (\ListPackageVersionDependencies' {domainOwner} -> domainOwner) (\s@ListPackageVersionDependencies' {} a -> s {domainOwner = a} :: ListPackageVersionDependencies)++-- | The namespace of the package version with the requested dependencies.+-- The package version component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+listPackageVersionDependencies_namespace :: Lens.Lens' ListPackageVersionDependencies (Prelude.Maybe Prelude.Text)+listPackageVersionDependencies_namespace = Lens.lens (\ListPackageVersionDependencies' {namespace} -> namespace) (\s@ListPackageVersionDependencies' {} a -> s {namespace = a} :: ListPackageVersionDependencies)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listPackageVersionDependencies_nextToken :: Lens.Lens' ListPackageVersionDependencies (Prelude.Maybe Prelude.Text)+listPackageVersionDependencies_nextToken = Lens.lens (\ListPackageVersionDependencies' {nextToken} -> nextToken) (\s@ListPackageVersionDependencies' {} a -> s {nextToken = a} :: ListPackageVersionDependencies)++-- | The name of the domain that contains the repository that contains the+-- requested package version dependencies.+listPackageVersionDependencies_domain :: Lens.Lens' ListPackageVersionDependencies Prelude.Text+listPackageVersionDependencies_domain = Lens.lens (\ListPackageVersionDependencies' {domain} -> domain) (\s@ListPackageVersionDependencies' {} a -> s {domain = a} :: ListPackageVersionDependencies)++-- | The name of the repository that contains the requested package version.+listPackageVersionDependencies_repository :: Lens.Lens' ListPackageVersionDependencies Prelude.Text+listPackageVersionDependencies_repository = Lens.lens (\ListPackageVersionDependencies' {repository} -> repository) (\s@ListPackageVersionDependencies' {} a -> s {repository = a} :: ListPackageVersionDependencies)++-- | The format of the package with the requested dependencies.+listPackageVersionDependencies_format :: Lens.Lens' ListPackageVersionDependencies PackageFormat+listPackageVersionDependencies_format = Lens.lens (\ListPackageVersionDependencies' {format} -> format) (\s@ListPackageVersionDependencies' {} a -> s {format = a} :: ListPackageVersionDependencies)++-- | The name of the package versions\' package.+listPackageVersionDependencies_package :: Lens.Lens' ListPackageVersionDependencies Prelude.Text+listPackageVersionDependencies_package = Lens.lens (\ListPackageVersionDependencies' {package} -> package) (\s@ListPackageVersionDependencies' {} a -> s {package = a} :: ListPackageVersionDependencies)++-- | A string that contains the package version (for example, @3.5.2@).+listPackageVersionDependencies_packageVersion :: Lens.Lens' ListPackageVersionDependencies Prelude.Text+listPackageVersionDependencies_packageVersion = Lens.lens (\ListPackageVersionDependencies' {packageVersion} -> packageVersion) (\s@ListPackageVersionDependencies' {} a -> s {packageVersion = a} :: ListPackageVersionDependencies)++instance+  Core.AWSRequest+    ListPackageVersionDependencies+  where+  type+    AWSResponse ListPackageVersionDependencies =+      ListPackageVersionDependenciesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackageVersionDependenciesResponse'+            Prelude.<$> (x Data..?> "dependencies" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "format")+            Prelude.<*> (x Data..?> "namespace")+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "package")+            Prelude.<*> (x Data..?> "version")+            Prelude.<*> (x Data..?> "versionRevision")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListPackageVersionDependencies+  where+  hashWithSalt+    _salt+    ListPackageVersionDependencies' {..} =+      _salt+        `Prelude.hashWithSalt` domainOwner+        `Prelude.hashWithSalt` namespace+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` domain+        `Prelude.hashWithSalt` repository+        `Prelude.hashWithSalt` format+        `Prelude.hashWithSalt` package+        `Prelude.hashWithSalt` packageVersion++instance+  Prelude.NFData+    ListPackageVersionDependencies+  where+  rnf ListPackageVersionDependencies' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf packageVersion++instance+  Data.ToHeaders+    ListPackageVersionDependencies+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPackageVersionDependencies where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListPackageVersionDependencies where+  toPath =+    Prelude.const "/v1/package/version/dependencies"++instance Data.ToQuery ListPackageVersionDependencies where+  toQuery ListPackageVersionDependencies' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "next-token" Data.=: nextToken,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package,+        "version" Data.=: packageVersion+      ]++-- | /See:/ 'newListPackageVersionDependenciesResponse' smart constructor.+data ListPackageVersionDependenciesResponse = ListPackageVersionDependenciesResponse'+  { -- | The returned list of+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html PackageDependency>+    -- objects.+    dependencies :: Prelude.Maybe [PackageDependency],+    -- | A format that specifies the type of the package that contains the+    -- returned dependencies.+    format :: Prelude.Maybe PackageFormat,+    -- | The namespace of the package version that contains the returned+    -- dependencies. The package version component that specifies its namespace+    -- depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the package that contains the returned package versions+    -- dependencies.+    package :: Prelude.Maybe Prelude.Text,+    -- | The version of the package that is specified in the request.+    version :: Prelude.Maybe Prelude.Text,+    -- | The current revision associated with the package version.+    versionRevision :: 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 'ListPackageVersionDependenciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dependencies', 'listPackageVersionDependenciesResponse_dependencies' - The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html PackageDependency>+-- objects.+--+-- 'format', 'listPackageVersionDependenciesResponse_format' - A format that specifies the type of the package that contains the+-- returned dependencies.+--+-- 'namespace', 'listPackageVersionDependenciesResponse_namespace' - The namespace of the package version that contains the returned+-- dependencies. The package version component that specifies its namespace+-- depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'nextToken', 'listPackageVersionDependenciesResponse_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'package', 'listPackageVersionDependenciesResponse_package' - The name of the package that contains the returned package versions+-- dependencies.+--+-- 'version', 'listPackageVersionDependenciesResponse_version' - The version of the package that is specified in the request.+--+-- 'versionRevision', 'listPackageVersionDependenciesResponse_versionRevision' - The current revision associated with the package version.+--+-- 'httpStatus', 'listPackageVersionDependenciesResponse_httpStatus' - The response's http status code.+newListPackageVersionDependenciesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackageVersionDependenciesResponse+newListPackageVersionDependenciesResponse+  pHttpStatus_ =+    ListPackageVersionDependenciesResponse'+      { dependencies =+          Prelude.Nothing,+        format = Prelude.Nothing,+        namespace = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        package = Prelude.Nothing,+        version = Prelude.Nothing,+        versionRevision = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html PackageDependency>+-- objects.+listPackageVersionDependenciesResponse_dependencies :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe [PackageDependency])+listPackageVersionDependenciesResponse_dependencies = Lens.lens (\ListPackageVersionDependenciesResponse' {dependencies} -> dependencies) (\s@ListPackageVersionDependenciesResponse' {} a -> s {dependencies = a} :: ListPackageVersionDependenciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A format that specifies the type of the package that contains the+-- returned dependencies.+listPackageVersionDependenciesResponse_format :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe PackageFormat)+listPackageVersionDependenciesResponse_format = Lens.lens (\ListPackageVersionDependenciesResponse' {format} -> format) (\s@ListPackageVersionDependenciesResponse' {} a -> s {format = a} :: ListPackageVersionDependenciesResponse)++-- | The namespace of the package version that contains the returned+-- dependencies. The package version component that specifies its namespace+-- depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+listPackageVersionDependenciesResponse_namespace :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe Prelude.Text)+listPackageVersionDependenciesResponse_namespace = Lens.lens (\ListPackageVersionDependenciesResponse' {namespace} -> namespace) (\s@ListPackageVersionDependenciesResponse' {} a -> s {namespace = a} :: ListPackageVersionDependenciesResponse)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listPackageVersionDependenciesResponse_nextToken :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe Prelude.Text)+listPackageVersionDependenciesResponse_nextToken = Lens.lens (\ListPackageVersionDependenciesResponse' {nextToken} -> nextToken) (\s@ListPackageVersionDependenciesResponse' {} a -> s {nextToken = a} :: ListPackageVersionDependenciesResponse)++-- | The name of the package that contains the returned package versions+-- dependencies.+listPackageVersionDependenciesResponse_package :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe Prelude.Text)+listPackageVersionDependenciesResponse_package = Lens.lens (\ListPackageVersionDependenciesResponse' {package} -> package) (\s@ListPackageVersionDependenciesResponse' {} a -> s {package = a} :: ListPackageVersionDependenciesResponse)++-- | The version of the package that is specified in the request.+listPackageVersionDependenciesResponse_version :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe Prelude.Text)+listPackageVersionDependenciesResponse_version = Lens.lens (\ListPackageVersionDependenciesResponse' {version} -> version) (\s@ListPackageVersionDependenciesResponse' {} a -> s {version = a} :: ListPackageVersionDependenciesResponse)++-- | The current revision associated with the package version.+listPackageVersionDependenciesResponse_versionRevision :: Lens.Lens' ListPackageVersionDependenciesResponse (Prelude.Maybe Prelude.Text)+listPackageVersionDependenciesResponse_versionRevision = Lens.lens (\ListPackageVersionDependenciesResponse' {versionRevision} -> versionRevision) (\s@ListPackageVersionDependenciesResponse' {} a -> s {versionRevision = a} :: ListPackageVersionDependenciesResponse)++-- | The response's http status code.+listPackageVersionDependenciesResponse_httpStatus :: Lens.Lens' ListPackageVersionDependenciesResponse Prelude.Int+listPackageVersionDependenciesResponse_httpStatus = Lens.lens (\ListPackageVersionDependenciesResponse' {httpStatus} -> httpStatus) (\s@ListPackageVersionDependenciesResponse' {} a -> s {httpStatus = a} :: ListPackageVersionDependenciesResponse)++instance+  Prelude.NFData+    ListPackageVersionDependenciesResponse+  where+  rnf ListPackageVersionDependenciesResponse' {..} =+    Prelude.rnf dependencies+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf versionRevision+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListPackageVersions.hs view
@@ -0,0 +1,496 @@+{-# 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.CodeArtifact.ListPackageVersions+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html PackageVersionSummary>+-- objects for package versions in a repository that match the request+-- parameters.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListPackageVersions+  ( -- * Creating a Request+    ListPackageVersions (..),+    newListPackageVersions,++    -- * Request Lenses+    listPackageVersions_domainOwner,+    listPackageVersions_maxResults,+    listPackageVersions_namespace,+    listPackageVersions_nextToken,+    listPackageVersions_originType,+    listPackageVersions_sortBy,+    listPackageVersions_status,+    listPackageVersions_domain,+    listPackageVersions_repository,+    listPackageVersions_format,+    listPackageVersions_package,++    -- * Destructuring the Response+    ListPackageVersionsResponse (..),+    newListPackageVersionsResponse,++    -- * Response Lenses+    listPackageVersionsResponse_defaultDisplayVersion,+    listPackageVersionsResponse_format,+    listPackageVersionsResponse_namespace,+    listPackageVersionsResponse_nextToken,+    listPackageVersionsResponse_package,+    listPackageVersionsResponse_versions,+    listPackageVersionsResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackageVersions' smart constructor.+data ListPackageVersions = ListPackageVersions'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The namespace of the package that contains the requested package+    -- versions. The package component that specifies its namespace depends on+    -- its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The @originType@ used to filter package versions. Only package versions+    -- with the provided @originType@ will be returned.+    originType :: Prelude.Maybe PackageVersionOriginType,+    -- | How to sort the requested list of package versions.+    sortBy :: Prelude.Maybe PackageVersionSortType,+    -- | A string that filters the requested package versions by status.+    status :: Prelude.Maybe PackageVersionStatus,+    -- | The name of the domain that contains the repository that contains the+    -- requested package versions.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the requested package versions.+    repository :: Prelude.Text,+    -- | The format of the returned package versions.+    format :: PackageFormat,+    -- | The name of the package for which you want to request package versions.+    package :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'listPackageVersions_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'maxResults', 'listPackageVersions_maxResults' - The maximum number of results to return per page.+--+-- 'namespace', 'listPackageVersions_namespace' - The namespace of the package that contains the requested package+-- versions. The package component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'nextToken', 'listPackageVersions_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'originType', 'listPackageVersions_originType' - The @originType@ used to filter package versions. Only package versions+-- with the provided @originType@ will be returned.+--+-- 'sortBy', 'listPackageVersions_sortBy' - How to sort the requested list of package versions.+--+-- 'status', 'listPackageVersions_status' - A string that filters the requested package versions by status.+--+-- 'domain', 'listPackageVersions_domain' - The name of the domain that contains the repository that contains the+-- requested package versions.+--+-- 'repository', 'listPackageVersions_repository' - The name of the repository that contains the requested package versions.+--+-- 'format', 'listPackageVersions_format' - The format of the returned package versions.+--+-- 'package', 'listPackageVersions_package' - The name of the package for which you want to request package versions.+newListPackageVersions ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  ListPackageVersions+newListPackageVersions+  pDomain_+  pRepository_+  pFormat_+  pPackage_ =+    ListPackageVersions'+      { domainOwner = Prelude.Nothing,+        maxResults = Prelude.Nothing,+        namespace = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        originType = Prelude.Nothing,+        sortBy = Prelude.Nothing,+        status = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+listPackageVersions_domainOwner :: Lens.Lens' ListPackageVersions (Prelude.Maybe Prelude.Text)+listPackageVersions_domainOwner = Lens.lens (\ListPackageVersions' {domainOwner} -> domainOwner) (\s@ListPackageVersions' {} a -> s {domainOwner = a} :: ListPackageVersions)++-- | The maximum number of results to return per page.+listPackageVersions_maxResults :: Lens.Lens' ListPackageVersions (Prelude.Maybe Prelude.Natural)+listPackageVersions_maxResults = Lens.lens (\ListPackageVersions' {maxResults} -> maxResults) (\s@ListPackageVersions' {} a -> s {maxResults = a} :: ListPackageVersions)++-- | The namespace of the package that contains the requested package+-- versions. The package component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+listPackageVersions_namespace :: Lens.Lens' ListPackageVersions (Prelude.Maybe Prelude.Text)+listPackageVersions_namespace = Lens.lens (\ListPackageVersions' {namespace} -> namespace) (\s@ListPackageVersions' {} a -> s {namespace = a} :: ListPackageVersions)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listPackageVersions_nextToken :: Lens.Lens' ListPackageVersions (Prelude.Maybe Prelude.Text)+listPackageVersions_nextToken = Lens.lens (\ListPackageVersions' {nextToken} -> nextToken) (\s@ListPackageVersions' {} a -> s {nextToken = a} :: ListPackageVersions)++-- | The @originType@ used to filter package versions. Only package versions+-- with the provided @originType@ will be returned.+listPackageVersions_originType :: Lens.Lens' ListPackageVersions (Prelude.Maybe PackageVersionOriginType)+listPackageVersions_originType = Lens.lens (\ListPackageVersions' {originType} -> originType) (\s@ListPackageVersions' {} a -> s {originType = a} :: ListPackageVersions)++-- | How to sort the requested list of package versions.+listPackageVersions_sortBy :: Lens.Lens' ListPackageVersions (Prelude.Maybe PackageVersionSortType)+listPackageVersions_sortBy = Lens.lens (\ListPackageVersions' {sortBy} -> sortBy) (\s@ListPackageVersions' {} a -> s {sortBy = a} :: ListPackageVersions)++-- | A string that filters the requested package versions by status.+listPackageVersions_status :: Lens.Lens' ListPackageVersions (Prelude.Maybe PackageVersionStatus)+listPackageVersions_status = Lens.lens (\ListPackageVersions' {status} -> status) (\s@ListPackageVersions' {} a -> s {status = a} :: ListPackageVersions)++-- | The name of the domain that contains the repository that contains the+-- requested package versions.+listPackageVersions_domain :: Lens.Lens' ListPackageVersions Prelude.Text+listPackageVersions_domain = Lens.lens (\ListPackageVersions' {domain} -> domain) (\s@ListPackageVersions' {} a -> s {domain = a} :: ListPackageVersions)++-- | The name of the repository that contains the requested package versions.+listPackageVersions_repository :: Lens.Lens' ListPackageVersions Prelude.Text+listPackageVersions_repository = Lens.lens (\ListPackageVersions' {repository} -> repository) (\s@ListPackageVersions' {} a -> s {repository = a} :: ListPackageVersions)++-- | The format of the returned package versions.+listPackageVersions_format :: Lens.Lens' ListPackageVersions PackageFormat+listPackageVersions_format = Lens.lens (\ListPackageVersions' {format} -> format) (\s@ListPackageVersions' {} a -> s {format = a} :: ListPackageVersions)++-- | The name of the package for which you want to request package versions.+listPackageVersions_package :: Lens.Lens' ListPackageVersions Prelude.Text+listPackageVersions_package = Lens.lens (\ListPackageVersions' {package} -> package) (\s@ListPackageVersions' {} a -> s {package = a} :: ListPackageVersions)++instance Core.AWSPager ListPackageVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPackageVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPackageVersionsResponse_versions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPackageVersions_nextToken+          Lens..~ rs+          Lens.^? listPackageVersionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPackageVersions where+  type+    AWSResponse ListPackageVersions =+      ListPackageVersionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackageVersionsResponse'+            Prelude.<$> (x Data..?> "defaultDisplayVersion")+            Prelude.<*> (x Data..?> "format")+            Prelude.<*> (x Data..?> "namespace")+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "package")+            Prelude.<*> (x Data..?> "versions" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPackageVersions where+  hashWithSalt _salt ListPackageVersions' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` originType+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package++instance Prelude.NFData ListPackageVersions where+  rnf ListPackageVersions' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf originType+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package++instance Data.ToHeaders ListPackageVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPackageVersions where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListPackageVersions where+  toPath = Prelude.const "/v1/package/versions"++instance Data.ToQuery ListPackageVersions where+  toQuery ListPackageVersions' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "max-results" Data.=: maxResults,+        "namespace" Data.=: namespace,+        "next-token" Data.=: nextToken,+        "originType" Data.=: originType,+        "sortBy" Data.=: sortBy,+        "status" Data.=: status,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newListPackageVersionsResponse' smart constructor.+data ListPackageVersionsResponse = ListPackageVersionsResponse'+  { -- | The default package version to display. This depends on the package+    -- format:+    --+    -- -   For Maven and PyPI packages, it\'s the most recently published+    --     package version.+    --+    -- -   For npm packages, it\'s the version referenced by the @latest@ tag.+    --     If the @latest@ tag is not set, it\'s the most recently published+    --     package version.+    defaultDisplayVersion :: Prelude.Maybe Prelude.Text,+    -- | A format of the package.+    format :: Prelude.Maybe PackageFormat,+    -- | The namespace of the package that contains the requested package+    -- versions. The package component that specifies its namespace depends on+    -- its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the package.+    package :: Prelude.Maybe Prelude.Text,+    -- | The returned list of+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html PackageVersionSummary>+    -- objects.+    versions :: Prelude.Maybe [PackageVersionSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultDisplayVersion', 'listPackageVersionsResponse_defaultDisplayVersion' - The default package version to display. This depends on the package+-- format:+--+-- -   For Maven and PyPI packages, it\'s the most recently published+--     package version.+--+-- -   For npm packages, it\'s the version referenced by the @latest@ tag.+--     If the @latest@ tag is not set, it\'s the most recently published+--     package version.+--+-- 'format', 'listPackageVersionsResponse_format' - A format of the package.+--+-- 'namespace', 'listPackageVersionsResponse_namespace' - The namespace of the package that contains the requested package+-- versions. The package component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'nextToken', 'listPackageVersionsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'package', 'listPackageVersionsResponse_package' - The name of the package.+--+-- 'versions', 'listPackageVersionsResponse_versions' - The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html PackageVersionSummary>+-- objects.+--+-- 'httpStatus', 'listPackageVersionsResponse_httpStatus' - The response's http status code.+newListPackageVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackageVersionsResponse+newListPackageVersionsResponse pHttpStatus_ =+  ListPackageVersionsResponse'+    { defaultDisplayVersion =+        Prelude.Nothing,+      format = Prelude.Nothing,+      namespace = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      package = Prelude.Nothing,+      versions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The default package version to display. This depends on the package+-- format:+--+-- -   For Maven and PyPI packages, it\'s the most recently published+--     package version.+--+-- -   For npm packages, it\'s the version referenced by the @latest@ tag.+--     If the @latest@ tag is not set, it\'s the most recently published+--     package version.+listPackageVersionsResponse_defaultDisplayVersion :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionsResponse_defaultDisplayVersion = Lens.lens (\ListPackageVersionsResponse' {defaultDisplayVersion} -> defaultDisplayVersion) (\s@ListPackageVersionsResponse' {} a -> s {defaultDisplayVersion = a} :: ListPackageVersionsResponse)++-- | A format of the package.+listPackageVersionsResponse_format :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe PackageFormat)+listPackageVersionsResponse_format = Lens.lens (\ListPackageVersionsResponse' {format} -> format) (\s@ListPackageVersionsResponse' {} a -> s {format = a} :: ListPackageVersionsResponse)++-- | The namespace of the package that contains the requested package+-- versions. The package component that specifies its namespace depends on+-- its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+listPackageVersionsResponse_namespace :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionsResponse_namespace = Lens.lens (\ListPackageVersionsResponse' {namespace} -> namespace) (\s@ListPackageVersionsResponse' {} a -> s {namespace = a} :: ListPackageVersionsResponse)++-- | If there are additional results, this is the token for the next set of+-- results.+listPackageVersionsResponse_nextToken :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionsResponse_nextToken = Lens.lens (\ListPackageVersionsResponse' {nextToken} -> nextToken) (\s@ListPackageVersionsResponse' {} a -> s {nextToken = a} :: ListPackageVersionsResponse)++-- | The name of the package.+listPackageVersionsResponse_package :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe Prelude.Text)+listPackageVersionsResponse_package = Lens.lens (\ListPackageVersionsResponse' {package} -> package) (\s@ListPackageVersionsResponse' {} a -> s {package = a} :: ListPackageVersionsResponse)++-- | The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html PackageVersionSummary>+-- objects.+listPackageVersionsResponse_versions :: Lens.Lens' ListPackageVersionsResponse (Prelude.Maybe [PackageVersionSummary])+listPackageVersionsResponse_versions = Lens.lens (\ListPackageVersionsResponse' {versions} -> versions) (\s@ListPackageVersionsResponse' {} a -> s {versions = a} :: ListPackageVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPackageVersionsResponse_httpStatus :: Lens.Lens' ListPackageVersionsResponse Prelude.Int+listPackageVersionsResponse_httpStatus = Lens.lens (\ListPackageVersionsResponse' {httpStatus} -> httpStatus) (\s@ListPackageVersionsResponse' {} a -> s {httpStatus = a} :: ListPackageVersionsResponse)++instance Prelude.NFData ListPackageVersionsResponse where+  rnf ListPackageVersionsResponse' {..} =+    Prelude.rnf defaultDisplayVersion+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf versions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListPackages.hs view
@@ -0,0 +1,393 @@+{-# 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.CodeArtifact.ListPackages+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html PackageSummary>+-- objects for packages in a repository that match the request parameters.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListPackages+  ( -- * Creating a Request+    ListPackages (..),+    newListPackages,++    -- * Request Lenses+    listPackages_domainOwner,+    listPackages_format,+    listPackages_maxResults,+    listPackages_namespace,+    listPackages_nextToken,+    listPackages_packagePrefix,+    listPackages_publish,+    listPackages_upstream,+    listPackages_domain,+    listPackages_repository,++    -- * Destructuring the Response+    ListPackagesResponse (..),+    newListPackagesResponse,++    -- * Response Lenses+    listPackagesResponse_nextToken,+    listPackagesResponse_packages,+    listPackagesResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackages' smart constructor.+data ListPackages = ListPackages'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The format used to filter requested packages. Only packages from the+    -- provided format will be returned.+    format :: Prelude.Maybe PackageFormat,+    -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The namespace used to filter requested packages. Only packages with the+    -- provided namespace will be returned. The package component that+    -- specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A prefix used to filter requested packages. Only packages with names+    -- that start with @packagePrefix@ are returned.+    packagePrefix :: Prelude.Maybe Prelude.Text,+    -- | The value of the @Publish@ package origin control restriction used to+    -- filter requested packages. Only packages with the provided restriction+    -- are returned. For more information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+    publish :: Prelude.Maybe AllowPublish,+    -- | The value of the @Upstream@ package origin control restriction used to+    -- filter requested packages. Only packages with the provided restriction+    -- are returned. For more information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+    upstream :: Prelude.Maybe AllowUpstream,+    -- | The name of the domain that contains the repository that contains the+    -- requested packages.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the requested packages.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'listPackages_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'format', 'listPackages_format' - The format used to filter requested packages. Only packages from the+-- provided format will be returned.+--+-- 'maxResults', 'listPackages_maxResults' - The maximum number of results to return per page.+--+-- 'namespace', 'listPackages_namespace' - The namespace used to filter requested packages. Only packages with the+-- provided namespace will be returned. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'nextToken', 'listPackages_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'packagePrefix', 'listPackages_packagePrefix' - A prefix used to filter requested packages. Only packages with names+-- that start with @packagePrefix@ are returned.+--+-- 'publish', 'listPackages_publish' - The value of the @Publish@ package origin control restriction used to+-- filter requested packages. Only packages with the provided restriction+-- are returned. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+--+-- 'upstream', 'listPackages_upstream' - The value of the @Upstream@ package origin control restriction used to+-- filter requested packages. Only packages with the provided restriction+-- are returned. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+--+-- 'domain', 'listPackages_domain' - The name of the domain that contains the repository that contains the+-- requested packages.+--+-- 'repository', 'listPackages_repository' - The name of the repository that contains the requested packages.+newListPackages ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  ListPackages+newListPackages pDomain_ pRepository_ =+  ListPackages'+    { domainOwner = Prelude.Nothing,+      format = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      namespace = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      packagePrefix = Prelude.Nothing,+      publish = Prelude.Nothing,+      upstream = Prelude.Nothing,+      domain = pDomain_,+      repository = pRepository_+    }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+listPackages_domainOwner :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Text)+listPackages_domainOwner = Lens.lens (\ListPackages' {domainOwner} -> domainOwner) (\s@ListPackages' {} a -> s {domainOwner = a} :: ListPackages)++-- | The format used to filter requested packages. Only packages from the+-- provided format will be returned.+listPackages_format :: Lens.Lens' ListPackages (Prelude.Maybe PackageFormat)+listPackages_format = Lens.lens (\ListPackages' {format} -> format) (\s@ListPackages' {} a -> s {format = a} :: ListPackages)++-- | The maximum number of results to return per page.+listPackages_maxResults :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Natural)+listPackages_maxResults = Lens.lens (\ListPackages' {maxResults} -> maxResults) (\s@ListPackages' {} a -> s {maxResults = a} :: ListPackages)++-- | The namespace used to filter requested packages. Only packages with the+-- provided namespace will be returned. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+listPackages_namespace :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Text)+listPackages_namespace = Lens.lens (\ListPackages' {namespace} -> namespace) (\s@ListPackages' {} a -> s {namespace = a} :: ListPackages)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listPackages_nextToken :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Text)+listPackages_nextToken = Lens.lens (\ListPackages' {nextToken} -> nextToken) (\s@ListPackages' {} a -> s {nextToken = a} :: ListPackages)++-- | A prefix used to filter requested packages. Only packages with names+-- that start with @packagePrefix@ are returned.+listPackages_packagePrefix :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Text)+listPackages_packagePrefix = Lens.lens (\ListPackages' {packagePrefix} -> packagePrefix) (\s@ListPackages' {} a -> s {packagePrefix = a} :: ListPackages)++-- | The value of the @Publish@ package origin control restriction used to+-- filter requested packages. Only packages with the provided restriction+-- are returned. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+listPackages_publish :: Lens.Lens' ListPackages (Prelude.Maybe AllowPublish)+listPackages_publish = Lens.lens (\ListPackages' {publish} -> publish) (\s@ListPackages' {} a -> s {publish = a} :: ListPackages)++-- | The value of the @Upstream@ package origin control restriction used to+-- filter requested packages. Only packages with the provided restriction+-- are returned. For more information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>.+listPackages_upstream :: Lens.Lens' ListPackages (Prelude.Maybe AllowUpstream)+listPackages_upstream = Lens.lens (\ListPackages' {upstream} -> upstream) (\s@ListPackages' {} a -> s {upstream = a} :: ListPackages)++-- | The name of the domain that contains the repository that contains the+-- requested packages.+listPackages_domain :: Lens.Lens' ListPackages Prelude.Text+listPackages_domain = Lens.lens (\ListPackages' {domain} -> domain) (\s@ListPackages' {} a -> s {domain = a} :: ListPackages)++-- | The name of the repository that contains the requested packages.+listPackages_repository :: Lens.Lens' ListPackages Prelude.Text+listPackages_repository = Lens.lens (\ListPackages' {repository} -> repository) (\s@ListPackages' {} a -> s {repository = a} :: ListPackages)++instance Core.AWSPager ListPackages where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPackagesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPackagesResponse_packages+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPackages_nextToken+          Lens..~ rs+          Lens.^? listPackagesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPackages where+  type AWSResponse ListPackages = ListPackagesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackagesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "packages" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPackages where+  hashWithSalt _salt ListPackages' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` packagePrefix+      `Prelude.hashWithSalt` publish+      `Prelude.hashWithSalt` upstream+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository++instance Prelude.NFData ListPackages where+  rnf ListPackages' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf packagePrefix+      `Prelude.seq` Prelude.rnf publish+      `Prelude.seq` Prelude.rnf upstream+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance Data.ToHeaders ListPackages where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPackages where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListPackages where+  toPath = Prelude.const "/v1/packages"++instance Data.ToQuery ListPackages where+  toQuery ListPackages' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "format" Data.=: format,+        "max-results" Data.=: maxResults,+        "namespace" Data.=: namespace,+        "next-token" Data.=: nextToken,+        "package-prefix" Data.=: packagePrefix,+        "publish" Data.=: publish,+        "upstream" Data.=: upstream,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newListPackagesResponse' smart constructor.+data ListPackagesResponse = ListPackagesResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of returned+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html PackageSummary>+    -- objects.+    packages :: Prelude.Maybe [PackageSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPackagesResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'packages', 'listPackagesResponse_packages' - The list of returned+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html PackageSummary>+-- objects.+--+-- 'httpStatus', 'listPackagesResponse_httpStatus' - The response's http status code.+newListPackagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackagesResponse+newListPackagesResponse pHttpStatus_ =+  ListPackagesResponse'+    { nextToken = Prelude.Nothing,+      packages = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listPackagesResponse_nextToken :: Lens.Lens' ListPackagesResponse (Prelude.Maybe Prelude.Text)+listPackagesResponse_nextToken = Lens.lens (\ListPackagesResponse' {nextToken} -> nextToken) (\s@ListPackagesResponse' {} a -> s {nextToken = a} :: ListPackagesResponse)++-- | The list of returned+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html PackageSummary>+-- objects.+listPackagesResponse_packages :: Lens.Lens' ListPackagesResponse (Prelude.Maybe [PackageSummary])+listPackagesResponse_packages = Lens.lens (\ListPackagesResponse' {packages} -> packages) (\s@ListPackagesResponse' {} a -> s {packages = a} :: ListPackagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPackagesResponse_httpStatus :: Lens.Lens' ListPackagesResponse Prelude.Int+listPackagesResponse_httpStatus = Lens.lens (\ListPackagesResponse' {httpStatus} -> httpStatus) (\s@ListPackagesResponse' {} a -> s {httpStatus = a} :: ListPackagesResponse)++instance Prelude.NFData ListPackagesResponse where+  rnf ListPackagesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf packages+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListRepositories.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.ListRepositories+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html RepositorySummary>+-- objects. Each @RepositorySummary@ contains information about a+-- repository in the specified Amazon Web Services account and that matches+-- the input parameters.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListRepositories+  ( -- * Creating a Request+    ListRepositories (..),+    newListRepositories,++    -- * Request Lenses+    listRepositories_maxResults,+    listRepositories_nextToken,+    listRepositories_repositoryPrefix,++    -- * Destructuring the Response+    ListRepositoriesResponse (..),+    newListRepositoriesResponse,++    -- * Response Lenses+    listRepositoriesResponse_nextToken,+    listRepositoriesResponse_repositories,+    listRepositoriesResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListRepositories' smart constructor.+data ListRepositories = ListRepositories'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A prefix used to filter returned repositories. Only repositories with+    -- names that start with @repositoryPrefix@ are returned.+    repositoryPrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRepositories' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listRepositories_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listRepositories_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'repositoryPrefix', 'listRepositories_repositoryPrefix' - A prefix used to filter returned repositories. Only repositories with+-- names that start with @repositoryPrefix@ are returned.+newListRepositories ::+  ListRepositories+newListRepositories =+  ListRepositories'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      repositoryPrefix = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listRepositories_maxResults :: Lens.Lens' ListRepositories (Prelude.Maybe Prelude.Natural)+listRepositories_maxResults = Lens.lens (\ListRepositories' {maxResults} -> maxResults) (\s@ListRepositories' {} a -> s {maxResults = a} :: ListRepositories)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listRepositories_nextToken :: Lens.Lens' ListRepositories (Prelude.Maybe Prelude.Text)+listRepositories_nextToken = Lens.lens (\ListRepositories' {nextToken} -> nextToken) (\s@ListRepositories' {} a -> s {nextToken = a} :: ListRepositories)++-- | A prefix used to filter returned repositories. Only repositories with+-- names that start with @repositoryPrefix@ are returned.+listRepositories_repositoryPrefix :: Lens.Lens' ListRepositories (Prelude.Maybe Prelude.Text)+listRepositories_repositoryPrefix = Lens.lens (\ListRepositories' {repositoryPrefix} -> repositoryPrefix) (\s@ListRepositories' {} a -> s {repositoryPrefix = a} :: ListRepositories)++instance Core.AWSPager ListRepositories where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRepositoriesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listRepositoriesResponse_repositories+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRepositories_nextToken+          Lens..~ rs+          Lens.^? listRepositoriesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRepositories where+  type+    AWSResponse ListRepositories =+      ListRepositoriesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRepositoriesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "repositories" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRepositories where+  hashWithSalt _salt ListRepositories' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` repositoryPrefix++instance Prelude.NFData ListRepositories where+  rnf ListRepositories' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf repositoryPrefix++instance Data.ToHeaders ListRepositories where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListRepositories where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListRepositories where+  toPath = Prelude.const "/v1/repositories"++instance Data.ToQuery ListRepositories where+  toQuery ListRepositories' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "repository-prefix" Data.=: repositoryPrefix+      ]++-- | /See:/ 'newListRepositoriesResponse' smart constructor.+data ListRepositoriesResponse = ListRepositoriesResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The returned list of+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html RepositorySummary>+    -- objects.+    repositories :: Prelude.Maybe [RepositorySummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRepositoriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRepositoriesResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'repositories', 'listRepositoriesResponse_repositories' - The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html RepositorySummary>+-- objects.+--+-- 'httpStatus', 'listRepositoriesResponse_httpStatus' - The response's http status code.+newListRepositoriesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRepositoriesResponse+newListRepositoriesResponse pHttpStatus_ =+  ListRepositoriesResponse'+    { nextToken =+        Prelude.Nothing,+      repositories = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listRepositoriesResponse_nextToken :: Lens.Lens' ListRepositoriesResponse (Prelude.Maybe Prelude.Text)+listRepositoriesResponse_nextToken = Lens.lens (\ListRepositoriesResponse' {nextToken} -> nextToken) (\s@ListRepositoriesResponse' {} a -> s {nextToken = a} :: ListRepositoriesResponse)++-- | The returned list of+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html RepositorySummary>+-- objects.+listRepositoriesResponse_repositories :: Lens.Lens' ListRepositoriesResponse (Prelude.Maybe [RepositorySummary])+listRepositoriesResponse_repositories = Lens.lens (\ListRepositoriesResponse' {repositories} -> repositories) (\s@ListRepositoriesResponse' {} a -> s {repositories = a} :: ListRepositoriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRepositoriesResponse_httpStatus :: Lens.Lens' ListRepositoriesResponse Prelude.Int+listRepositoriesResponse_httpStatus = Lens.lens (\ListRepositoriesResponse' {httpStatus} -> httpStatus) (\s@ListRepositoriesResponse' {} a -> s {httpStatus = a} :: ListRepositoriesResponse)++instance Prelude.NFData ListRepositoriesResponse where+  rnf ListRepositoriesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf repositories+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListRepositoriesInDomain.hs view
@@ -0,0 +1,295 @@+{-# 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.CodeArtifact.ListRepositoriesInDomain+-- 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+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html RepositorySummary>+-- objects. Each @RepositorySummary@ contains information about a+-- repository in the specified domain and that matches the input+-- parameters.+--+-- This operation returns paginated results.+module Amazonka.CodeArtifact.ListRepositoriesInDomain+  ( -- * Creating a Request+    ListRepositoriesInDomain (..),+    newListRepositoriesInDomain,++    -- * Request Lenses+    listRepositoriesInDomain_administratorAccount,+    listRepositoriesInDomain_domainOwner,+    listRepositoriesInDomain_maxResults,+    listRepositoriesInDomain_nextToken,+    listRepositoriesInDomain_repositoryPrefix,+    listRepositoriesInDomain_domain,++    -- * Destructuring the Response+    ListRepositoriesInDomainResponse (..),+    newListRepositoriesInDomainResponse,++    -- * Response Lenses+    listRepositoriesInDomainResponse_nextToken,+    listRepositoriesInDomainResponse_repositories,+    listRepositoriesInDomainResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListRepositoriesInDomain' smart constructor.+data ListRepositoriesInDomain = ListRepositoriesInDomain'+  { -- | Filter the list of repositories to only include those that are managed+    -- by the Amazon Web Services account ID.+    administratorAccount :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A prefix used to filter returned repositories. Only repositories with+    -- names that start with @repositoryPrefix@ are returned.+    repositoryPrefix :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the returned list of repositories.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRepositoriesInDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administratorAccount', 'listRepositoriesInDomain_administratorAccount' - Filter the list of repositories to only include those that are managed+-- by the Amazon Web Services account ID.+--+-- 'domainOwner', 'listRepositoriesInDomain_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'maxResults', 'listRepositoriesInDomain_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listRepositoriesInDomain_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'repositoryPrefix', 'listRepositoriesInDomain_repositoryPrefix' - A prefix used to filter returned repositories. Only repositories with+-- names that start with @repositoryPrefix@ are returned.+--+-- 'domain', 'listRepositoriesInDomain_domain' - The name of the domain that contains the returned list of repositories.+newListRepositoriesInDomain ::+  -- | 'domain'+  Prelude.Text ->+  ListRepositoriesInDomain+newListRepositoriesInDomain pDomain_ =+  ListRepositoriesInDomain'+    { administratorAccount =+        Prelude.Nothing,+      domainOwner = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      repositoryPrefix = Prelude.Nothing,+      domain = pDomain_+    }++-- | Filter the list of repositories to only include those that are managed+-- by the Amazon Web Services account ID.+listRepositoriesInDomain_administratorAccount :: Lens.Lens' ListRepositoriesInDomain (Prelude.Maybe Prelude.Text)+listRepositoriesInDomain_administratorAccount = Lens.lens (\ListRepositoriesInDomain' {administratorAccount} -> administratorAccount) (\s@ListRepositoriesInDomain' {} a -> s {administratorAccount = a} :: ListRepositoriesInDomain)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+listRepositoriesInDomain_domainOwner :: Lens.Lens' ListRepositoriesInDomain (Prelude.Maybe Prelude.Text)+listRepositoriesInDomain_domainOwner = Lens.lens (\ListRepositoriesInDomain' {domainOwner} -> domainOwner) (\s@ListRepositoriesInDomain' {} a -> s {domainOwner = a} :: ListRepositoriesInDomain)++-- | The maximum number of results to return per page.+listRepositoriesInDomain_maxResults :: Lens.Lens' ListRepositoriesInDomain (Prelude.Maybe Prelude.Natural)+listRepositoriesInDomain_maxResults = Lens.lens (\ListRepositoriesInDomain' {maxResults} -> maxResults) (\s@ListRepositoriesInDomain' {} a -> s {maxResults = a} :: ListRepositoriesInDomain)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listRepositoriesInDomain_nextToken :: Lens.Lens' ListRepositoriesInDomain (Prelude.Maybe Prelude.Text)+listRepositoriesInDomain_nextToken = Lens.lens (\ListRepositoriesInDomain' {nextToken} -> nextToken) (\s@ListRepositoriesInDomain' {} a -> s {nextToken = a} :: ListRepositoriesInDomain)++-- | A prefix used to filter returned repositories. Only repositories with+-- names that start with @repositoryPrefix@ are returned.+listRepositoriesInDomain_repositoryPrefix :: Lens.Lens' ListRepositoriesInDomain (Prelude.Maybe Prelude.Text)+listRepositoriesInDomain_repositoryPrefix = Lens.lens (\ListRepositoriesInDomain' {repositoryPrefix} -> repositoryPrefix) (\s@ListRepositoriesInDomain' {} a -> s {repositoryPrefix = a} :: ListRepositoriesInDomain)++-- | The name of the domain that contains the returned list of repositories.+listRepositoriesInDomain_domain :: Lens.Lens' ListRepositoriesInDomain Prelude.Text+listRepositoriesInDomain_domain = Lens.lens (\ListRepositoriesInDomain' {domain} -> domain) (\s@ListRepositoriesInDomain' {} a -> s {domain = a} :: ListRepositoriesInDomain)++instance Core.AWSPager ListRepositoriesInDomain where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRepositoriesInDomainResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listRepositoriesInDomainResponse_repositories+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRepositoriesInDomain_nextToken+          Lens..~ rs+          Lens.^? listRepositoriesInDomainResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRepositoriesInDomain where+  type+    AWSResponse ListRepositoriesInDomain =+      ListRepositoriesInDomainResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRepositoriesInDomainResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "repositories" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRepositoriesInDomain where+  hashWithSalt _salt ListRepositoriesInDomain' {..} =+    _salt+      `Prelude.hashWithSalt` administratorAccount+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` repositoryPrefix+      `Prelude.hashWithSalt` domain++instance Prelude.NFData ListRepositoriesInDomain where+  rnf ListRepositoriesInDomain' {..} =+    Prelude.rnf administratorAccount+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf repositoryPrefix+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders ListRepositoriesInDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListRepositoriesInDomain where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListRepositoriesInDomain where+  toPath = Prelude.const "/v1/domain/repositories"++instance Data.ToQuery ListRepositoriesInDomain where+  toQuery ListRepositoriesInDomain' {..} =+    Prelude.mconcat+      [ "administrator-account"+          Data.=: administratorAccount,+        "domain-owner" Data.=: domainOwner,+        "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "repository-prefix" Data.=: repositoryPrefix,+        "domain" Data.=: domain+      ]++-- | /See:/ 'newListRepositoriesInDomainResponse' smart constructor.+data ListRepositoriesInDomainResponse = ListRepositoriesInDomainResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The returned list of repositories.+    repositories :: Prelude.Maybe [RepositorySummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRepositoriesInDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRepositoriesInDomainResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'repositories', 'listRepositoriesInDomainResponse_repositories' - The returned list of repositories.+--+-- 'httpStatus', 'listRepositoriesInDomainResponse_httpStatus' - The response's http status code.+newListRepositoriesInDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRepositoriesInDomainResponse+newListRepositoriesInDomainResponse pHttpStatus_ =+  ListRepositoriesInDomainResponse'+    { nextToken =+        Prelude.Nothing,+      repositories = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listRepositoriesInDomainResponse_nextToken :: Lens.Lens' ListRepositoriesInDomainResponse (Prelude.Maybe Prelude.Text)+listRepositoriesInDomainResponse_nextToken = Lens.lens (\ListRepositoriesInDomainResponse' {nextToken} -> nextToken) (\s@ListRepositoriesInDomainResponse' {} a -> s {nextToken = a} :: ListRepositoriesInDomainResponse)++-- | The returned list of repositories.+listRepositoriesInDomainResponse_repositories :: Lens.Lens' ListRepositoriesInDomainResponse (Prelude.Maybe [RepositorySummary])+listRepositoriesInDomainResponse_repositories = Lens.lens (\ListRepositoriesInDomainResponse' {repositories} -> repositories) (\s@ListRepositoriesInDomainResponse' {} a -> s {repositories = a} :: ListRepositoriesInDomainResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRepositoriesInDomainResponse_httpStatus :: Lens.Lens' ListRepositoriesInDomainResponse Prelude.Int+listRepositoriesInDomainResponse_httpStatus = Lens.lens (\ListRepositoriesInDomainResponse' {httpStatus} -> httpStatus) (\s@ListRepositoriesInDomainResponse' {} a -> s {httpStatus = a} :: ListRepositoriesInDomainResponse)++instance+  Prelude.NFData+    ListRepositoriesInDomainResponse+  where+  rnf ListRepositoriesInDomainResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf repositories+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/ListTagsForResource.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.CodeArtifact.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)+--+-- Gets information about Amazon Web Services tags for a specified Amazon+-- Resource Name (ARN) in CodeArtifact.+module Amazonka.CodeArtifact.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource to get tags for.+    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) of the resource to get tags for.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource to get tags for.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/v1/tags"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | A list of tag key and value pairs associated with the specified+    -- resource.+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tag key and value pairs associated with the specified+-- resource.+--+-- '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 tag key and value pairs associated with the specified+-- resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/PutDomainPermissionsPolicy.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.PutDomainPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets a resource policy on a domain that specifies permissions to access+-- it.+--+-- When you call @PutDomainPermissionsPolicy@, the resource policy on the+-- domain is ignored when evaluting permissions. This ensures that the+-- owner of a domain cannot lock themselves out of the domain, which would+-- prevent them from being able to update the resource policy.+module Amazonka.CodeArtifact.PutDomainPermissionsPolicy+  ( -- * Creating a Request+    PutDomainPermissionsPolicy (..),+    newPutDomainPermissionsPolicy,++    -- * Request Lenses+    putDomainPermissionsPolicy_domainOwner,+    putDomainPermissionsPolicy_policyRevision,+    putDomainPermissionsPolicy_domain,+    putDomainPermissionsPolicy_policyDocument,++    -- * Destructuring the Response+    PutDomainPermissionsPolicyResponse (..),+    newPutDomainPermissionsPolicyResponse,++    -- * Response Lenses+    putDomainPermissionsPolicyResponse_policy,+    putDomainPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutDomainPermissionsPolicy' smart constructor.+data PutDomainPermissionsPolicy = PutDomainPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The current revision of the resource policy to be set. This revision is+    -- used for optimistic locking, which prevents others from overwriting your+    -- changes to the domain\'s resource policy.+    policyRevision :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain on which to set the resource policy.+    domain :: Prelude.Text,+    -- | A valid displayable JSON Aspen policy string to be set as the access+    -- control resource policy on the provided domain.+    policyDocument :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDomainPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'putDomainPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'policyRevision', 'putDomainPermissionsPolicy_policyRevision' - The current revision of the resource policy to be set. This revision is+-- used for optimistic locking, which prevents others from overwriting your+-- changes to the domain\'s resource policy.+--+-- 'domain', 'putDomainPermissionsPolicy_domain' - The name of the domain on which to set the resource policy.+--+-- 'policyDocument', 'putDomainPermissionsPolicy_policyDocument' - A valid displayable JSON Aspen policy string to be set as the access+-- control resource policy on the provided domain.+newPutDomainPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'policyDocument'+  Prelude.Text ->+  PutDomainPermissionsPolicy+newPutDomainPermissionsPolicy+  pDomain_+  pPolicyDocument_ =+    PutDomainPermissionsPolicy'+      { domainOwner =+          Prelude.Nothing,+        policyRevision = Prelude.Nothing,+        domain = pDomain_,+        policyDocument = pPolicyDocument_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+putDomainPermissionsPolicy_domainOwner :: Lens.Lens' PutDomainPermissionsPolicy (Prelude.Maybe Prelude.Text)+putDomainPermissionsPolicy_domainOwner = Lens.lens (\PutDomainPermissionsPolicy' {domainOwner} -> domainOwner) (\s@PutDomainPermissionsPolicy' {} a -> s {domainOwner = a} :: PutDomainPermissionsPolicy)++-- | The current revision of the resource policy to be set. This revision is+-- used for optimistic locking, which prevents others from overwriting your+-- changes to the domain\'s resource policy.+putDomainPermissionsPolicy_policyRevision :: Lens.Lens' PutDomainPermissionsPolicy (Prelude.Maybe Prelude.Text)+putDomainPermissionsPolicy_policyRevision = Lens.lens (\PutDomainPermissionsPolicy' {policyRevision} -> policyRevision) (\s@PutDomainPermissionsPolicy' {} a -> s {policyRevision = a} :: PutDomainPermissionsPolicy)++-- | The name of the domain on which to set the resource policy.+putDomainPermissionsPolicy_domain :: Lens.Lens' PutDomainPermissionsPolicy Prelude.Text+putDomainPermissionsPolicy_domain = Lens.lens (\PutDomainPermissionsPolicy' {domain} -> domain) (\s@PutDomainPermissionsPolicy' {} a -> s {domain = a} :: PutDomainPermissionsPolicy)++-- | A valid displayable JSON Aspen policy string to be set as the access+-- control resource policy on the provided domain.+putDomainPermissionsPolicy_policyDocument :: Lens.Lens' PutDomainPermissionsPolicy Prelude.Text+putDomainPermissionsPolicy_policyDocument = Lens.lens (\PutDomainPermissionsPolicy' {policyDocument} -> policyDocument) (\s@PutDomainPermissionsPolicy' {} a -> s {policyDocument = a} :: PutDomainPermissionsPolicy)++instance Core.AWSRequest PutDomainPermissionsPolicy where+  type+    AWSResponse PutDomainPermissionsPolicy =+      PutDomainPermissionsPolicyResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutDomainPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutDomainPermissionsPolicy where+  hashWithSalt _salt PutDomainPermissionsPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` policyRevision+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` policyDocument++instance Prelude.NFData PutDomainPermissionsPolicy where+  rnf PutDomainPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf policyRevision+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf policyDocument++instance Data.ToHeaders PutDomainPermissionsPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutDomainPermissionsPolicy where+  toJSON PutDomainPermissionsPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("domainOwner" Data..=) Prelude.<$> domainOwner,+            ("policyRevision" Data..=)+              Prelude.<$> policyRevision,+            Prelude.Just ("domain" Data..= domain),+            Prelude.Just+              ("policyDocument" Data..= policyDocument)+          ]+      )++instance Data.ToPath PutDomainPermissionsPolicy where+  toPath =+    Prelude.const "/v1/domain/permissions/policy"++instance Data.ToQuery PutDomainPermissionsPolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutDomainPermissionsPolicyResponse' smart constructor.+data PutDomainPermissionsPolicyResponse = PutDomainPermissionsPolicyResponse'+  { -- | The resource policy that was set after processing the request.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDomainPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putDomainPermissionsPolicyResponse_policy' - The resource policy that was set after processing the request.+--+-- 'httpStatus', 'putDomainPermissionsPolicyResponse_httpStatus' - The response's http status code.+newPutDomainPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutDomainPermissionsPolicyResponse+newPutDomainPermissionsPolicyResponse pHttpStatus_ =+  PutDomainPermissionsPolicyResponse'+    { policy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The resource policy that was set after processing the request.+putDomainPermissionsPolicyResponse_policy :: Lens.Lens' PutDomainPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+putDomainPermissionsPolicyResponse_policy = Lens.lens (\PutDomainPermissionsPolicyResponse' {policy} -> policy) (\s@PutDomainPermissionsPolicyResponse' {} a -> s {policy = a} :: PutDomainPermissionsPolicyResponse)++-- | The response's http status code.+putDomainPermissionsPolicyResponse_httpStatus :: Lens.Lens' PutDomainPermissionsPolicyResponse Prelude.Int+putDomainPermissionsPolicyResponse_httpStatus = Lens.lens (\PutDomainPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@PutDomainPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: PutDomainPermissionsPolicyResponse)++instance+  Prelude.NFData+    PutDomainPermissionsPolicyResponse+  where+  rnf PutDomainPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/PutPackageOriginConfiguration.hs view
@@ -0,0 +1,363 @@+{-# 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.CodeArtifact.PutPackageOriginConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the package origin configuration for a package.+--+-- The package origin configuration determines how new versions of a+-- package can be added to a repository. You can allow or block direct+-- publishing of new package versions, or ingestion and retaining of new+-- package versions from an external connection or upstream source. For+-- more information about package origin controls and configuration, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/package-origin-controls.html Editing package origin controls>+-- in the /CodeArtifact User Guide/.+--+-- @PutPackageOriginConfiguration@ can be called on a package that doesn\'t+-- yet exist in the repository. When called on a package that does not+-- exist, a package is created in the repository with no versions and the+-- requested restrictions are set on the package. This can be used to+-- preemptively block ingesting or retaining any versions from external+-- connections or upstream repositories, or to block publishing any+-- versions of the package into the repository before connecting any+-- package managers or publishers to the repository.+module Amazonka.CodeArtifact.PutPackageOriginConfiguration+  ( -- * Creating a Request+    PutPackageOriginConfiguration (..),+    newPutPackageOriginConfiguration,++    -- * Request Lenses+    putPackageOriginConfiguration_domainOwner,+    putPackageOriginConfiguration_namespace,+    putPackageOriginConfiguration_domain,+    putPackageOriginConfiguration_repository,+    putPackageOriginConfiguration_format,+    putPackageOriginConfiguration_package,+    putPackageOriginConfiguration_restrictions,++    -- * Destructuring the Response+    PutPackageOriginConfigurationResponse (..),+    newPutPackageOriginConfigurationResponse,++    -- * Response Lenses+    putPackageOriginConfigurationResponse_originConfiguration,+    putPackageOriginConfigurationResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutPackageOriginConfiguration' smart constructor.+data PutPackageOriginConfiguration = PutPackageOriginConfiguration'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package to be updated. The package component that+    -- specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository that contains the+    -- package.+    domain :: Prelude.Text,+    -- | The name of the repository that contains the package.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the package to be updated.+    format :: PackageFormat,+    -- | The name of the package to be updated.+    package :: Prelude.Text,+    -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+    -- object that contains information about the @upstream@ and @publish@+    -- package origin restrictions. The @upstream@ restriction determines if+    -- new package versions can be ingested or retained from external+    -- connections or upstream repositories. The @publish@ restriction+    -- determines if new package versions can be published directly to the+    -- repository.+    --+    -- You must include both the desired @upstream@ and @publish@ restrictions.+    restrictions :: PackageOriginRestrictions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPackageOriginConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'putPackageOriginConfiguration_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'namespace', 'putPackageOriginConfiguration_namespace' - The namespace of the package to be updated. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'domain', 'putPackageOriginConfiguration_domain' - The name of the domain that contains the repository that contains the+-- package.+--+-- 'repository', 'putPackageOriginConfiguration_repository' - The name of the repository that contains the package.+--+-- 'format', 'putPackageOriginConfiguration_format' - A format that specifies the type of the package to be updated.+--+-- 'package', 'putPackageOriginConfiguration_package' - The name of the package to be updated.+--+-- 'restrictions', 'putPackageOriginConfiguration_restrictions' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that contains information about the @upstream@ and @publish@+-- package origin restrictions. The @upstream@ restriction determines if+-- new package versions can be ingested or retained from external+-- connections or upstream repositories. The @publish@ restriction+-- determines if new package versions can be published directly to the+-- repository.+--+-- You must include both the desired @upstream@ and @publish@ restrictions.+newPutPackageOriginConfiguration ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'restrictions'+  PackageOriginRestrictions ->+  PutPackageOriginConfiguration+newPutPackageOriginConfiguration+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pRestrictions_ =+    PutPackageOriginConfiguration'+      { domainOwner =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        restrictions = pRestrictions_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+putPackageOriginConfiguration_domainOwner :: Lens.Lens' PutPackageOriginConfiguration (Prelude.Maybe Prelude.Text)+putPackageOriginConfiguration_domainOwner = Lens.lens (\PutPackageOriginConfiguration' {domainOwner} -> domainOwner) (\s@PutPackageOriginConfiguration' {} a -> s {domainOwner = a} :: PutPackageOriginConfiguration)++-- | The namespace of the package to be updated. The package component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+putPackageOriginConfiguration_namespace :: Lens.Lens' PutPackageOriginConfiguration (Prelude.Maybe Prelude.Text)+putPackageOriginConfiguration_namespace = Lens.lens (\PutPackageOriginConfiguration' {namespace} -> namespace) (\s@PutPackageOriginConfiguration' {} a -> s {namespace = a} :: PutPackageOriginConfiguration)++-- | The name of the domain that contains the repository that contains the+-- package.+putPackageOriginConfiguration_domain :: Lens.Lens' PutPackageOriginConfiguration Prelude.Text+putPackageOriginConfiguration_domain = Lens.lens (\PutPackageOriginConfiguration' {domain} -> domain) (\s@PutPackageOriginConfiguration' {} a -> s {domain = a} :: PutPackageOriginConfiguration)++-- | The name of the repository that contains the package.+putPackageOriginConfiguration_repository :: Lens.Lens' PutPackageOriginConfiguration Prelude.Text+putPackageOriginConfiguration_repository = Lens.lens (\PutPackageOriginConfiguration' {repository} -> repository) (\s@PutPackageOriginConfiguration' {} a -> s {repository = a} :: PutPackageOriginConfiguration)++-- | A format that specifies the type of the package to be updated.+putPackageOriginConfiguration_format :: Lens.Lens' PutPackageOriginConfiguration PackageFormat+putPackageOriginConfiguration_format = Lens.lens (\PutPackageOriginConfiguration' {format} -> format) (\s@PutPackageOriginConfiguration' {} a -> s {format = a} :: PutPackageOriginConfiguration)++-- | The name of the package to be updated.+putPackageOriginConfiguration_package :: Lens.Lens' PutPackageOriginConfiguration Prelude.Text+putPackageOriginConfiguration_package = Lens.lens (\PutPackageOriginConfiguration' {package} -> package) (\s@PutPackageOriginConfiguration' {} a -> s {package = a} :: PutPackageOriginConfiguration)++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that contains information about the @upstream@ and @publish@+-- package origin restrictions. The @upstream@ restriction determines if+-- new package versions can be ingested or retained from external+-- connections or upstream repositories. The @publish@ restriction+-- determines if new package versions can be published directly to the+-- repository.+--+-- You must include both the desired @upstream@ and @publish@ restrictions.+putPackageOriginConfiguration_restrictions :: Lens.Lens' PutPackageOriginConfiguration PackageOriginRestrictions+putPackageOriginConfiguration_restrictions = Lens.lens (\PutPackageOriginConfiguration' {restrictions} -> restrictions) (\s@PutPackageOriginConfiguration' {} a -> s {restrictions = a} :: PutPackageOriginConfiguration)++instance+  Core.AWSRequest+    PutPackageOriginConfiguration+  where+  type+    AWSResponse PutPackageOriginConfiguration =+      PutPackageOriginConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutPackageOriginConfigurationResponse'+            Prelude.<$> (x Data..?> "originConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutPackageOriginConfiguration+  where+  hashWithSalt _salt PutPackageOriginConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` restrictions++instance Prelude.NFData PutPackageOriginConfiguration where+  rnf PutPackageOriginConfiguration' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf restrictions++instance Data.ToHeaders PutPackageOriginConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutPackageOriginConfiguration where+  toJSON PutPackageOriginConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("restrictions" Data..= restrictions)]+      )++instance Data.ToPath PutPackageOriginConfiguration where+  toPath = Prelude.const "/v1/package"++instance Data.ToQuery PutPackageOriginConfiguration where+  toQuery PutPackageOriginConfiguration' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newPutPackageOriginConfigurationResponse' smart constructor.+data PutPackageOriginConfigurationResponse = PutPackageOriginConfigurationResponse'+  { -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+    -- object that describes the origin configuration set for the package. It+    -- contains a+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+    -- object that describes how new versions of the package can be introduced+    -- to the repository.+    originConfiguration :: Prelude.Maybe PackageOriginConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPackageOriginConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'originConfiguration', 'putPackageOriginConfigurationResponse_originConfiguration' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+-- object that describes the origin configuration set for the package. It+-- contains a+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that describes how new versions of the package can be introduced+-- to the repository.+--+-- 'httpStatus', 'putPackageOriginConfigurationResponse_httpStatus' - The response's http status code.+newPutPackageOriginConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutPackageOriginConfigurationResponse+newPutPackageOriginConfigurationResponse pHttpStatus_ =+  PutPackageOriginConfigurationResponse'+    { originConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+-- object that describes the origin configuration set for the package. It+-- contains a+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that describes how new versions of the package can be introduced+-- to the repository.+putPackageOriginConfigurationResponse_originConfiguration :: Lens.Lens' PutPackageOriginConfigurationResponse (Prelude.Maybe PackageOriginConfiguration)+putPackageOriginConfigurationResponse_originConfiguration = Lens.lens (\PutPackageOriginConfigurationResponse' {originConfiguration} -> originConfiguration) (\s@PutPackageOriginConfigurationResponse' {} a -> s {originConfiguration = a} :: PutPackageOriginConfigurationResponse)++-- | The response's http status code.+putPackageOriginConfigurationResponse_httpStatus :: Lens.Lens' PutPackageOriginConfigurationResponse Prelude.Int+putPackageOriginConfigurationResponse_httpStatus = Lens.lens (\PutPackageOriginConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutPackageOriginConfigurationResponse' {} a -> s {httpStatus = a} :: PutPackageOriginConfigurationResponse)++instance+  Prelude.NFData+    PutPackageOriginConfigurationResponse+  where+  rnf PutPackageOriginConfigurationResponse' {..} =+    Prelude.rnf originConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/PutRepositoryPermissionsPolicy.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.CodeArtifact.PutRepositoryPermissionsPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the resource policy on a repository that specifies permissions to+-- access it.+--+-- When you call @PutRepositoryPermissionsPolicy@, the resource policy on+-- the repository is ignored when evaluting permissions. This ensures that+-- the owner of a repository cannot lock themselves out of the repository,+-- which would prevent them from being able to update the resource policy.+module Amazonka.CodeArtifact.PutRepositoryPermissionsPolicy+  ( -- * Creating a Request+    PutRepositoryPermissionsPolicy (..),+    newPutRepositoryPermissionsPolicy,++    -- * Request Lenses+    putRepositoryPermissionsPolicy_domainOwner,+    putRepositoryPermissionsPolicy_policyRevision,+    putRepositoryPermissionsPolicy_domain,+    putRepositoryPermissionsPolicy_repository,+    putRepositoryPermissionsPolicy_policyDocument,++    -- * Destructuring the Response+    PutRepositoryPermissionsPolicyResponse (..),+    newPutRepositoryPermissionsPolicyResponse,++    -- * Response Lenses+    putRepositoryPermissionsPolicyResponse_policy,+    putRepositoryPermissionsPolicyResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutRepositoryPermissionsPolicy' smart constructor.+data PutRepositoryPermissionsPolicy = PutRepositoryPermissionsPolicy'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | Sets the revision of the resource policy that specifies permissions to+    -- access the repository. This revision is used for optimistic locking,+    -- which prevents others from overwriting your changes to the repository\'s+    -- resource policy.+    policyRevision :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain containing the repository to set the resource+    -- policy on.+    domain :: Prelude.Text,+    -- | The name of the repository to set the resource policy on.+    repository :: Prelude.Text,+    -- | A valid displayable JSON Aspen policy string to be set as the access+    -- control resource policy on the provided repository.+    policyDocument :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRepositoryPermissionsPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'putRepositoryPermissionsPolicy_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'policyRevision', 'putRepositoryPermissionsPolicy_policyRevision' - Sets the revision of the resource policy that specifies permissions to+-- access the repository. This revision is used for optimistic locking,+-- which prevents others from overwriting your changes to the repository\'s+-- resource policy.+--+-- 'domain', 'putRepositoryPermissionsPolicy_domain' - The name of the domain containing the repository to set the resource+-- policy on.+--+-- 'repository', 'putRepositoryPermissionsPolicy_repository' - The name of the repository to set the resource policy on.+--+-- 'policyDocument', 'putRepositoryPermissionsPolicy_policyDocument' - A valid displayable JSON Aspen policy string to be set as the access+-- control resource policy on the provided repository.+newPutRepositoryPermissionsPolicy ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'policyDocument'+  Prelude.Text ->+  PutRepositoryPermissionsPolicy+newPutRepositoryPermissionsPolicy+  pDomain_+  pRepository_+  pPolicyDocument_ =+    PutRepositoryPermissionsPolicy'+      { domainOwner =+          Prelude.Nothing,+        policyRevision = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        policyDocument = pPolicyDocument_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+putRepositoryPermissionsPolicy_domainOwner :: Lens.Lens' PutRepositoryPermissionsPolicy (Prelude.Maybe Prelude.Text)+putRepositoryPermissionsPolicy_domainOwner = Lens.lens (\PutRepositoryPermissionsPolicy' {domainOwner} -> domainOwner) (\s@PutRepositoryPermissionsPolicy' {} a -> s {domainOwner = a} :: PutRepositoryPermissionsPolicy)++-- | Sets the revision of the resource policy that specifies permissions to+-- access the repository. This revision is used for optimistic locking,+-- which prevents others from overwriting your changes to the repository\'s+-- resource policy.+putRepositoryPermissionsPolicy_policyRevision :: Lens.Lens' PutRepositoryPermissionsPolicy (Prelude.Maybe Prelude.Text)+putRepositoryPermissionsPolicy_policyRevision = Lens.lens (\PutRepositoryPermissionsPolicy' {policyRevision} -> policyRevision) (\s@PutRepositoryPermissionsPolicy' {} a -> s {policyRevision = a} :: PutRepositoryPermissionsPolicy)++-- | The name of the domain containing the repository to set the resource+-- policy on.+putRepositoryPermissionsPolicy_domain :: Lens.Lens' PutRepositoryPermissionsPolicy Prelude.Text+putRepositoryPermissionsPolicy_domain = Lens.lens (\PutRepositoryPermissionsPolicy' {domain} -> domain) (\s@PutRepositoryPermissionsPolicy' {} a -> s {domain = a} :: PutRepositoryPermissionsPolicy)++-- | The name of the repository to set the resource policy on.+putRepositoryPermissionsPolicy_repository :: Lens.Lens' PutRepositoryPermissionsPolicy Prelude.Text+putRepositoryPermissionsPolicy_repository = Lens.lens (\PutRepositoryPermissionsPolicy' {repository} -> repository) (\s@PutRepositoryPermissionsPolicy' {} a -> s {repository = a} :: PutRepositoryPermissionsPolicy)++-- | A valid displayable JSON Aspen policy string to be set as the access+-- control resource policy on the provided repository.+putRepositoryPermissionsPolicy_policyDocument :: Lens.Lens' PutRepositoryPermissionsPolicy Prelude.Text+putRepositoryPermissionsPolicy_policyDocument = Lens.lens (\PutRepositoryPermissionsPolicy' {policyDocument} -> policyDocument) (\s@PutRepositoryPermissionsPolicy' {} a -> s {policyDocument = a} :: PutRepositoryPermissionsPolicy)++instance+  Core.AWSRequest+    PutRepositoryPermissionsPolicy+  where+  type+    AWSResponse PutRepositoryPermissionsPolicy =+      PutRepositoryPermissionsPolicyResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutRepositoryPermissionsPolicyResponse'+            Prelude.<$> (x Data..?> "policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutRepositoryPermissionsPolicy+  where+  hashWithSalt+    _salt+    PutRepositoryPermissionsPolicy' {..} =+      _salt+        `Prelude.hashWithSalt` domainOwner+        `Prelude.hashWithSalt` policyRevision+        `Prelude.hashWithSalt` domain+        `Prelude.hashWithSalt` repository+        `Prelude.hashWithSalt` policyDocument++instance+  Prelude.NFData+    PutRepositoryPermissionsPolicy+  where+  rnf PutRepositoryPermissionsPolicy' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf policyRevision+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf policyDocument++instance+  Data.ToHeaders+    PutRepositoryPermissionsPolicy+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutRepositoryPermissionsPolicy where+  toJSON PutRepositoryPermissionsPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("policyRevision" Data..=)+              Prelude.<$> policyRevision,+            Prelude.Just+              ("policyDocument" Data..= policyDocument)+          ]+      )++instance Data.ToPath PutRepositoryPermissionsPolicy where+  toPath =+    Prelude.const "/v1/repository/permissions/policy"++instance Data.ToQuery PutRepositoryPermissionsPolicy where+  toQuery PutRepositoryPermissionsPolicy' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newPutRepositoryPermissionsPolicyResponse' smart constructor.+data PutRepositoryPermissionsPolicyResponse = PutRepositoryPermissionsPolicyResponse'+  { -- | The resource policy that was set after processing the request.+    policy :: Prelude.Maybe ResourcePolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRepositoryPermissionsPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putRepositoryPermissionsPolicyResponse_policy' - The resource policy that was set after processing the request.+--+-- 'httpStatus', 'putRepositoryPermissionsPolicyResponse_httpStatus' - The response's http status code.+newPutRepositoryPermissionsPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutRepositoryPermissionsPolicyResponse+newPutRepositoryPermissionsPolicyResponse+  pHttpStatus_ =+    PutRepositoryPermissionsPolicyResponse'+      { policy =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The resource policy that was set after processing the request.+putRepositoryPermissionsPolicyResponse_policy :: Lens.Lens' PutRepositoryPermissionsPolicyResponse (Prelude.Maybe ResourcePolicy)+putRepositoryPermissionsPolicyResponse_policy = Lens.lens (\PutRepositoryPermissionsPolicyResponse' {policy} -> policy) (\s@PutRepositoryPermissionsPolicyResponse' {} a -> s {policy = a} :: PutRepositoryPermissionsPolicyResponse)++-- | The response's http status code.+putRepositoryPermissionsPolicyResponse_httpStatus :: Lens.Lens' PutRepositoryPermissionsPolicyResponse Prelude.Int+putRepositoryPermissionsPolicyResponse_httpStatus = Lens.lens (\PutRepositoryPermissionsPolicyResponse' {httpStatus} -> httpStatus) (\s@PutRepositoryPermissionsPolicyResponse' {} a -> s {httpStatus = a} :: PutRepositoryPermissionsPolicyResponse)++instance+  Prelude.NFData+    PutRepositoryPermissionsPolicyResponse+  where+  rnf PutRepositoryPermissionsPolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/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.CodeArtifact.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 or updates tags for a resource in CodeArtifact.+module Amazonka.CodeArtifact.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to add or+    -- update tags for.+    resourceArn :: Prelude.Text,+    -- | The tags you want to modify or add to the resource.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to add or+-- update tags for.+--+-- 'tags', 'tagResource_tags' - The tags you want to modify or add to the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to add or+-- update tags for.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags you want to modify or add to the resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "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 = Prelude.const "/v1/tag"++instance Data.ToQuery TagResource where+  toQuery TagResource' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /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/CodeArtifact/Types.hs view
@@ -0,0 +1,399 @@+{-# 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.CodeArtifact.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.CodeArtifact.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AllowPublish+    AllowPublish (..),++    -- * AllowUpstream+    AllowUpstream (..),++    -- * DomainStatus+    DomainStatus (..),++    -- * ExternalConnectionStatus+    ExternalConnectionStatus (..),++    -- * HashAlgorithm+    HashAlgorithm (..),++    -- * PackageFormat+    PackageFormat (..),++    -- * PackageVersionErrorCode+    PackageVersionErrorCode (..),++    -- * PackageVersionOriginType+    PackageVersionOriginType (..),++    -- * PackageVersionSortType+    PackageVersionSortType (..),++    -- * PackageVersionStatus+    PackageVersionStatus (..),++    -- * AssetSummary+    AssetSummary (..),+    newAssetSummary,+    assetSummary_hashes,+    assetSummary_size,+    assetSummary_name,++    -- * DomainDescription+    DomainDescription (..),+    newDomainDescription,+    domainDescription_arn,+    domainDescription_assetSizeBytes,+    domainDescription_createdTime,+    domainDescription_encryptionKey,+    domainDescription_name,+    domainDescription_owner,+    domainDescription_repositoryCount,+    domainDescription_s3BucketArn,+    domainDescription_status,++    -- * DomainEntryPoint+    DomainEntryPoint (..),+    newDomainEntryPoint,+    domainEntryPoint_externalConnectionName,+    domainEntryPoint_repositoryName,++    -- * DomainSummary+    DomainSummary (..),+    newDomainSummary,+    domainSummary_arn,+    domainSummary_createdTime,+    domainSummary_encryptionKey,+    domainSummary_name,+    domainSummary_owner,+    domainSummary_status,++    -- * LicenseInfo+    LicenseInfo (..),+    newLicenseInfo,+    licenseInfo_name,+    licenseInfo_url,++    -- * PackageDependency+    PackageDependency (..),+    newPackageDependency,+    packageDependency_dependencyType,+    packageDependency_namespace,+    packageDependency_package,+    packageDependency_versionRequirement,++    -- * PackageDescription+    PackageDescription (..),+    newPackageDescription,+    packageDescription_format,+    packageDescription_name,+    packageDescription_namespace,+    packageDescription_originConfiguration,++    -- * PackageOriginConfiguration+    PackageOriginConfiguration (..),+    newPackageOriginConfiguration,+    packageOriginConfiguration_restrictions,++    -- * PackageOriginRestrictions+    PackageOriginRestrictions (..),+    newPackageOriginRestrictions,+    packageOriginRestrictions_publish,+    packageOriginRestrictions_upstream,++    -- * PackageSummary+    PackageSummary (..),+    newPackageSummary,+    packageSummary_format,+    packageSummary_namespace,+    packageSummary_originConfiguration,+    packageSummary_package,++    -- * PackageVersionDescription+    PackageVersionDescription (..),+    newPackageVersionDescription,+    packageVersionDescription_displayName,+    packageVersionDescription_format,+    packageVersionDescription_homePage,+    packageVersionDescription_licenses,+    packageVersionDescription_namespace,+    packageVersionDescription_origin,+    packageVersionDescription_packageName,+    packageVersionDescription_publishedTime,+    packageVersionDescription_revision,+    packageVersionDescription_sourceCodeRepository,+    packageVersionDescription_status,+    packageVersionDescription_summary,+    packageVersionDescription_version,++    -- * PackageVersionError+    PackageVersionError (..),+    newPackageVersionError,+    packageVersionError_errorCode,+    packageVersionError_errorMessage,++    -- * PackageVersionOrigin+    PackageVersionOrigin (..),+    newPackageVersionOrigin,+    packageVersionOrigin_domainEntryPoint,+    packageVersionOrigin_originType,++    -- * PackageVersionSummary+    PackageVersionSummary (..),+    newPackageVersionSummary,+    packageVersionSummary_origin,+    packageVersionSummary_revision,+    packageVersionSummary_version,+    packageVersionSummary_status,++    -- * RepositoryDescription+    RepositoryDescription (..),+    newRepositoryDescription,+    repositoryDescription_administratorAccount,+    repositoryDescription_arn,+    repositoryDescription_description,+    repositoryDescription_domainName,+    repositoryDescription_domainOwner,+    repositoryDescription_externalConnections,+    repositoryDescription_name,+    repositoryDescription_upstreams,++    -- * RepositoryExternalConnectionInfo+    RepositoryExternalConnectionInfo (..),+    newRepositoryExternalConnectionInfo,+    repositoryExternalConnectionInfo_externalConnectionName,+    repositoryExternalConnectionInfo_packageFormat,+    repositoryExternalConnectionInfo_status,++    -- * RepositorySummary+    RepositorySummary (..),+    newRepositorySummary,+    repositorySummary_administratorAccount,+    repositorySummary_arn,+    repositorySummary_description,+    repositorySummary_domainName,+    repositorySummary_domainOwner,+    repositorySummary_name,++    -- * ResourcePolicy+    ResourcePolicy (..),+    newResourcePolicy,+    resourcePolicy_document,+    resourcePolicy_resourceArn,+    resourcePolicy_revision,++    -- * SuccessfulPackageVersionInfo+    SuccessfulPackageVersionInfo (..),+    newSuccessfulPackageVersionInfo,+    successfulPackageVersionInfo_revision,+    successfulPackageVersionInfo_status,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * UpstreamRepository+    UpstreamRepository (..),+    newUpstreamRepository,+    upstreamRepository_repositoryName,++    -- * UpstreamRepositoryInfo+    UpstreamRepositoryInfo (..),+    newUpstreamRepositoryInfo,+    upstreamRepositoryInfo_repositoryName,+  )+where++import Amazonka.CodeArtifact.Types.AllowPublish+import Amazonka.CodeArtifact.Types.AllowUpstream+import Amazonka.CodeArtifact.Types.AssetSummary+import Amazonka.CodeArtifact.Types.DomainDescription+import Amazonka.CodeArtifact.Types.DomainEntryPoint+import Amazonka.CodeArtifact.Types.DomainStatus+import Amazonka.CodeArtifact.Types.DomainSummary+import Amazonka.CodeArtifact.Types.ExternalConnectionStatus+import Amazonka.CodeArtifact.Types.HashAlgorithm+import Amazonka.CodeArtifact.Types.LicenseInfo+import Amazonka.CodeArtifact.Types.PackageDependency+import Amazonka.CodeArtifact.Types.PackageDescription+import Amazonka.CodeArtifact.Types.PackageFormat+import Amazonka.CodeArtifact.Types.PackageOriginConfiguration+import Amazonka.CodeArtifact.Types.PackageOriginRestrictions+import Amazonka.CodeArtifact.Types.PackageSummary+import Amazonka.CodeArtifact.Types.PackageVersionDescription+import Amazonka.CodeArtifact.Types.PackageVersionError+import Amazonka.CodeArtifact.Types.PackageVersionErrorCode+import Amazonka.CodeArtifact.Types.PackageVersionOrigin+import Amazonka.CodeArtifact.Types.PackageVersionOriginType+import Amazonka.CodeArtifact.Types.PackageVersionSortType+import Amazonka.CodeArtifact.Types.PackageVersionStatus+import Amazonka.CodeArtifact.Types.PackageVersionSummary+import Amazonka.CodeArtifact.Types.RepositoryDescription+import Amazonka.CodeArtifact.Types.RepositoryExternalConnectionInfo+import Amazonka.CodeArtifact.Types.RepositorySummary+import Amazonka.CodeArtifact.Types.ResourcePolicy+import Amazonka.CodeArtifact.Types.SuccessfulPackageVersionInfo+import Amazonka.CodeArtifact.Types.Tag+import Amazonka.CodeArtifact.Types.UpstreamRepository+import Amazonka.CodeArtifact.Types.UpstreamRepositoryInfo+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-09-22@ of the Amazon CodeArtifact SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "CodeArtifact",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "codeartifact",+      Core.signingName = "codeartifact",+      Core.version = "2018-09-22",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "CodeArtifact",+      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++-- | The operation did not succeed because of an unauthorized access attempt.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | The operation did not succeed because prerequisites are not met.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The operation did not succeed because of an error that occurred inside+-- CodeArtifact.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The operation did not succeed because the resource requested is not+-- found in the service.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The operation did not succeed because it would have exceeded a service+-- limit for your account.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The operation did not succeed because too many requests are sent to the+-- service.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The operation did not succeed because a parameter in the request was+-- sent with an invalid value.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/CodeArtifact/Types/AllowPublish.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.CodeArtifact.Types.AllowPublish+-- 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.CodeArtifact.Types.AllowPublish+  ( AllowPublish+      ( ..,+        AllowPublish_ALLOW,+        AllowPublish_BLOCK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AllowPublish = AllowPublish'+  { fromAllowPublish ::+      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 AllowPublish_ALLOW :: AllowPublish+pattern AllowPublish_ALLOW = AllowPublish' "ALLOW"++pattern AllowPublish_BLOCK :: AllowPublish+pattern AllowPublish_BLOCK = AllowPublish' "BLOCK"++{-# COMPLETE+  AllowPublish_ALLOW,+  AllowPublish_BLOCK,+  AllowPublish'+  #-}
+ gen/Amazonka/CodeArtifact/Types/AllowUpstream.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.CodeArtifact.Types.AllowUpstream+-- 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.CodeArtifact.Types.AllowUpstream+  ( AllowUpstream+      ( ..,+        AllowUpstream_ALLOW,+        AllowUpstream_BLOCK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AllowUpstream = AllowUpstream'+  { fromAllowUpstream ::+      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 AllowUpstream_ALLOW :: AllowUpstream+pattern AllowUpstream_ALLOW = AllowUpstream' "ALLOW"++pattern AllowUpstream_BLOCK :: AllowUpstream+pattern AllowUpstream_BLOCK = AllowUpstream' "BLOCK"++{-# COMPLETE+  AllowUpstream_ALLOW,+  AllowUpstream_BLOCK,+  AllowUpstream'+  #-}
+ gen/Amazonka/CodeArtifact/Types/AssetSummary.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.AssetSummary+-- 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.CodeArtifact.Types.AssetSummary where++import Amazonka.CodeArtifact.Types.HashAlgorithm+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++-- | Contains details about a package version asset.+--+-- /See:/ 'newAssetSummary' smart constructor.+data AssetSummary = AssetSummary'+  { -- | The hashes of the asset.+    hashes :: Prelude.Maybe (Prelude.HashMap HashAlgorithm Prelude.Text),+    -- | The size of the asset.+    size :: Prelude.Maybe Prelude.Integer,+    -- | The name of the asset.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hashes', 'assetSummary_hashes' - The hashes of the asset.+--+-- 'size', 'assetSummary_size' - The size of the asset.+--+-- 'name', 'assetSummary_name' - The name of the asset.+newAssetSummary ::+  -- | 'name'+  Prelude.Text ->+  AssetSummary+newAssetSummary pName_ =+  AssetSummary'+    { hashes = Prelude.Nothing,+      size = Prelude.Nothing,+      name = pName_+    }++-- | The hashes of the asset.+assetSummary_hashes :: Lens.Lens' AssetSummary (Prelude.Maybe (Prelude.HashMap HashAlgorithm Prelude.Text))+assetSummary_hashes = Lens.lens (\AssetSummary' {hashes} -> hashes) (\s@AssetSummary' {} a -> s {hashes = a} :: AssetSummary) Prelude.. Lens.mapping Lens.coerced++-- | The size of the asset.+assetSummary_size :: Lens.Lens' AssetSummary (Prelude.Maybe Prelude.Integer)+assetSummary_size = Lens.lens (\AssetSummary' {size} -> size) (\s@AssetSummary' {} a -> s {size = a} :: AssetSummary)++-- | The name of the asset.+assetSummary_name :: Lens.Lens' AssetSummary Prelude.Text+assetSummary_name = Lens.lens (\AssetSummary' {name} -> name) (\s@AssetSummary' {} a -> s {name = a} :: AssetSummary)++instance Data.FromJSON AssetSummary where+  parseJSON =+    Data.withObject+      "AssetSummary"+      ( \x ->+          AssetSummary'+            Prelude.<$> (x Data..:? "hashes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "size")+            Prelude.<*> (x Data..: "name")+      )++instance Prelude.Hashable AssetSummary where+  hashWithSalt _salt AssetSummary' {..} =+    _salt+      `Prelude.hashWithSalt` hashes+      `Prelude.hashWithSalt` size+      `Prelude.hashWithSalt` name++instance Prelude.NFData AssetSummary where+  rnf AssetSummary' {..} =+    Prelude.rnf hashes+      `Prelude.seq` Prelude.rnf size+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/CodeArtifact/Types/DomainDescription.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.DomainDescription+-- 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.CodeArtifact.Types.DomainDescription where++import Amazonka.CodeArtifact.Types.DomainStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about a domain. A domain is a container for repositories.+-- When you create a domain, it is empty until you add one or more+-- repositories.+--+-- /See:/ 'newDomainDescription' smart constructor.+data DomainDescription = DomainDescription'+  { -- | The Amazon Resource Name (ARN) of the domain.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The total size of all assets in the domain.+    assetSizeBytes :: Prelude.Maybe Prelude.Integer,+    -- | A timestamp that represents the date and time the domain was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ARN of an Key Management Service (KMS) key associated with a domain.+    encryptionKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID that owns the domain.+    owner :: Prelude.Maybe Prelude.Text,+    -- | The number of repositories in the domain.+    repositoryCount :: Prelude.Maybe Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to+    -- store package assets in the domain.+    s3BucketArn :: Prelude.Maybe Prelude.Text,+    -- | The current status of a domain.+    status :: Prelude.Maybe DomainStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'domainDescription_arn' - The Amazon Resource Name (ARN) of the domain.+--+-- 'assetSizeBytes', 'domainDescription_assetSizeBytes' - The total size of all assets in the domain.+--+-- 'createdTime', 'domainDescription_createdTime' - A timestamp that represents the date and time the domain was created.+--+-- 'encryptionKey', 'domainDescription_encryptionKey' - The ARN of an Key Management Service (KMS) key associated with a domain.+--+-- 'name', 'domainDescription_name' - The name of the domain.+--+-- 'owner', 'domainDescription_owner' - The Amazon Web Services account ID that owns the domain.+--+-- 'repositoryCount', 'domainDescription_repositoryCount' - The number of repositories in the domain.+--+-- 's3BucketArn', 'domainDescription_s3BucketArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to+-- store package assets in the domain.+--+-- 'status', 'domainDescription_status' - The current status of a domain.+newDomainDescription ::+  DomainDescription+newDomainDescription =+  DomainDescription'+    { arn = Prelude.Nothing,+      assetSizeBytes = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      encryptionKey = Prelude.Nothing,+      name = Prelude.Nothing,+      owner = Prelude.Nothing,+      repositoryCount = Prelude.Nothing,+      s3BucketArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the domain.+domainDescription_arn :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Text)+domainDescription_arn = Lens.lens (\DomainDescription' {arn} -> arn) (\s@DomainDescription' {} a -> s {arn = a} :: DomainDescription)++-- | The total size of all assets in the domain.+domainDescription_assetSizeBytes :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Integer)+domainDescription_assetSizeBytes = Lens.lens (\DomainDescription' {assetSizeBytes} -> assetSizeBytes) (\s@DomainDescription' {} a -> s {assetSizeBytes = a} :: DomainDescription)++-- | A timestamp that represents the date and time the domain was created.+domainDescription_createdTime :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.UTCTime)+domainDescription_createdTime = Lens.lens (\DomainDescription' {createdTime} -> createdTime) (\s@DomainDescription' {} a -> s {createdTime = a} :: DomainDescription) Prelude.. Lens.mapping Data._Time++-- | The ARN of an Key Management Service (KMS) key associated with a domain.+domainDescription_encryptionKey :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Text)+domainDescription_encryptionKey = Lens.lens (\DomainDescription' {encryptionKey} -> encryptionKey) (\s@DomainDescription' {} a -> s {encryptionKey = a} :: DomainDescription)++-- | The name of the domain.+domainDescription_name :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Text)+domainDescription_name = Lens.lens (\DomainDescription' {name} -> name) (\s@DomainDescription' {} a -> s {name = a} :: DomainDescription)++-- | The Amazon Web Services account ID that owns the domain.+domainDescription_owner :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Text)+domainDescription_owner = Lens.lens (\DomainDescription' {owner} -> owner) (\s@DomainDescription' {} a -> s {owner = a} :: DomainDescription)++-- | The number of repositories in the domain.+domainDescription_repositoryCount :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Int)+domainDescription_repositoryCount = Lens.lens (\DomainDescription' {repositoryCount} -> repositoryCount) (\s@DomainDescription' {} a -> s {repositoryCount = a} :: DomainDescription)++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to+-- store package assets in the domain.+domainDescription_s3BucketArn :: Lens.Lens' DomainDescription (Prelude.Maybe Prelude.Text)+domainDescription_s3BucketArn = Lens.lens (\DomainDescription' {s3BucketArn} -> s3BucketArn) (\s@DomainDescription' {} a -> s {s3BucketArn = a} :: DomainDescription)++-- | The current status of a domain.+domainDescription_status :: Lens.Lens' DomainDescription (Prelude.Maybe DomainStatus)+domainDescription_status = Lens.lens (\DomainDescription' {status} -> status) (\s@DomainDescription' {} a -> s {status = a} :: DomainDescription)++instance Data.FromJSON DomainDescription where+  parseJSON =+    Data.withObject+      "DomainDescription"+      ( \x ->+          DomainDescription'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "assetSizeBytes")+            Prelude.<*> (x Data..:? "createdTime")+            Prelude.<*> (x Data..:? "encryptionKey")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "owner")+            Prelude.<*> (x Data..:? "repositoryCount")+            Prelude.<*> (x Data..:? "s3BucketArn")+            Prelude.<*> (x Data..:? "status")+      )++instance Prelude.Hashable DomainDescription where+  hashWithSalt _salt DomainDescription' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` assetSizeBytes+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` encryptionKey+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` repositoryCount+      `Prelude.hashWithSalt` s3BucketArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData DomainDescription where+  rnf DomainDescription' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf assetSizeBytes+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf encryptionKey+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf repositoryCount+      `Prelude.seq` Prelude.rnf s3BucketArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/CodeArtifact/Types/DomainEntryPoint.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.CodeArtifact.Types.DomainEntryPoint+-- 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.CodeArtifact.Types.DomainEntryPoint 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 how a package originally entered the CodeArtifact+-- domain. For packages published directly to CodeArtifact, the entry point+-- is the repository it was published to. For packages ingested from an+-- external repository, the entry point is the external connection that it+-- was ingested from. An external connection is a CodeArtifact repository+-- that is connected to an external repository such as the npm registry or+-- NuGet gallery.+--+-- /See:/ 'newDomainEntryPoint' smart constructor.+data DomainEntryPoint = DomainEntryPoint'+  { -- | The name of the external connection that a package was ingested from.+    externalConnectionName :: Prelude.Maybe Prelude.Text,+    -- | The name of the repository that a package was originally published to.+    repositoryName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainEntryPoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'externalConnectionName', 'domainEntryPoint_externalConnectionName' - The name of the external connection that a package was ingested from.+--+-- 'repositoryName', 'domainEntryPoint_repositoryName' - The name of the repository that a package was originally published to.+newDomainEntryPoint ::+  DomainEntryPoint+newDomainEntryPoint =+  DomainEntryPoint'+    { externalConnectionName =+        Prelude.Nothing,+      repositoryName = Prelude.Nothing+    }++-- | The name of the external connection that a package was ingested from.+domainEntryPoint_externalConnectionName :: Lens.Lens' DomainEntryPoint (Prelude.Maybe Prelude.Text)+domainEntryPoint_externalConnectionName = Lens.lens (\DomainEntryPoint' {externalConnectionName} -> externalConnectionName) (\s@DomainEntryPoint' {} a -> s {externalConnectionName = a} :: DomainEntryPoint)++-- | The name of the repository that a package was originally published to.+domainEntryPoint_repositoryName :: Lens.Lens' DomainEntryPoint (Prelude.Maybe Prelude.Text)+domainEntryPoint_repositoryName = Lens.lens (\DomainEntryPoint' {repositoryName} -> repositoryName) (\s@DomainEntryPoint' {} a -> s {repositoryName = a} :: DomainEntryPoint)++instance Data.FromJSON DomainEntryPoint where+  parseJSON =+    Data.withObject+      "DomainEntryPoint"+      ( \x ->+          DomainEntryPoint'+            Prelude.<$> (x Data..:? "externalConnectionName")+            Prelude.<*> (x Data..:? "repositoryName")+      )++instance Prelude.Hashable DomainEntryPoint where+  hashWithSalt _salt DomainEntryPoint' {..} =+    _salt+      `Prelude.hashWithSalt` externalConnectionName+      `Prelude.hashWithSalt` repositoryName++instance Prelude.NFData DomainEntryPoint where+  rnf DomainEntryPoint' {..} =+    Prelude.rnf externalConnectionName+      `Prelude.seq` Prelude.rnf repositoryName
+ gen/Amazonka/CodeArtifact/Types/DomainStatus.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.CodeArtifact.Types.DomainStatus+-- 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.CodeArtifact.Types.DomainStatus+  ( DomainStatus+      ( ..,+        DomainStatus_Active,+        DomainStatus_Deleted+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DomainStatus = DomainStatus'+  { fromDomainStatus ::+      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 DomainStatus_Active :: DomainStatus+pattern DomainStatus_Active = DomainStatus' "Active"++pattern DomainStatus_Deleted :: DomainStatus+pattern DomainStatus_Deleted = DomainStatus' "Deleted"++{-# COMPLETE+  DomainStatus_Active,+  DomainStatus_Deleted,+  DomainStatus'+  #-}
+ gen/Amazonka/CodeArtifact/Types/DomainSummary.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.DomainSummary+-- 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.CodeArtifact.Types.DomainSummary where++import Amazonka.CodeArtifact.Types.DomainStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about a domain, including its name, Amazon Resource Name+-- (ARN), and status. The+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListDomains.html ListDomains>+-- operation returns a list of @DomainSummary@ objects.+--+-- /See:/ 'newDomainSummary' smart constructor.+data DomainSummary = DomainSummary'+  { -- | The ARN of the domain.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that contains the date and time the domain was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The key used to encrypt the domain.+    encryptionKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain.+    name :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    owner :: Prelude.Maybe Prelude.Text,+    -- | A string that contains the status of the domain.+    status :: Prelude.Maybe DomainStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'domainSummary_arn' - The ARN of the domain.+--+-- 'createdTime', 'domainSummary_createdTime' - A timestamp that contains the date and time the domain was created.+--+-- 'encryptionKey', 'domainSummary_encryptionKey' - The key used to encrypt the domain.+--+-- 'name', 'domainSummary_name' - The name of the domain.+--+-- 'owner', 'domainSummary_owner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'status', 'domainSummary_status' - A string that contains the status of the domain.+newDomainSummary ::+  DomainSummary+newDomainSummary =+  DomainSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      encryptionKey = Prelude.Nothing,+      name = Prelude.Nothing,+      owner = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The ARN of the domain.+domainSummary_arn :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_arn = Lens.lens (\DomainSummary' {arn} -> arn) (\s@DomainSummary' {} a -> s {arn = a} :: DomainSummary)++-- | A timestamp that contains the date and time the domain was created.+domainSummary_createdTime :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.UTCTime)+domainSummary_createdTime = Lens.lens (\DomainSummary' {createdTime} -> createdTime) (\s@DomainSummary' {} a -> s {createdTime = a} :: DomainSummary) Prelude.. Lens.mapping Data._Time++-- | The key used to encrypt the domain.+domainSummary_encryptionKey :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_encryptionKey = Lens.lens (\DomainSummary' {encryptionKey} -> encryptionKey) (\s@DomainSummary' {} a -> s {encryptionKey = a} :: DomainSummary)++-- | The name of the domain.+domainSummary_name :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_name = Lens.lens (\DomainSummary' {name} -> name) (\s@DomainSummary' {} a -> s {name = a} :: DomainSummary)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+domainSummary_owner :: Lens.Lens' DomainSummary (Prelude.Maybe Prelude.Text)+domainSummary_owner = Lens.lens (\DomainSummary' {owner} -> owner) (\s@DomainSummary' {} a -> s {owner = a} :: DomainSummary)++-- | A string that contains the status of the domain.+domainSummary_status :: Lens.Lens' DomainSummary (Prelude.Maybe DomainStatus)+domainSummary_status = Lens.lens (\DomainSummary' {status} -> status) (\s@DomainSummary' {} a -> s {status = a} :: DomainSummary)++instance Data.FromJSON DomainSummary where+  parseJSON =+    Data.withObject+      "DomainSummary"+      ( \x ->+          DomainSummary'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "createdTime")+            Prelude.<*> (x Data..:? "encryptionKey")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "owner")+            Prelude.<*> (x Data..:? "status")+      )++instance Prelude.Hashable DomainSummary where+  hashWithSalt _salt DomainSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` encryptionKey+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` status++instance Prelude.NFData DomainSummary where+  rnf DomainSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf encryptionKey+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/CodeArtifact/Types/ExternalConnectionStatus.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.CodeArtifact.Types.ExternalConnectionStatus+-- 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.CodeArtifact.Types.ExternalConnectionStatus+  ( ExternalConnectionStatus+      ( ..,+        ExternalConnectionStatus_Available+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExternalConnectionStatus = ExternalConnectionStatus'+  { fromExternalConnectionStatus ::+      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 ExternalConnectionStatus_Available :: ExternalConnectionStatus+pattern ExternalConnectionStatus_Available = ExternalConnectionStatus' "Available"++{-# COMPLETE+  ExternalConnectionStatus_Available,+  ExternalConnectionStatus'+  #-}
+ gen/Amazonka/CodeArtifact/Types/HashAlgorithm.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.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.CodeArtifact.Types.HashAlgorithm+  ( HashAlgorithm+      ( ..,+        HashAlgorithm_MD5,+        HashAlgorithm_SHA_1,+        HashAlgorithm_SHA_256,+        HashAlgorithm_SHA_512+      ),+  )+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_MD5 :: HashAlgorithm+pattern HashAlgorithm_MD5 = HashAlgorithm' "MD5"++pattern HashAlgorithm_SHA_1 :: HashAlgorithm+pattern HashAlgorithm_SHA_1 = HashAlgorithm' "SHA-1"++pattern HashAlgorithm_SHA_256 :: HashAlgorithm+pattern HashAlgorithm_SHA_256 = HashAlgorithm' "SHA-256"++pattern HashAlgorithm_SHA_512 :: HashAlgorithm+pattern HashAlgorithm_SHA_512 = HashAlgorithm' "SHA-512"++{-# COMPLETE+  HashAlgorithm_MD5,+  HashAlgorithm_SHA_1,+  HashAlgorithm_SHA_256,+  HashAlgorithm_SHA_512,+  HashAlgorithm'+  #-}
+ gen/Amazonka/CodeArtifact/Types/LicenseInfo.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.LicenseInfo+-- 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.CodeArtifact.Types.LicenseInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details of the license data.+--+-- /See:/ 'newLicenseInfo' smart constructor.+data LicenseInfo = LicenseInfo'+  { -- | Name of the license.+    name :: Prelude.Maybe Prelude.Text,+    -- | The URL for license data.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'licenseInfo_name' - Name of the license.+--+-- 'url', 'licenseInfo_url' - The URL for license data.+newLicenseInfo ::+  LicenseInfo+newLicenseInfo =+  LicenseInfo'+    { name = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | Name of the license.+licenseInfo_name :: Lens.Lens' LicenseInfo (Prelude.Maybe Prelude.Text)+licenseInfo_name = Lens.lens (\LicenseInfo' {name} -> name) (\s@LicenseInfo' {} a -> s {name = a} :: LicenseInfo)++-- | The URL for license data.+licenseInfo_url :: Lens.Lens' LicenseInfo (Prelude.Maybe Prelude.Text)+licenseInfo_url = Lens.lens (\LicenseInfo' {url} -> url) (\s@LicenseInfo' {} a -> s {url = a} :: LicenseInfo)++instance Data.FromJSON LicenseInfo where+  parseJSON =+    Data.withObject+      "LicenseInfo"+      ( \x ->+          LicenseInfo'+            Prelude.<$> (x Data..:? "name")+            Prelude.<*> (x Data..:? "url")+      )++instance Prelude.Hashable LicenseInfo where+  hashWithSalt _salt LicenseInfo' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` url++instance Prelude.NFData LicenseInfo where+  rnf LicenseInfo' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/CodeArtifact/Types/PackageDependency.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageDependency+-- 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.CodeArtifact.Types.PackageDependency where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a package dependency.+--+-- /See:/ 'newPackageDependency' smart constructor.+data PackageDependency = PackageDependency'+  { -- | The type of a package dependency. The possible values depend on the+    -- package type. Example types are @compile@, @runtime@, and @test@ for+    -- Maven packages, and @dev@, @prod@, and @optional@ for npm packages.+    dependencyType :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package that this package depends on. The package+    -- component that specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The name of the package that this package depends on.+    package :: Prelude.Maybe Prelude.Text,+    -- | The required version, or version range, of the package that this package+    -- depends on. The version format is specific to the package type. For+    -- example, the following are possible valid required versions: @1.2.3@,+    -- @^2.3.4@, or @4.x@.+    versionRequirement :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageDependency' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dependencyType', 'packageDependency_dependencyType' - The type of a package dependency. The possible values depend on the+-- package type. Example types are @compile@, @runtime@, and @test@ for+-- Maven packages, and @dev@, @prod@, and @optional@ for npm packages.+--+-- 'namespace', 'packageDependency_namespace' - The namespace of the package that this package depends on. The package+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'package', 'packageDependency_package' - The name of the package that this package depends on.+--+-- 'versionRequirement', 'packageDependency_versionRequirement' - The required version, or version range, of the package that this package+-- depends on. The version format is specific to the package type. For+-- example, the following are possible valid required versions: @1.2.3@,+-- @^2.3.4@, or @4.x@.+newPackageDependency ::+  PackageDependency+newPackageDependency =+  PackageDependency'+    { dependencyType =+        Prelude.Nothing,+      namespace = Prelude.Nothing,+      package = Prelude.Nothing,+      versionRequirement = Prelude.Nothing+    }++-- | The type of a package dependency. The possible values depend on the+-- package type. Example types are @compile@, @runtime@, and @test@ for+-- Maven packages, and @dev@, @prod@, and @optional@ for npm packages.+packageDependency_dependencyType :: Lens.Lens' PackageDependency (Prelude.Maybe Prelude.Text)+packageDependency_dependencyType = Lens.lens (\PackageDependency' {dependencyType} -> dependencyType) (\s@PackageDependency' {} a -> s {dependencyType = a} :: PackageDependency)++-- | The namespace of the package that this package depends on. The package+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+packageDependency_namespace :: Lens.Lens' PackageDependency (Prelude.Maybe Prelude.Text)+packageDependency_namespace = Lens.lens (\PackageDependency' {namespace} -> namespace) (\s@PackageDependency' {} a -> s {namespace = a} :: PackageDependency)++-- | The name of the package that this package depends on.+packageDependency_package :: Lens.Lens' PackageDependency (Prelude.Maybe Prelude.Text)+packageDependency_package = Lens.lens (\PackageDependency' {package} -> package) (\s@PackageDependency' {} a -> s {package = a} :: PackageDependency)++-- | The required version, or version range, of the package that this package+-- depends on. The version format is specific to the package type. For+-- example, the following are possible valid required versions: @1.2.3@,+-- @^2.3.4@, or @4.x@.+packageDependency_versionRequirement :: Lens.Lens' PackageDependency (Prelude.Maybe Prelude.Text)+packageDependency_versionRequirement = Lens.lens (\PackageDependency' {versionRequirement} -> versionRequirement) (\s@PackageDependency' {} a -> s {versionRequirement = a} :: PackageDependency)++instance Data.FromJSON PackageDependency where+  parseJSON =+    Data.withObject+      "PackageDependency"+      ( \x ->+          PackageDependency'+            Prelude.<$> (x Data..:? "dependencyType")+            Prelude.<*> (x Data..:? "namespace")+            Prelude.<*> (x Data..:? "package")+            Prelude.<*> (x Data..:? "versionRequirement")+      )++instance Prelude.Hashable PackageDependency where+  hashWithSalt _salt PackageDependency' {..} =+    _salt+      `Prelude.hashWithSalt` dependencyType+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` versionRequirement++instance Prelude.NFData PackageDependency where+  rnf PackageDependency' {..} =+    Prelude.rnf dependencyType+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf versionRequirement
+ gen/Amazonka/CodeArtifact/Types/PackageDescription.hs view
@@ -0,0 +1,134 @@+{-# 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.CodeArtifact.Types.PackageDescription+-- 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.CodeArtifact.Types.PackageDescription where++import Amazonka.CodeArtifact.Types.PackageFormat+import Amazonka.CodeArtifact.Types.PackageOriginConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a package.+--+-- /See:/ 'newPackageDescription' smart constructor.+data PackageDescription = PackageDescription'+  { -- | A format that specifies the type of the package.+    format :: Prelude.Maybe PackageFormat,+    -- | The name of the package.+    name :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the package. The package component that specifies its+    -- namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The package origin configuration for the package.+    originConfiguration :: Prelude.Maybe PackageOriginConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'packageDescription_format' - A format that specifies the type of the package.+--+-- 'name', 'packageDescription_name' - The name of the package.+--+-- 'namespace', 'packageDescription_namespace' - The namespace of the package. The package component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'originConfiguration', 'packageDescription_originConfiguration' - The package origin configuration for the package.+newPackageDescription ::+  PackageDescription+newPackageDescription =+  PackageDescription'+    { format = Prelude.Nothing,+      name = Prelude.Nothing,+      namespace = Prelude.Nothing,+      originConfiguration = Prelude.Nothing+    }++-- | A format that specifies the type of the package.+packageDescription_format :: Lens.Lens' PackageDescription (Prelude.Maybe PackageFormat)+packageDescription_format = Lens.lens (\PackageDescription' {format} -> format) (\s@PackageDescription' {} a -> s {format = a} :: PackageDescription)++-- | The name of the package.+packageDescription_name :: Lens.Lens' PackageDescription (Prelude.Maybe Prelude.Text)+packageDescription_name = Lens.lens (\PackageDescription' {name} -> name) (\s@PackageDescription' {} a -> s {name = a} :: PackageDescription)++-- | The namespace of the package. The package component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+packageDescription_namespace :: Lens.Lens' PackageDescription (Prelude.Maybe Prelude.Text)+packageDescription_namespace = Lens.lens (\PackageDescription' {namespace} -> namespace) (\s@PackageDescription' {} a -> s {namespace = a} :: PackageDescription)++-- | The package origin configuration for the package.+packageDescription_originConfiguration :: Lens.Lens' PackageDescription (Prelude.Maybe PackageOriginConfiguration)+packageDescription_originConfiguration = Lens.lens (\PackageDescription' {originConfiguration} -> originConfiguration) (\s@PackageDescription' {} a -> s {originConfiguration = a} :: PackageDescription)++instance Data.FromJSON PackageDescription where+  parseJSON =+    Data.withObject+      "PackageDescription"+      ( \x ->+          PackageDescription'+            Prelude.<$> (x Data..:? "format")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "namespace")+            Prelude.<*> (x Data..:? "originConfiguration")+      )++instance Prelude.Hashable PackageDescription where+  hashWithSalt _salt PackageDescription' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` originConfiguration++instance Prelude.NFData PackageDescription where+  rnf PackageDescription' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf originConfiguration
+ gen/Amazonka/CodeArtifact/Types/PackageFormat.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageFormat+-- 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.CodeArtifact.Types.PackageFormat+  ( PackageFormat+      ( ..,+        PackageFormat_Maven,+        PackageFormat_Npm,+        PackageFormat_Nuget,+        PackageFormat_Pypi+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageFormat = PackageFormat'+  { fromPackageFormat ::+      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 PackageFormat_Maven :: PackageFormat+pattern PackageFormat_Maven = PackageFormat' "maven"++pattern PackageFormat_Npm :: PackageFormat+pattern PackageFormat_Npm = PackageFormat' "npm"++pattern PackageFormat_Nuget :: PackageFormat+pattern PackageFormat_Nuget = PackageFormat' "nuget"++pattern PackageFormat_Pypi :: PackageFormat+pattern PackageFormat_Pypi = PackageFormat' "pypi"++{-# COMPLETE+  PackageFormat_Maven,+  PackageFormat_Npm,+  PackageFormat_Nuget,+  PackageFormat_Pypi,+  PackageFormat'+  #-}
+ gen/Amazonka/CodeArtifact/Types/PackageOriginConfiguration.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageOriginConfiguration+-- 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.CodeArtifact.Types.PackageOriginConfiguration where++import Amazonka.CodeArtifact.Types.PackageOriginRestrictions+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the package origin configuration of a package.+--+-- /See:/ 'newPackageOriginConfiguration' smart constructor.+data PackageOriginConfiguration = PackageOriginConfiguration'+  { -- | A @PackageOriginRestrictions@ object that contains information about the+    -- upstream and publish package origin configuration for the package.+    restrictions :: Prelude.Maybe PackageOriginRestrictions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageOriginConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'restrictions', 'packageOriginConfiguration_restrictions' - A @PackageOriginRestrictions@ object that contains information about the+-- upstream and publish package origin configuration for the package.+newPackageOriginConfiguration ::+  PackageOriginConfiguration+newPackageOriginConfiguration =+  PackageOriginConfiguration'+    { restrictions =+        Prelude.Nothing+    }++-- | A @PackageOriginRestrictions@ object that contains information about the+-- upstream and publish package origin configuration for the package.+packageOriginConfiguration_restrictions :: Lens.Lens' PackageOriginConfiguration (Prelude.Maybe PackageOriginRestrictions)+packageOriginConfiguration_restrictions = Lens.lens (\PackageOriginConfiguration' {restrictions} -> restrictions) (\s@PackageOriginConfiguration' {} a -> s {restrictions = a} :: PackageOriginConfiguration)++instance Data.FromJSON PackageOriginConfiguration where+  parseJSON =+    Data.withObject+      "PackageOriginConfiguration"+      ( \x ->+          PackageOriginConfiguration'+            Prelude.<$> (x Data..:? "restrictions")+      )++instance Prelude.Hashable PackageOriginConfiguration where+  hashWithSalt _salt PackageOriginConfiguration' {..} =+    _salt `Prelude.hashWithSalt` restrictions++instance Prelude.NFData PackageOriginConfiguration where+  rnf PackageOriginConfiguration' {..} =+    Prelude.rnf restrictions
+ gen/Amazonka/CodeArtifact/Types/PackageOriginRestrictions.hs view
@@ -0,0 +1,110 @@+{-# 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.CodeArtifact.Types.PackageOriginRestrictions+-- 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.CodeArtifact.Types.PackageOriginRestrictions where++import Amazonka.CodeArtifact.Types.AllowPublish+import Amazonka.CodeArtifact.Types.AllowUpstream+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the origin restrictions set on the package. The package+-- origin restrictions determine how new versions of a package can be added+-- to a specific repository.+--+-- /See:/ 'newPackageOriginRestrictions' smart constructor.+data PackageOriginRestrictions = PackageOriginRestrictions'+  { -- | The package origin configuration that determines if new versions of the+    -- package can be published directly to the repository.+    publish :: AllowPublish,+    -- | The package origin configuration that determines if new versions of the+    -- package can be added to the repository from an external connection or+    -- upstream source.+    upstream :: AllowUpstream+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageOriginRestrictions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'publish', 'packageOriginRestrictions_publish' - The package origin configuration that determines if new versions of the+-- package can be published directly to the repository.+--+-- 'upstream', 'packageOriginRestrictions_upstream' - The package origin configuration that determines if new versions of the+-- package can be added to the repository from an external connection or+-- upstream source.+newPackageOriginRestrictions ::+  -- | 'publish'+  AllowPublish ->+  -- | 'upstream'+  AllowUpstream ->+  PackageOriginRestrictions+newPackageOriginRestrictions pPublish_ pUpstream_ =+  PackageOriginRestrictions'+    { publish = pPublish_,+      upstream = pUpstream_+    }++-- | The package origin configuration that determines if new versions of the+-- package can be published directly to the repository.+packageOriginRestrictions_publish :: Lens.Lens' PackageOriginRestrictions AllowPublish+packageOriginRestrictions_publish = Lens.lens (\PackageOriginRestrictions' {publish} -> publish) (\s@PackageOriginRestrictions' {} a -> s {publish = a} :: PackageOriginRestrictions)++-- | The package origin configuration that determines if new versions of the+-- package can be added to the repository from an external connection or+-- upstream source.+packageOriginRestrictions_upstream :: Lens.Lens' PackageOriginRestrictions AllowUpstream+packageOriginRestrictions_upstream = Lens.lens (\PackageOriginRestrictions' {upstream} -> upstream) (\s@PackageOriginRestrictions' {} a -> s {upstream = a} :: PackageOriginRestrictions)++instance Data.FromJSON PackageOriginRestrictions where+  parseJSON =+    Data.withObject+      "PackageOriginRestrictions"+      ( \x ->+          PackageOriginRestrictions'+            Prelude.<$> (x Data..: "publish")+            Prelude.<*> (x Data..: "upstream")+      )++instance Prelude.Hashable PackageOriginRestrictions where+  hashWithSalt _salt PackageOriginRestrictions' {..} =+    _salt+      `Prelude.hashWithSalt` publish+      `Prelude.hashWithSalt` upstream++instance Prelude.NFData PackageOriginRestrictions where+  rnf PackageOriginRestrictions' {..} =+    Prelude.rnf publish+      `Prelude.seq` Prelude.rnf upstream++instance Data.ToJSON PackageOriginRestrictions where+  toJSON PackageOriginRestrictions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("publish" Data..= publish),+            Prelude.Just ("upstream" Data..= upstream)+          ]+      )
+ gen/Amazonka/CodeArtifact/Types/PackageSummary.hs view
@@ -0,0 +1,151 @@+{-# 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.CodeArtifact.Types.PackageSummary+-- 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.CodeArtifact.Types.PackageSummary where++import Amazonka.CodeArtifact.Types.PackageFormat+import Amazonka.CodeArtifact.Types.PackageOriginConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a package, including its format, namespace, and name. The+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackages.html ListPackages>+-- operation returns a list of @PackageSummary@ objects.+--+-- /See:/ 'newPackageSummary' smart constructor.+data PackageSummary = PackageSummary'+  { -- | The format of the package.+    format :: Prelude.Maybe PackageFormat,+    -- | The namespace of the package. The package component that specifies its+    -- namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package is its @groupId@.+    --+    -- -   The namespace of an npm package is its @scope@.+    --+    -- -   Python and NuGet packages do not contain a corresponding component,+    --     packages of those formats do not have a namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+    -- object that contains a+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+    -- object that contains information about the upstream and publish package+    -- origin restrictions.+    originConfiguration :: Prelude.Maybe PackageOriginConfiguration,+    -- | The name of the package.+    package :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'packageSummary_format' - The format of the package.+--+-- 'namespace', 'packageSummary_namespace' - The namespace of the package. The package component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+--+-- 'originConfiguration', 'packageSummary_originConfiguration' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+-- object that contains a+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that contains information about the upstream and publish package+-- origin restrictions.+--+-- 'package', 'packageSummary_package' - The name of the package.+newPackageSummary ::+  PackageSummary+newPackageSummary =+  PackageSummary'+    { format = Prelude.Nothing,+      namespace = Prelude.Nothing,+      originConfiguration = Prelude.Nothing,+      package = Prelude.Nothing+    }++-- | The format of the package.+packageSummary_format :: Lens.Lens' PackageSummary (Prelude.Maybe PackageFormat)+packageSummary_format = Lens.lens (\PackageSummary' {format} -> format) (\s@PackageSummary' {} a -> s {format = a} :: PackageSummary)++-- | The namespace of the package. The package component that specifies its+-- namespace depends on its type. For example:+--+-- -   The namespace of a Maven package is its @groupId@.+--+-- -   The namespace of an npm package is its @scope@.+--+-- -   Python and NuGet packages do not contain a corresponding component,+--     packages of those formats do not have a namespace.+packageSummary_namespace :: Lens.Lens' PackageSummary (Prelude.Maybe Prelude.Text)+packageSummary_namespace = Lens.lens (\PackageSummary' {namespace} -> namespace) (\s@PackageSummary' {} a -> s {namespace = a} :: PackageSummary)++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html PackageOriginConfiguration>+-- object that contains a+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html PackageOriginRestrictions>+-- object that contains information about the upstream and publish package+-- origin restrictions.+packageSummary_originConfiguration :: Lens.Lens' PackageSummary (Prelude.Maybe PackageOriginConfiguration)+packageSummary_originConfiguration = Lens.lens (\PackageSummary' {originConfiguration} -> originConfiguration) (\s@PackageSummary' {} a -> s {originConfiguration = a} :: PackageSummary)++-- | The name of the package.+packageSummary_package :: Lens.Lens' PackageSummary (Prelude.Maybe Prelude.Text)+packageSummary_package = Lens.lens (\PackageSummary' {package} -> package) (\s@PackageSummary' {} a -> s {package = a} :: PackageSummary)++instance Data.FromJSON PackageSummary where+  parseJSON =+    Data.withObject+      "PackageSummary"+      ( \x ->+          PackageSummary'+            Prelude.<$> (x Data..:? "format")+            Prelude.<*> (x Data..:? "namespace")+            Prelude.<*> (x Data..:? "originConfiguration")+            Prelude.<*> (x Data..:? "package")+      )++instance Prelude.Hashable PackageSummary where+  hashWithSalt _salt PackageSummary' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` originConfiguration+      `Prelude.hashWithSalt` package++instance Prelude.NFData PackageSummary where+  rnf PackageSummary' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf originConfiguration+      `Prelude.seq` Prelude.rnf package
+ gen/Amazonka/CodeArtifact/Types/PackageVersionDescription.hs view
@@ -0,0 +1,278 @@+{-# 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.CodeArtifact.Types.PackageVersionDescription+-- 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.CodeArtifact.Types.PackageVersionDescription where++import Amazonka.CodeArtifact.Types.LicenseInfo+import Amazonka.CodeArtifact.Types.PackageFormat+import Amazonka.CodeArtifact.Types.PackageVersionOrigin+import Amazonka.CodeArtifact.Types.PackageVersionStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a package version.+--+-- /See:/ 'newPackageVersionDescription' smart constructor.+data PackageVersionDescription = PackageVersionDescription'+  { -- | The name of the package that is displayed. The @displayName@ varies+    -- depending on the package version\'s format. For example, if an npm+    -- package is named @ui@, is in the namespace @vue@, and has the format+    -- @npm@, then the @displayName@ is @\@vue\/ui@.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The format of the package version.+    format :: Prelude.Maybe PackageFormat,+    -- | The homepage associated with the package.+    homePage :: Prelude.Maybe Prelude.Text,+    -- | Information about licenses associated with the package version.+    licenses :: Prelude.Maybe [LicenseInfo],+    -- | The namespace of the package version. The package version component that+    -- specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+    -- object that contains information about how the package version was added+    -- to the repository.+    origin :: Prelude.Maybe PackageVersionOrigin,+    -- | The name of the requested package.+    packageName :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that contains the date and time the package version was+    -- published.+    publishedTime :: Prelude.Maybe Data.POSIX,+    -- | The revision of the package version.+    revision :: Prelude.Maybe Prelude.Text,+    -- | The repository for the source code in the package version, or the source+    -- code used to build it.+    sourceCodeRepository :: Prelude.Maybe Prelude.Text,+    -- | A string that contains the status of the package version.+    status :: Prelude.Maybe PackageVersionStatus,+    -- | A summary of the package version. The summary is extracted from the+    -- package. The information in and detail level of the summary depends on+    -- the package version\'s format.+    summary :: Prelude.Maybe Prelude.Text,+    -- | The version of the package.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayName', 'packageVersionDescription_displayName' - The name of the package that is displayed. The @displayName@ varies+-- depending on the package version\'s format. For example, if an npm+-- package is named @ui@, is in the namespace @vue@, and has the format+-- @npm@, then the @displayName@ is @\@vue\/ui@.+--+-- 'format', 'packageVersionDescription_format' - The format of the package version.+--+-- 'homePage', 'packageVersionDescription_homePage' - The homepage associated with the package.+--+-- 'licenses', 'packageVersionDescription_licenses' - Information about licenses associated with the package version.+--+-- 'namespace', 'packageVersionDescription_namespace' - The namespace of the package version. The package version component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'origin', 'packageVersionDescription_origin' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+-- object that contains information about how the package version was added+-- to the repository.+--+-- 'packageName', 'packageVersionDescription_packageName' - The name of the requested package.+--+-- 'publishedTime', 'packageVersionDescription_publishedTime' - A timestamp that contains the date and time the package version was+-- published.+--+-- 'revision', 'packageVersionDescription_revision' - The revision of the package version.+--+-- 'sourceCodeRepository', 'packageVersionDescription_sourceCodeRepository' - The repository for the source code in the package version, or the source+-- code used to build it.+--+-- 'status', 'packageVersionDescription_status' - A string that contains the status of the package version.+--+-- 'summary', 'packageVersionDescription_summary' - A summary of the package version. The summary is extracted from the+-- package. The information in and detail level of the summary depends on+-- the package version\'s format.+--+-- 'version', 'packageVersionDescription_version' - The version of the package.+newPackageVersionDescription ::+  PackageVersionDescription+newPackageVersionDescription =+  PackageVersionDescription'+    { displayName =+        Prelude.Nothing,+      format = Prelude.Nothing,+      homePage = Prelude.Nothing,+      licenses = Prelude.Nothing,+      namespace = Prelude.Nothing,+      origin = Prelude.Nothing,+      packageName = Prelude.Nothing,+      publishedTime = Prelude.Nothing,+      revision = Prelude.Nothing,+      sourceCodeRepository = Prelude.Nothing,+      status = Prelude.Nothing,+      summary = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The name of the package that is displayed. The @displayName@ varies+-- depending on the package version\'s format. For example, if an npm+-- package is named @ui@, is in the namespace @vue@, and has the format+-- @npm@, then the @displayName@ is @\@vue\/ui@.+packageVersionDescription_displayName :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_displayName = Lens.lens (\PackageVersionDescription' {displayName} -> displayName) (\s@PackageVersionDescription' {} a -> s {displayName = a} :: PackageVersionDescription)++-- | The format of the package version.+packageVersionDescription_format :: Lens.Lens' PackageVersionDescription (Prelude.Maybe PackageFormat)+packageVersionDescription_format = Lens.lens (\PackageVersionDescription' {format} -> format) (\s@PackageVersionDescription' {} a -> s {format = a} :: PackageVersionDescription)++-- | The homepage associated with the package.+packageVersionDescription_homePage :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_homePage = Lens.lens (\PackageVersionDescription' {homePage} -> homePage) (\s@PackageVersionDescription' {} a -> s {homePage = a} :: PackageVersionDescription)++-- | Information about licenses associated with the package version.+packageVersionDescription_licenses :: Lens.Lens' PackageVersionDescription (Prelude.Maybe [LicenseInfo])+packageVersionDescription_licenses = Lens.lens (\PackageVersionDescription' {licenses} -> licenses) (\s@PackageVersionDescription' {} a -> s {licenses = a} :: PackageVersionDescription) Prelude.. Lens.mapping Lens.coerced++-- | The namespace of the package version. The package version component that+-- specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+packageVersionDescription_namespace :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_namespace = Lens.lens (\PackageVersionDescription' {namespace} -> namespace) (\s@PackageVersionDescription' {} a -> s {namespace = a} :: PackageVersionDescription)++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+-- object that contains information about how the package version was added+-- to the repository.+packageVersionDescription_origin :: Lens.Lens' PackageVersionDescription (Prelude.Maybe PackageVersionOrigin)+packageVersionDescription_origin = Lens.lens (\PackageVersionDescription' {origin} -> origin) (\s@PackageVersionDescription' {} a -> s {origin = a} :: PackageVersionDescription)++-- | The name of the requested package.+packageVersionDescription_packageName :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_packageName = Lens.lens (\PackageVersionDescription' {packageName} -> packageName) (\s@PackageVersionDescription' {} a -> s {packageName = a} :: PackageVersionDescription)++-- | A timestamp that contains the date and time the package version was+-- published.+packageVersionDescription_publishedTime :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.UTCTime)+packageVersionDescription_publishedTime = Lens.lens (\PackageVersionDescription' {publishedTime} -> publishedTime) (\s@PackageVersionDescription' {} a -> s {publishedTime = a} :: PackageVersionDescription) Prelude.. Lens.mapping Data._Time++-- | The revision of the package version.+packageVersionDescription_revision :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_revision = Lens.lens (\PackageVersionDescription' {revision} -> revision) (\s@PackageVersionDescription' {} a -> s {revision = a} :: PackageVersionDescription)++-- | The repository for the source code in the package version, or the source+-- code used to build it.+packageVersionDescription_sourceCodeRepository :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_sourceCodeRepository = Lens.lens (\PackageVersionDescription' {sourceCodeRepository} -> sourceCodeRepository) (\s@PackageVersionDescription' {} a -> s {sourceCodeRepository = a} :: PackageVersionDescription)++-- | A string that contains the status of the package version.+packageVersionDescription_status :: Lens.Lens' PackageVersionDescription (Prelude.Maybe PackageVersionStatus)+packageVersionDescription_status = Lens.lens (\PackageVersionDescription' {status} -> status) (\s@PackageVersionDescription' {} a -> s {status = a} :: PackageVersionDescription)++-- | A summary of the package version. The summary is extracted from the+-- package. The information in and detail level of the summary depends on+-- the package version\'s format.+packageVersionDescription_summary :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_summary = Lens.lens (\PackageVersionDescription' {summary} -> summary) (\s@PackageVersionDescription' {} a -> s {summary = a} :: PackageVersionDescription)++-- | The version of the package.+packageVersionDescription_version :: Lens.Lens' PackageVersionDescription (Prelude.Maybe Prelude.Text)+packageVersionDescription_version = Lens.lens (\PackageVersionDescription' {version} -> version) (\s@PackageVersionDescription' {} a -> s {version = a} :: PackageVersionDescription)++instance Data.FromJSON PackageVersionDescription where+  parseJSON =+    Data.withObject+      "PackageVersionDescription"+      ( \x ->+          PackageVersionDescription'+            Prelude.<$> (x Data..:? "displayName")+            Prelude.<*> (x Data..:? "format")+            Prelude.<*> (x Data..:? "homePage")+            Prelude.<*> (x Data..:? "licenses" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "namespace")+            Prelude.<*> (x Data..:? "origin")+            Prelude.<*> (x Data..:? "packageName")+            Prelude.<*> (x Data..:? "publishedTime")+            Prelude.<*> (x Data..:? "revision")+            Prelude.<*> (x Data..:? "sourceCodeRepository")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "summary")+            Prelude.<*> (x Data..:? "version")+      )++instance Prelude.Hashable PackageVersionDescription where+  hashWithSalt _salt PackageVersionDescription' {..} =+    _salt+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` homePage+      `Prelude.hashWithSalt` licenses+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` origin+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` publishedTime+      `Prelude.hashWithSalt` revision+      `Prelude.hashWithSalt` sourceCodeRepository+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` summary+      `Prelude.hashWithSalt` version++instance Prelude.NFData PackageVersionDescription where+  rnf PackageVersionDescription' {..} =+    Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf homePage+      `Prelude.seq` Prelude.rnf licenses+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf origin+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf publishedTime+      `Prelude.seq` Prelude.rnf revision+      `Prelude.seq` Prelude.rnf sourceCodeRepository+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf summary+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/CodeArtifact/Types/PackageVersionError.hs view
@@ -0,0 +1,121 @@+{-# 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.CodeArtifact.Types.PackageVersionError+-- 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.CodeArtifact.Types.PackageVersionError where++import Amazonka.CodeArtifact.Types.PackageVersionErrorCode+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++-- | l An error associated with package.+--+-- /See:/ 'newPackageVersionError' smart constructor.+data PackageVersionError = PackageVersionError'+  { -- | The error code associated with the error. Valid error codes are:+    --+    -- -   @ALREADY_EXISTS@+    --+    -- -   @MISMATCHED_REVISION@+    --+    -- -   @MISMATCHED_STATUS@+    --+    -- -   @NOT_ALLOWED@+    --+    -- -   @NOT_FOUND@+    --+    -- -   @SKIPPED@+    errorCode :: Prelude.Maybe PackageVersionErrorCode,+    -- | The error message associated with the error.+    errorMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'packageVersionError_errorCode' - The error code associated with the error. Valid error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+--+-- 'errorMessage', 'packageVersionError_errorMessage' - The error message associated with the error.+newPackageVersionError ::+  PackageVersionError+newPackageVersionError =+  PackageVersionError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing+    }++-- | The error code associated with the error. Valid error codes are:+--+-- -   @ALREADY_EXISTS@+--+-- -   @MISMATCHED_REVISION@+--+-- -   @MISMATCHED_STATUS@+--+-- -   @NOT_ALLOWED@+--+-- -   @NOT_FOUND@+--+-- -   @SKIPPED@+packageVersionError_errorCode :: Lens.Lens' PackageVersionError (Prelude.Maybe PackageVersionErrorCode)+packageVersionError_errorCode = Lens.lens (\PackageVersionError' {errorCode} -> errorCode) (\s@PackageVersionError' {} a -> s {errorCode = a} :: PackageVersionError)++-- | The error message associated with the error.+packageVersionError_errorMessage :: Lens.Lens' PackageVersionError (Prelude.Maybe Prelude.Text)+packageVersionError_errorMessage = Lens.lens (\PackageVersionError' {errorMessage} -> errorMessage) (\s@PackageVersionError' {} a -> s {errorMessage = a} :: PackageVersionError)++instance Data.FromJSON PackageVersionError where+  parseJSON =+    Data.withObject+      "PackageVersionError"+      ( \x ->+          PackageVersionError'+            Prelude.<$> (x Data..:? "errorCode")+            Prelude.<*> (x Data..:? "errorMessage")+      )++instance Prelude.Hashable PackageVersionError where+  hashWithSalt _salt PackageVersionError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData PackageVersionError where+  rnf PackageVersionError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/CodeArtifact/Types/PackageVersionErrorCode.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageVersionErrorCode+-- 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.CodeArtifact.Types.PackageVersionErrorCode+  ( PackageVersionErrorCode+      ( ..,+        PackageVersionErrorCode_ALREADY_EXISTS,+        PackageVersionErrorCode_MISMATCHED_REVISION,+        PackageVersionErrorCode_MISMATCHED_STATUS,+        PackageVersionErrorCode_NOT_ALLOWED,+        PackageVersionErrorCode_NOT_FOUND,+        PackageVersionErrorCode_SKIPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageVersionErrorCode = PackageVersionErrorCode'+  { fromPackageVersionErrorCode ::+      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 PackageVersionErrorCode_ALREADY_EXISTS :: PackageVersionErrorCode+pattern PackageVersionErrorCode_ALREADY_EXISTS = PackageVersionErrorCode' "ALREADY_EXISTS"++pattern PackageVersionErrorCode_MISMATCHED_REVISION :: PackageVersionErrorCode+pattern PackageVersionErrorCode_MISMATCHED_REVISION = PackageVersionErrorCode' "MISMATCHED_REVISION"++pattern PackageVersionErrorCode_MISMATCHED_STATUS :: PackageVersionErrorCode+pattern PackageVersionErrorCode_MISMATCHED_STATUS = PackageVersionErrorCode' "MISMATCHED_STATUS"++pattern PackageVersionErrorCode_NOT_ALLOWED :: PackageVersionErrorCode+pattern PackageVersionErrorCode_NOT_ALLOWED = PackageVersionErrorCode' "NOT_ALLOWED"++pattern PackageVersionErrorCode_NOT_FOUND :: PackageVersionErrorCode+pattern PackageVersionErrorCode_NOT_FOUND = PackageVersionErrorCode' "NOT_FOUND"++pattern PackageVersionErrorCode_SKIPPED :: PackageVersionErrorCode+pattern PackageVersionErrorCode_SKIPPED = PackageVersionErrorCode' "SKIPPED"++{-# COMPLETE+  PackageVersionErrorCode_ALREADY_EXISTS,+  PackageVersionErrorCode_MISMATCHED_REVISION,+  PackageVersionErrorCode_MISMATCHED_STATUS,+  PackageVersionErrorCode_NOT_ALLOWED,+  PackageVersionErrorCode_NOT_FOUND,+  PackageVersionErrorCode_SKIPPED,+  PackageVersionErrorCode'+  #-}
+ gen/Amazonka/CodeArtifact/Types/PackageVersionOrigin.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.CodeArtifact.Types.PackageVersionOrigin+-- 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.CodeArtifact.Types.PackageVersionOrigin where++import Amazonka.CodeArtifact.Types.DomainEntryPoint+import Amazonka.CodeArtifact.Types.PackageVersionOriginType+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 how a package version was added to a repository.+--+-- /See:/ 'newPackageVersionOrigin' smart constructor.+data PackageVersionOrigin = PackageVersionOrigin'+  { -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainEntryPoint.html DomainEntryPoint>+    -- object that contains information about from which repository or external+    -- connection the package version was added to the domain.+    domainEntryPoint :: Prelude.Maybe DomainEntryPoint,+    -- | Describes how the package version was originally added to the domain. An+    -- @INTERNAL@ origin type means the package version was published directly+    -- to a repository in the domain. An @EXTERNAL@ origin type means the+    -- package version was ingested from an external connection.+    originType :: Prelude.Maybe PackageVersionOriginType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionOrigin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainEntryPoint', 'packageVersionOrigin_domainEntryPoint' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainEntryPoint.html DomainEntryPoint>+-- object that contains information about from which repository or external+-- connection the package version was added to the domain.+--+-- 'originType', 'packageVersionOrigin_originType' - Describes how the package version was originally added to the domain. An+-- @INTERNAL@ origin type means the package version was published directly+-- to a repository in the domain. An @EXTERNAL@ origin type means the+-- package version was ingested from an external connection.+newPackageVersionOrigin ::+  PackageVersionOrigin+newPackageVersionOrigin =+  PackageVersionOrigin'+    { domainEntryPoint =+        Prelude.Nothing,+      originType = Prelude.Nothing+    }++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainEntryPoint.html DomainEntryPoint>+-- object that contains information about from which repository or external+-- connection the package version was added to the domain.+packageVersionOrigin_domainEntryPoint :: Lens.Lens' PackageVersionOrigin (Prelude.Maybe DomainEntryPoint)+packageVersionOrigin_domainEntryPoint = Lens.lens (\PackageVersionOrigin' {domainEntryPoint} -> domainEntryPoint) (\s@PackageVersionOrigin' {} a -> s {domainEntryPoint = a} :: PackageVersionOrigin)++-- | Describes how the package version was originally added to the domain. An+-- @INTERNAL@ origin type means the package version was published directly+-- to a repository in the domain. An @EXTERNAL@ origin type means the+-- package version was ingested from an external connection.+packageVersionOrigin_originType :: Lens.Lens' PackageVersionOrigin (Prelude.Maybe PackageVersionOriginType)+packageVersionOrigin_originType = Lens.lens (\PackageVersionOrigin' {originType} -> originType) (\s@PackageVersionOrigin' {} a -> s {originType = a} :: PackageVersionOrigin)++instance Data.FromJSON PackageVersionOrigin where+  parseJSON =+    Data.withObject+      "PackageVersionOrigin"+      ( \x ->+          PackageVersionOrigin'+            Prelude.<$> (x Data..:? "domainEntryPoint")+            Prelude.<*> (x Data..:? "originType")+      )++instance Prelude.Hashable PackageVersionOrigin where+  hashWithSalt _salt PackageVersionOrigin' {..} =+    _salt+      `Prelude.hashWithSalt` domainEntryPoint+      `Prelude.hashWithSalt` originType++instance Prelude.NFData PackageVersionOrigin where+  rnf PackageVersionOrigin' {..} =+    Prelude.rnf domainEntryPoint+      `Prelude.seq` Prelude.rnf originType
+ gen/Amazonka/CodeArtifact/Types/PackageVersionOriginType.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.CodeArtifact.Types.PackageVersionOriginType+-- 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.CodeArtifact.Types.PackageVersionOriginType+  ( PackageVersionOriginType+      ( ..,+        PackageVersionOriginType_EXTERNAL,+        PackageVersionOriginType_INTERNAL,+        PackageVersionOriginType_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageVersionOriginType = PackageVersionOriginType'+  { fromPackageVersionOriginType ::+      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 PackageVersionOriginType_EXTERNAL :: PackageVersionOriginType+pattern PackageVersionOriginType_EXTERNAL = PackageVersionOriginType' "EXTERNAL"++pattern PackageVersionOriginType_INTERNAL :: PackageVersionOriginType+pattern PackageVersionOriginType_INTERNAL = PackageVersionOriginType' "INTERNAL"++pattern PackageVersionOriginType_UNKNOWN :: PackageVersionOriginType+pattern PackageVersionOriginType_UNKNOWN = PackageVersionOriginType' "UNKNOWN"++{-# COMPLETE+  PackageVersionOriginType_EXTERNAL,+  PackageVersionOriginType_INTERNAL,+  PackageVersionOriginType_UNKNOWN,+  PackageVersionOriginType'+  #-}
+ gen/Amazonka/CodeArtifact/Types/PackageVersionSortType.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.CodeArtifact.Types.PackageVersionSortType+-- 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.CodeArtifact.Types.PackageVersionSortType+  ( PackageVersionSortType+      ( ..,+        PackageVersionSortType_PUBLISHED_TIME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageVersionSortType = PackageVersionSortType'+  { fromPackageVersionSortType ::+      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 PackageVersionSortType_PUBLISHED_TIME :: PackageVersionSortType+pattern PackageVersionSortType_PUBLISHED_TIME = PackageVersionSortType' "PUBLISHED_TIME"++{-# COMPLETE+  PackageVersionSortType_PUBLISHED_TIME,+  PackageVersionSortType'+  #-}
+ gen/Amazonka/CodeArtifact/Types/PackageVersionStatus.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageVersionStatus+-- 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.CodeArtifact.Types.PackageVersionStatus+  ( PackageVersionStatus+      ( ..,+        PackageVersionStatus_Archived,+        PackageVersionStatus_Deleted,+        PackageVersionStatus_Disposed,+        PackageVersionStatus_Published,+        PackageVersionStatus_Unfinished,+        PackageVersionStatus_Unlisted+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageVersionStatus = PackageVersionStatus'+  { fromPackageVersionStatus ::+      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 PackageVersionStatus_Archived :: PackageVersionStatus+pattern PackageVersionStatus_Archived = PackageVersionStatus' "Archived"++pattern PackageVersionStatus_Deleted :: PackageVersionStatus+pattern PackageVersionStatus_Deleted = PackageVersionStatus' "Deleted"++pattern PackageVersionStatus_Disposed :: PackageVersionStatus+pattern PackageVersionStatus_Disposed = PackageVersionStatus' "Disposed"++pattern PackageVersionStatus_Published :: PackageVersionStatus+pattern PackageVersionStatus_Published = PackageVersionStatus' "Published"++pattern PackageVersionStatus_Unfinished :: PackageVersionStatus+pattern PackageVersionStatus_Unfinished = PackageVersionStatus' "Unfinished"++pattern PackageVersionStatus_Unlisted :: PackageVersionStatus+pattern PackageVersionStatus_Unlisted = PackageVersionStatus' "Unlisted"++{-# COMPLETE+  PackageVersionStatus_Archived,+  PackageVersionStatus_Deleted,+  PackageVersionStatus_Disposed,+  PackageVersionStatus_Published,+  PackageVersionStatus_Unfinished,+  PackageVersionStatus_Unlisted,+  PackageVersionStatus'+  #-}
+ gen/Amazonka/CodeArtifact/Types/PackageVersionSummary.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.PackageVersionSummary+-- 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.CodeArtifact.Types.PackageVersionSummary where++import Amazonka.CodeArtifact.Types.PackageVersionOrigin+import Amazonka.CodeArtifact.Types.PackageVersionStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a package version, including its status, version, and+-- revision. The+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html ListPackageVersions>+-- operation returns a list of @PackageVersionSummary@ objects.+--+-- /See:/ 'newPackageVersionSummary' smart constructor.+data PackageVersionSummary = PackageVersionSummary'+  { -- | A+    -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+    -- object that contains information about how the package version was added+    -- to the repository.+    origin :: Prelude.Maybe PackageVersionOrigin,+    -- | The revision associated with a package version.+    revision :: Prelude.Maybe Prelude.Text,+    -- | Information about a package version.+    version :: Prelude.Text,+    -- | A string that contains the status of the package version. It can be one+    -- of the following:+    status :: PackageVersionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'origin', 'packageVersionSummary_origin' - A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+-- object that contains information about how the package version was added+-- to the repository.+--+-- 'revision', 'packageVersionSummary_revision' - The revision associated with a package version.+--+-- 'version', 'packageVersionSummary_version' - Information about a package version.+--+-- 'status', 'packageVersionSummary_status' - A string that contains the status of the package version. It can be one+-- of the following:+newPackageVersionSummary ::+  -- | 'version'+  Prelude.Text ->+  -- | 'status'+  PackageVersionStatus ->+  PackageVersionSummary+newPackageVersionSummary pVersion_ pStatus_ =+  PackageVersionSummary'+    { origin = Prelude.Nothing,+      revision = Prelude.Nothing,+      version = pVersion_,+      status = pStatus_+    }++-- | A+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html PackageVersionOrigin>+-- object that contains information about how the package version was added+-- to the repository.+packageVersionSummary_origin :: Lens.Lens' PackageVersionSummary (Prelude.Maybe PackageVersionOrigin)+packageVersionSummary_origin = Lens.lens (\PackageVersionSummary' {origin} -> origin) (\s@PackageVersionSummary' {} a -> s {origin = a} :: PackageVersionSummary)++-- | The revision associated with a package version.+packageVersionSummary_revision :: Lens.Lens' PackageVersionSummary (Prelude.Maybe Prelude.Text)+packageVersionSummary_revision = Lens.lens (\PackageVersionSummary' {revision} -> revision) (\s@PackageVersionSummary' {} a -> s {revision = a} :: PackageVersionSummary)++-- | Information about a package version.+packageVersionSummary_version :: Lens.Lens' PackageVersionSummary Prelude.Text+packageVersionSummary_version = Lens.lens (\PackageVersionSummary' {version} -> version) (\s@PackageVersionSummary' {} a -> s {version = a} :: PackageVersionSummary)++-- | A string that contains the status of the package version. It can be one+-- of the following:+packageVersionSummary_status :: Lens.Lens' PackageVersionSummary PackageVersionStatus+packageVersionSummary_status = Lens.lens (\PackageVersionSummary' {status} -> status) (\s@PackageVersionSummary' {} a -> s {status = a} :: PackageVersionSummary)++instance Data.FromJSON PackageVersionSummary where+  parseJSON =+    Data.withObject+      "PackageVersionSummary"+      ( \x ->+          PackageVersionSummary'+            Prelude.<$> (x Data..:? "origin")+            Prelude.<*> (x Data..:? "revision")+            Prelude.<*> (x Data..: "version")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable PackageVersionSummary where+  hashWithSalt _salt PackageVersionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` origin+      `Prelude.hashWithSalt` revision+      `Prelude.hashWithSalt` version+      `Prelude.hashWithSalt` status++instance Prelude.NFData PackageVersionSummary where+  rnf PackageVersionSummary' {..} =+    Prelude.rnf origin+      `Prelude.seq` Prelude.rnf revision+      `Prelude.seq` Prelude.rnf version+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/CodeArtifact/Types/RepositoryDescription.hs view
@@ -0,0 +1,189 @@+{-# 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.CodeArtifact.Types.RepositoryDescription+-- 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.CodeArtifact.Types.RepositoryDescription where++import Amazonka.CodeArtifact.Types.RepositoryExternalConnectionInfo+import Amazonka.CodeArtifact.Types.UpstreamRepositoryInfo+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details of a repository stored in CodeArtifact. A CodeArtifact+-- repository contains a set of package versions, each of which maps to a+-- set of assets. Repositories are polyglot—a single repository can contain+-- packages of any supported type. Each repository exposes endpoints for+-- fetching and publishing packages using tools like the @npm@ CLI, the+-- Maven CLI (@mvn@), and @pip@. You can create up to 100 repositories per+-- Amazon Web Services account.+--+-- /See:/ 'newRepositoryDescription' smart constructor.+data RepositoryDescription = RepositoryDescription'+  { -- | The 12-digit account number of the Amazon Web Services account that+    -- manages the repository.+    administratorAccount :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the repository.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A text description of the repository.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain that contains the repository. It does not include dashes or+    -- spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | An array of external connections associated with the repository.+    externalConnections :: Prelude.Maybe [RepositoryExternalConnectionInfo],+    -- | The name of the repository.+    name :: Prelude.Maybe Prelude.Text,+    -- | A list of upstream repositories to associate with the repository. The+    -- order of the upstream repositories in the list determines their priority+    -- order when CodeArtifact looks for a requested package version. For more+    -- information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+    upstreams :: Prelude.Maybe [UpstreamRepositoryInfo]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RepositoryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administratorAccount', 'repositoryDescription_administratorAccount' - The 12-digit account number of the Amazon Web Services account that+-- manages the repository.+--+-- 'arn', 'repositoryDescription_arn' - The Amazon Resource Name (ARN) of the repository.+--+-- 'description', 'repositoryDescription_description' - A text description of the repository.+--+-- 'domainName', 'repositoryDescription_domainName' - The name of the domain that contains the repository.+--+-- 'domainOwner', 'repositoryDescription_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain that contains the repository. It does not include dashes or+-- spaces.+--+-- 'externalConnections', 'repositoryDescription_externalConnections' - An array of external connections associated with the repository.+--+-- 'name', 'repositoryDescription_name' - The name of the repository.+--+-- 'upstreams', 'repositoryDescription_upstreams' - A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+newRepositoryDescription ::+  RepositoryDescription+newRepositoryDescription =+  RepositoryDescription'+    { administratorAccount =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      description = Prelude.Nothing,+      domainName = Prelude.Nothing,+      domainOwner = Prelude.Nothing,+      externalConnections = Prelude.Nothing,+      name = Prelude.Nothing,+      upstreams = Prelude.Nothing+    }++-- | The 12-digit account number of the Amazon Web Services account that+-- manages the repository.+repositoryDescription_administratorAccount :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_administratorAccount = Lens.lens (\RepositoryDescription' {administratorAccount} -> administratorAccount) (\s@RepositoryDescription' {} a -> s {administratorAccount = a} :: RepositoryDescription)++-- | The Amazon Resource Name (ARN) of the repository.+repositoryDescription_arn :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_arn = Lens.lens (\RepositoryDescription' {arn} -> arn) (\s@RepositoryDescription' {} a -> s {arn = a} :: RepositoryDescription)++-- | A text description of the repository.+repositoryDescription_description :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_description = Lens.lens (\RepositoryDescription' {description} -> description) (\s@RepositoryDescription' {} a -> s {description = a} :: RepositoryDescription)++-- | The name of the domain that contains the repository.+repositoryDescription_domainName :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_domainName = Lens.lens (\RepositoryDescription' {domainName} -> domainName) (\s@RepositoryDescription' {} a -> s {domainName = a} :: RepositoryDescription)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain that contains the repository. It does not include dashes or+-- spaces.+repositoryDescription_domainOwner :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_domainOwner = Lens.lens (\RepositoryDescription' {domainOwner} -> domainOwner) (\s@RepositoryDescription' {} a -> s {domainOwner = a} :: RepositoryDescription)++-- | An array of external connections associated with the repository.+repositoryDescription_externalConnections :: Lens.Lens' RepositoryDescription (Prelude.Maybe [RepositoryExternalConnectionInfo])+repositoryDescription_externalConnections = Lens.lens (\RepositoryDescription' {externalConnections} -> externalConnections) (\s@RepositoryDescription' {} a -> s {externalConnections = a} :: RepositoryDescription) Prelude.. Lens.mapping Lens.coerced++-- | The name of the repository.+repositoryDescription_name :: Lens.Lens' RepositoryDescription (Prelude.Maybe Prelude.Text)+repositoryDescription_name = Lens.lens (\RepositoryDescription' {name} -> name) (\s@RepositoryDescription' {} a -> s {name = a} :: RepositoryDescription)++-- | A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+repositoryDescription_upstreams :: Lens.Lens' RepositoryDescription (Prelude.Maybe [UpstreamRepositoryInfo])+repositoryDescription_upstreams = Lens.lens (\RepositoryDescription' {upstreams} -> upstreams) (\s@RepositoryDescription' {} a -> s {upstreams = a} :: RepositoryDescription) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON RepositoryDescription where+  parseJSON =+    Data.withObject+      "RepositoryDescription"+      ( \x ->+          RepositoryDescription'+            Prelude.<$> (x Data..:? "administratorAccount")+            Prelude.<*> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "domainName")+            Prelude.<*> (x Data..:? "domainOwner")+            Prelude.<*> ( x+                            Data..:? "externalConnections"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "upstreams" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable RepositoryDescription where+  hashWithSalt _salt RepositoryDescription' {..} =+    _salt+      `Prelude.hashWithSalt` administratorAccount+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` externalConnections+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` upstreams++instance Prelude.NFData RepositoryDescription where+  rnf RepositoryDescription' {..} =+    Prelude.rnf administratorAccount+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf externalConnections+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf upstreams
+ gen/Amazonka/CodeArtifact/Types/RepositoryExternalConnectionInfo.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.RepositoryExternalConnectionInfo+-- 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.CodeArtifact.Types.RepositoryExternalConnectionInfo where++import Amazonka.CodeArtifact.Types.ExternalConnectionStatus+import Amazonka.CodeArtifact.Types.PackageFormat+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++-- | Contains information about the external connection of a repository.+--+-- /See:/ 'newRepositoryExternalConnectionInfo' smart constructor.+data RepositoryExternalConnectionInfo = RepositoryExternalConnectionInfo'+  { -- | The name of the external connection associated with a repository.+    externalConnectionName :: Prelude.Maybe Prelude.Text,+    -- | The package format associated with a repository\'s external connection.+    -- The valid package formats are:+    --+    -- -   @npm@: A Node Package Manager (npm) package.+    --+    -- -   @pypi@: A Python Package Index (PyPI) package.+    --+    -- -   @maven@: A Maven package that contains compiled code in a+    --     distributable format, such as a JAR file.+    --+    -- -   @nuget@: A NuGet package.+    packageFormat :: Prelude.Maybe PackageFormat,+    -- | The status of the external connection of a repository. There is one+    -- valid value, @Available@.+    status :: Prelude.Maybe ExternalConnectionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RepositoryExternalConnectionInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'externalConnectionName', 'repositoryExternalConnectionInfo_externalConnectionName' - The name of the external connection associated with a repository.+--+-- 'packageFormat', 'repositoryExternalConnectionInfo_packageFormat' - The package format associated with a repository\'s external connection.+-- The valid package formats are:+--+-- -   @npm@: A Node Package Manager (npm) package.+--+-- -   @pypi@: A Python Package Index (PyPI) package.+--+-- -   @maven@: A Maven package that contains compiled code in a+--     distributable format, such as a JAR file.+--+-- -   @nuget@: A NuGet package.+--+-- 'status', 'repositoryExternalConnectionInfo_status' - The status of the external connection of a repository. There is one+-- valid value, @Available@.+newRepositoryExternalConnectionInfo ::+  RepositoryExternalConnectionInfo+newRepositoryExternalConnectionInfo =+  RepositoryExternalConnectionInfo'+    { externalConnectionName =+        Prelude.Nothing,+      packageFormat = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The name of the external connection associated with a repository.+repositoryExternalConnectionInfo_externalConnectionName :: Lens.Lens' RepositoryExternalConnectionInfo (Prelude.Maybe Prelude.Text)+repositoryExternalConnectionInfo_externalConnectionName = Lens.lens (\RepositoryExternalConnectionInfo' {externalConnectionName} -> externalConnectionName) (\s@RepositoryExternalConnectionInfo' {} a -> s {externalConnectionName = a} :: RepositoryExternalConnectionInfo)++-- | The package format associated with a repository\'s external connection.+-- The valid package formats are:+--+-- -   @npm@: A Node Package Manager (npm) package.+--+-- -   @pypi@: A Python Package Index (PyPI) package.+--+-- -   @maven@: A Maven package that contains compiled code in a+--     distributable format, such as a JAR file.+--+-- -   @nuget@: A NuGet package.+repositoryExternalConnectionInfo_packageFormat :: Lens.Lens' RepositoryExternalConnectionInfo (Prelude.Maybe PackageFormat)+repositoryExternalConnectionInfo_packageFormat = Lens.lens (\RepositoryExternalConnectionInfo' {packageFormat} -> packageFormat) (\s@RepositoryExternalConnectionInfo' {} a -> s {packageFormat = a} :: RepositoryExternalConnectionInfo)++-- | The status of the external connection of a repository. There is one+-- valid value, @Available@.+repositoryExternalConnectionInfo_status :: Lens.Lens' RepositoryExternalConnectionInfo (Prelude.Maybe ExternalConnectionStatus)+repositoryExternalConnectionInfo_status = Lens.lens (\RepositoryExternalConnectionInfo' {status} -> status) (\s@RepositoryExternalConnectionInfo' {} a -> s {status = a} :: RepositoryExternalConnectionInfo)++instance+  Data.FromJSON+    RepositoryExternalConnectionInfo+  where+  parseJSON =+    Data.withObject+      "RepositoryExternalConnectionInfo"+      ( \x ->+          RepositoryExternalConnectionInfo'+            Prelude.<$> (x Data..:? "externalConnectionName")+            Prelude.<*> (x Data..:? "packageFormat")+            Prelude.<*> (x Data..:? "status")+      )++instance+  Prelude.Hashable+    RepositoryExternalConnectionInfo+  where+  hashWithSalt+    _salt+    RepositoryExternalConnectionInfo' {..} =+      _salt+        `Prelude.hashWithSalt` externalConnectionName+        `Prelude.hashWithSalt` packageFormat+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    RepositoryExternalConnectionInfo+  where+  rnf RepositoryExternalConnectionInfo' {..} =+    Prelude.rnf externalConnectionName+      `Prelude.seq` Prelude.rnf packageFormat+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/CodeArtifact/Types/RepositorySummary.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.RepositorySummary+-- 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.CodeArtifact.Types.RepositorySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a repository, including its Amazon Resource Name (ARN),+-- description, and domain information. The+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListRepositories.html ListRepositories>+-- operation returns a list of @RepositorySummary@ objects.+--+-- /See:/ 'newRepositorySummary' smart constructor.+data RepositorySummary = RepositorySummary'+  { -- | The Amazon Web Services account ID that manages the repository.+    administratorAccount :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the repository.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the repository.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain that contains the repository.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the repository.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RepositorySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administratorAccount', 'repositorySummary_administratorAccount' - The Amazon Web Services account ID that manages the repository.+--+-- 'arn', 'repositorySummary_arn' - The ARN of the repository.+--+-- 'description', 'repositorySummary_description' - The description of the repository.+--+-- 'domainName', 'repositorySummary_domainName' - The name of the domain that contains the repository.+--+-- 'domainOwner', 'repositorySummary_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'name', 'repositorySummary_name' - The name of the repository.+newRepositorySummary ::+  RepositorySummary+newRepositorySummary =+  RepositorySummary'+    { administratorAccount =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      description = Prelude.Nothing,+      domainName = Prelude.Nothing,+      domainOwner = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Web Services account ID that manages the repository.+repositorySummary_administratorAccount :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_administratorAccount = Lens.lens (\RepositorySummary' {administratorAccount} -> administratorAccount) (\s@RepositorySummary' {} a -> s {administratorAccount = a} :: RepositorySummary)++-- | The ARN of the repository.+repositorySummary_arn :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_arn = Lens.lens (\RepositorySummary' {arn} -> arn) (\s@RepositorySummary' {} a -> s {arn = a} :: RepositorySummary)++-- | The description of the repository.+repositorySummary_description :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_description = Lens.lens (\RepositorySummary' {description} -> description) (\s@RepositorySummary' {} a -> s {description = a} :: RepositorySummary)++-- | The name of the domain that contains the repository.+repositorySummary_domainName :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_domainName = Lens.lens (\RepositorySummary' {domainName} -> domainName) (\s@RepositorySummary' {} a -> s {domainName = a} :: RepositorySummary)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+repositorySummary_domainOwner :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_domainOwner = Lens.lens (\RepositorySummary' {domainOwner} -> domainOwner) (\s@RepositorySummary' {} a -> s {domainOwner = a} :: RepositorySummary)++-- | The name of the repository.+repositorySummary_name :: Lens.Lens' RepositorySummary (Prelude.Maybe Prelude.Text)+repositorySummary_name = Lens.lens (\RepositorySummary' {name} -> name) (\s@RepositorySummary' {} a -> s {name = a} :: RepositorySummary)++instance Data.FromJSON RepositorySummary where+  parseJSON =+    Data.withObject+      "RepositorySummary"+      ( \x ->+          RepositorySummary'+            Prelude.<$> (x Data..:? "administratorAccount")+            Prelude.<*> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "domainName")+            Prelude.<*> (x Data..:? "domainOwner")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable RepositorySummary where+  hashWithSalt _salt RepositorySummary' {..} =+    _salt+      `Prelude.hashWithSalt` administratorAccount+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` name++instance Prelude.NFData RepositorySummary where+  rnf RepositorySummary' {..} =+    Prelude.rnf administratorAccount+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/CodeArtifact/Types/ResourcePolicy.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.CodeArtifact.Types.ResourcePolicy+-- 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.CodeArtifact.Types.ResourcePolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An CodeArtifact resource policy that contains a resource ARN, document+-- details, and a revision.+--+-- /See:/ 'newResourcePolicy' smart constructor.+data ResourcePolicy = ResourcePolicy'+  { -- | The resource policy formatted in JSON.+    document :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource associated with the resource policy+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The current revision of the resource policy.+    revision :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'document', 'resourcePolicy_document' - The resource policy formatted in JSON.+--+-- 'resourceArn', 'resourcePolicy_resourceArn' - The ARN of the resource associated with the resource policy+--+-- 'revision', 'resourcePolicy_revision' - The current revision of the resource policy.+newResourcePolicy ::+  ResourcePolicy+newResourcePolicy =+  ResourcePolicy'+    { document = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      revision = Prelude.Nothing+    }++-- | The resource policy formatted in JSON.+resourcePolicy_document :: Lens.Lens' ResourcePolicy (Prelude.Maybe Prelude.Text)+resourcePolicy_document = Lens.lens (\ResourcePolicy' {document} -> document) (\s@ResourcePolicy' {} a -> s {document = a} :: ResourcePolicy)++-- | The ARN of the resource associated with the resource policy+resourcePolicy_resourceArn :: Lens.Lens' ResourcePolicy (Prelude.Maybe Prelude.Text)+resourcePolicy_resourceArn = Lens.lens (\ResourcePolicy' {resourceArn} -> resourceArn) (\s@ResourcePolicy' {} a -> s {resourceArn = a} :: ResourcePolicy)++-- | The current revision of the resource policy.+resourcePolicy_revision :: Lens.Lens' ResourcePolicy (Prelude.Maybe Prelude.Text)+resourcePolicy_revision = Lens.lens (\ResourcePolicy' {revision} -> revision) (\s@ResourcePolicy' {} a -> s {revision = a} :: ResourcePolicy)++instance Data.FromJSON ResourcePolicy where+  parseJSON =+    Data.withObject+      "ResourcePolicy"+      ( \x ->+          ResourcePolicy'+            Prelude.<$> (x Data..:? "document")+            Prelude.<*> (x Data..:? "resourceArn")+            Prelude.<*> (x Data..:? "revision")+      )++instance Prelude.Hashable ResourcePolicy where+  hashWithSalt _salt ResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` document+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` revision++instance Prelude.NFData ResourcePolicy where+  rnf ResourcePolicy' {..} =+    Prelude.rnf document+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf revision
+ gen/Amazonka/CodeArtifact/Types/SuccessfulPackageVersionInfo.hs view
@@ -0,0 +1,89 @@+{-# 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.CodeArtifact.Types.SuccessfulPackageVersionInfo+-- 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.CodeArtifact.Types.SuccessfulPackageVersionInfo where++import Amazonka.CodeArtifact.Types.PackageVersionStatus+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++-- | Contains the revision and status of a package version.+--+-- /See:/ 'newSuccessfulPackageVersionInfo' smart constructor.+data SuccessfulPackageVersionInfo = SuccessfulPackageVersionInfo'+  { -- | The revision of a package version.+    revision :: Prelude.Maybe Prelude.Text,+    -- | The status of a package version.+    status :: Prelude.Maybe PackageVersionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SuccessfulPackageVersionInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revision', 'successfulPackageVersionInfo_revision' - The revision of a package version.+--+-- 'status', 'successfulPackageVersionInfo_status' - The status of a package version.+newSuccessfulPackageVersionInfo ::+  SuccessfulPackageVersionInfo+newSuccessfulPackageVersionInfo =+  SuccessfulPackageVersionInfo'+    { revision =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The revision of a package version.+successfulPackageVersionInfo_revision :: Lens.Lens' SuccessfulPackageVersionInfo (Prelude.Maybe Prelude.Text)+successfulPackageVersionInfo_revision = Lens.lens (\SuccessfulPackageVersionInfo' {revision} -> revision) (\s@SuccessfulPackageVersionInfo' {} a -> s {revision = a} :: SuccessfulPackageVersionInfo)++-- | The status of a package version.+successfulPackageVersionInfo_status :: Lens.Lens' SuccessfulPackageVersionInfo (Prelude.Maybe PackageVersionStatus)+successfulPackageVersionInfo_status = Lens.lens (\SuccessfulPackageVersionInfo' {status} -> status) (\s@SuccessfulPackageVersionInfo' {} a -> s {status = a} :: SuccessfulPackageVersionInfo)++instance Data.FromJSON SuccessfulPackageVersionInfo where+  parseJSON =+    Data.withObject+      "SuccessfulPackageVersionInfo"+      ( \x ->+          SuccessfulPackageVersionInfo'+            Prelude.<$> (x Data..:? "revision")+            Prelude.<*> (x Data..:? "status")+      )++instance+  Prelude.Hashable+    SuccessfulPackageVersionInfo+  where+  hashWithSalt _salt SuccessfulPackageVersionInfo' {..} =+    _salt+      `Prelude.hashWithSalt` revision+      `Prelude.hashWithSalt` status++instance Prelude.NFData SuccessfulPackageVersionInfo where+  rnf SuccessfulPackageVersionInfo' {..} =+    Prelude.rnf revision+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/CodeArtifact/Types/Tag.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.CodeArtifact.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A tag is a key-value pair that can be used to manage, search for, or+-- filter resources in CodeArtifact.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The tag key.+    key :: Prelude.Text,+    -- | The tag value.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The tag key.+--+-- 'value', 'tag_value' - The tag value.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | The tag key.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The tag value.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "key")+            Prelude.<*> (x Data..: "value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("key" Data..= key),+            Prelude.Just ("value" Data..= value)+          ]+      )
+ gen/Amazonka/CodeArtifact/Types/UpstreamRepository.hs view
@@ -0,0 +1,78 @@+{-# 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.CodeArtifact.Types.UpstreamRepository+-- 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.CodeArtifact.Types.UpstreamRepository 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 an upstream repository. A list of @UpstreamRepository@+-- objects is an input parameter to+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_CreateRepository.html CreateRepository>+-- and+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdateRepository.html UpdateRepository>.+--+-- /See:/ 'newUpstreamRepository' smart constructor.+data UpstreamRepository = UpstreamRepository'+  { -- | The name of an upstream repository.+    repositoryName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpstreamRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repositoryName', 'upstreamRepository_repositoryName' - The name of an upstream repository.+newUpstreamRepository ::+  -- | 'repositoryName'+  Prelude.Text ->+  UpstreamRepository+newUpstreamRepository pRepositoryName_ =+  UpstreamRepository'+    { repositoryName =+        pRepositoryName_+    }++-- | The name of an upstream repository.+upstreamRepository_repositoryName :: Lens.Lens' UpstreamRepository Prelude.Text+upstreamRepository_repositoryName = Lens.lens (\UpstreamRepository' {repositoryName} -> repositoryName) (\s@UpstreamRepository' {} a -> s {repositoryName = a} :: UpstreamRepository)++instance Prelude.Hashable UpstreamRepository where+  hashWithSalt _salt UpstreamRepository' {..} =+    _salt `Prelude.hashWithSalt` repositoryName++instance Prelude.NFData UpstreamRepository where+  rnf UpstreamRepository' {..} =+    Prelude.rnf repositoryName++instance Data.ToJSON UpstreamRepository where+  toJSON UpstreamRepository' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("repositoryName" Data..= repositoryName)+          ]+      )
+ gen/Amazonka/CodeArtifact/Types/UpstreamRepositoryInfo.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.Types.UpstreamRepositoryInfo+-- 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.CodeArtifact.Types.UpstreamRepositoryInfo 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 an upstream repository.+--+-- /See:/ 'newUpstreamRepositoryInfo' smart constructor.+data UpstreamRepositoryInfo = UpstreamRepositoryInfo'+  { -- | The name of an upstream repository.+    repositoryName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpstreamRepositoryInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repositoryName', 'upstreamRepositoryInfo_repositoryName' - The name of an upstream repository.+newUpstreamRepositoryInfo ::+  UpstreamRepositoryInfo+newUpstreamRepositoryInfo =+  UpstreamRepositoryInfo'+    { repositoryName =+        Prelude.Nothing+    }++-- | The name of an upstream repository.+upstreamRepositoryInfo_repositoryName :: Lens.Lens' UpstreamRepositoryInfo (Prelude.Maybe Prelude.Text)+upstreamRepositoryInfo_repositoryName = Lens.lens (\UpstreamRepositoryInfo' {repositoryName} -> repositoryName) (\s@UpstreamRepositoryInfo' {} a -> s {repositoryName = a} :: UpstreamRepositoryInfo)++instance Data.FromJSON UpstreamRepositoryInfo where+  parseJSON =+    Data.withObject+      "UpstreamRepositoryInfo"+      ( \x ->+          UpstreamRepositoryInfo'+            Prelude.<$> (x Data..:? "repositoryName")+      )++instance Prelude.Hashable UpstreamRepositoryInfo where+  hashWithSalt _salt UpstreamRepositoryInfo' {..} =+    _salt `Prelude.hashWithSalt` repositoryName++instance Prelude.NFData UpstreamRepositoryInfo where+  rnf UpstreamRepositoryInfo' {..} =+    Prelude.rnf repositoryName
+ gen/Amazonka/CodeArtifact/UntagResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes tags from a resource in CodeArtifact.+module Amazonka.CodeArtifact.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to remove+    -- tags from.+    resourceArn :: Prelude.Text,+    -- | The tag key for each tag that you want to remove from the resource.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to remove+-- tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag key for each tag that you want to remove from the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to remove+-- tags from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag key for each tag that you want to remove from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("tagKeys" Data..= tagKeys)]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/v1/untag"++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /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/CodeArtifact/UpdatePackageVersionsStatus.hs view
@@ -0,0 +1,390 @@+{-# 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.CodeArtifact.UpdatePackageVersionsStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the status of one or more versions of a package. Using+-- @UpdatePackageVersionsStatus@, you can update the status of package+-- versions to @Archived@, @Published@, or @Unlisted@. To set the status of+-- a package version to @Disposed@, use+-- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DisposePackageVersions.html DisposePackageVersions>.+module Amazonka.CodeArtifact.UpdatePackageVersionsStatus+  ( -- * Creating a Request+    UpdatePackageVersionsStatus (..),+    newUpdatePackageVersionsStatus,++    -- * Request Lenses+    updatePackageVersionsStatus_domainOwner,+    updatePackageVersionsStatus_expectedStatus,+    updatePackageVersionsStatus_namespace,+    updatePackageVersionsStatus_versionRevisions,+    updatePackageVersionsStatus_domain,+    updatePackageVersionsStatus_repository,+    updatePackageVersionsStatus_format,+    updatePackageVersionsStatus_package,+    updatePackageVersionsStatus_versions,+    updatePackageVersionsStatus_targetStatus,++    -- * Destructuring the Response+    UpdatePackageVersionsStatusResponse (..),+    newUpdatePackageVersionsStatusResponse,++    -- * Response Lenses+    updatePackageVersionsStatusResponse_failedVersions,+    updatePackageVersionsStatusResponse_successfulVersions,+    updatePackageVersionsStatusResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePackageVersionsStatus' smart constructor.+data UpdatePackageVersionsStatus = UpdatePackageVersionsStatus'+  { -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | The package version’s expected status before it is updated. If+    -- @expectedStatus@ is provided, the package version\'s status is updated+    -- only if its status at the time @UpdatePackageVersionsStatus@ is called+    -- matches @expectedStatus@.+    expectedStatus :: Prelude.Maybe PackageVersionStatus,+    -- | The namespace of the package version to be updated. The package version+    -- component that specifies its namespace depends on its type. For example:+    --+    -- -   The namespace of a Maven package version is its @groupId@.+    --+    -- -   The namespace of an npm package version is its @scope@.+    --+    -- -   Python and NuGet package versions do not contain a corresponding+    --     component, package versions of those formats do not have a+    --     namespace.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | A map of package versions and package version revisions. The map @key@+    -- is the package version (for example, @3.5.2@), and the map @value@ is+    -- the package version revision.+    versionRevisions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the domain that contains the repository that contains the+    -- package versions with a status to be updated.+    domain :: Prelude.Text,+    -- | The repository that contains the package versions with the status you+    -- want to update.+    repository :: Prelude.Text,+    -- | A format that specifies the type of the package with the statuses to+    -- update.+    format :: PackageFormat,+    -- | The name of the package with the version statuses to update.+    package :: Prelude.Text,+    -- | An array of strings that specify the versions of the package with the+    -- statuses to update.+    versions :: [Prelude.Text],+    -- | The status you want to change the package version status to.+    targetStatus :: PackageVersionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePackageVersionsStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainOwner', 'updatePackageVersionsStatus_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'expectedStatus', 'updatePackageVersionsStatus_expectedStatus' - The package version’s expected status before it is updated. If+-- @expectedStatus@ is provided, the package version\'s status is updated+-- only if its status at the time @UpdatePackageVersionsStatus@ is called+-- matches @expectedStatus@.+--+-- 'namespace', 'updatePackageVersionsStatus_namespace' - The namespace of the package version to be updated. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+--+-- 'versionRevisions', 'updatePackageVersionsStatus_versionRevisions' - A map of package versions and package version revisions. The map @key@+-- is the package version (for example, @3.5.2@), and the map @value@ is+-- the package version revision.+--+-- 'domain', 'updatePackageVersionsStatus_domain' - The name of the domain that contains the repository that contains the+-- package versions with a status to be updated.+--+-- 'repository', 'updatePackageVersionsStatus_repository' - The repository that contains the package versions with the status you+-- want to update.+--+-- 'format', 'updatePackageVersionsStatus_format' - A format that specifies the type of the package with the statuses to+-- update.+--+-- 'package', 'updatePackageVersionsStatus_package' - The name of the package with the version statuses to update.+--+-- 'versions', 'updatePackageVersionsStatus_versions' - An array of strings that specify the versions of the package with the+-- statuses to update.+--+-- 'targetStatus', 'updatePackageVersionsStatus_targetStatus' - The status you want to change the package version status to.+newUpdatePackageVersionsStatus ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  -- | 'format'+  PackageFormat ->+  -- | 'package'+  Prelude.Text ->+  -- | 'targetStatus'+  PackageVersionStatus ->+  UpdatePackageVersionsStatus+newUpdatePackageVersionsStatus+  pDomain_+  pRepository_+  pFormat_+  pPackage_+  pTargetStatus_ =+    UpdatePackageVersionsStatus'+      { domainOwner =+          Prelude.Nothing,+        expectedStatus = Prelude.Nothing,+        namespace = Prelude.Nothing,+        versionRevisions = Prelude.Nothing,+        domain = pDomain_,+        repository = pRepository_,+        format = pFormat_,+        package = pPackage_,+        versions = Prelude.mempty,+        targetStatus = pTargetStatus_+      }++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+updatePackageVersionsStatus_domainOwner :: Lens.Lens' UpdatePackageVersionsStatus (Prelude.Maybe Prelude.Text)+updatePackageVersionsStatus_domainOwner = Lens.lens (\UpdatePackageVersionsStatus' {domainOwner} -> domainOwner) (\s@UpdatePackageVersionsStatus' {} a -> s {domainOwner = a} :: UpdatePackageVersionsStatus)++-- | The package version’s expected status before it is updated. If+-- @expectedStatus@ is provided, the package version\'s status is updated+-- only if its status at the time @UpdatePackageVersionsStatus@ is called+-- matches @expectedStatus@.+updatePackageVersionsStatus_expectedStatus :: Lens.Lens' UpdatePackageVersionsStatus (Prelude.Maybe PackageVersionStatus)+updatePackageVersionsStatus_expectedStatus = Lens.lens (\UpdatePackageVersionsStatus' {expectedStatus} -> expectedStatus) (\s@UpdatePackageVersionsStatus' {} a -> s {expectedStatus = a} :: UpdatePackageVersionsStatus)++-- | The namespace of the package version to be updated. The package version+-- component that specifies its namespace depends on its type. For example:+--+-- -   The namespace of a Maven package version is its @groupId@.+--+-- -   The namespace of an npm package version is its @scope@.+--+-- -   Python and NuGet package versions do not contain a corresponding+--     component, package versions of those formats do not have a+--     namespace.+updatePackageVersionsStatus_namespace :: Lens.Lens' UpdatePackageVersionsStatus (Prelude.Maybe Prelude.Text)+updatePackageVersionsStatus_namespace = Lens.lens (\UpdatePackageVersionsStatus' {namespace} -> namespace) (\s@UpdatePackageVersionsStatus' {} a -> s {namespace = a} :: UpdatePackageVersionsStatus)++-- | A map of package versions and package version revisions. The map @key@+-- is the package version (for example, @3.5.2@), and the map @value@ is+-- the package version revision.+updatePackageVersionsStatus_versionRevisions :: Lens.Lens' UpdatePackageVersionsStatus (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updatePackageVersionsStatus_versionRevisions = Lens.lens (\UpdatePackageVersionsStatus' {versionRevisions} -> versionRevisions) (\s@UpdatePackageVersionsStatus' {} a -> s {versionRevisions = a} :: UpdatePackageVersionsStatus) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain that contains the repository that contains the+-- package versions with a status to be updated.+updatePackageVersionsStatus_domain :: Lens.Lens' UpdatePackageVersionsStatus Prelude.Text+updatePackageVersionsStatus_domain = Lens.lens (\UpdatePackageVersionsStatus' {domain} -> domain) (\s@UpdatePackageVersionsStatus' {} a -> s {domain = a} :: UpdatePackageVersionsStatus)++-- | The repository that contains the package versions with the status you+-- want to update.+updatePackageVersionsStatus_repository :: Lens.Lens' UpdatePackageVersionsStatus Prelude.Text+updatePackageVersionsStatus_repository = Lens.lens (\UpdatePackageVersionsStatus' {repository} -> repository) (\s@UpdatePackageVersionsStatus' {} a -> s {repository = a} :: UpdatePackageVersionsStatus)++-- | A format that specifies the type of the package with the statuses to+-- update.+updatePackageVersionsStatus_format :: Lens.Lens' UpdatePackageVersionsStatus PackageFormat+updatePackageVersionsStatus_format = Lens.lens (\UpdatePackageVersionsStatus' {format} -> format) (\s@UpdatePackageVersionsStatus' {} a -> s {format = a} :: UpdatePackageVersionsStatus)++-- | The name of the package with the version statuses to update.+updatePackageVersionsStatus_package :: Lens.Lens' UpdatePackageVersionsStatus Prelude.Text+updatePackageVersionsStatus_package = Lens.lens (\UpdatePackageVersionsStatus' {package} -> package) (\s@UpdatePackageVersionsStatus' {} a -> s {package = a} :: UpdatePackageVersionsStatus)++-- | An array of strings that specify the versions of the package with the+-- statuses to update.+updatePackageVersionsStatus_versions :: Lens.Lens' UpdatePackageVersionsStatus [Prelude.Text]+updatePackageVersionsStatus_versions = Lens.lens (\UpdatePackageVersionsStatus' {versions} -> versions) (\s@UpdatePackageVersionsStatus' {} a -> s {versions = a} :: UpdatePackageVersionsStatus) Prelude.. Lens.coerced++-- | The status you want to change the package version status to.+updatePackageVersionsStatus_targetStatus :: Lens.Lens' UpdatePackageVersionsStatus PackageVersionStatus+updatePackageVersionsStatus_targetStatus = Lens.lens (\UpdatePackageVersionsStatus' {targetStatus} -> targetStatus) (\s@UpdatePackageVersionsStatus' {} a -> s {targetStatus = a} :: UpdatePackageVersionsStatus)++instance Core.AWSRequest UpdatePackageVersionsStatus where+  type+    AWSResponse UpdatePackageVersionsStatus =+      UpdatePackageVersionsStatusResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdatePackageVersionsStatusResponse'+            Prelude.<$> (x Data..?> "failedVersions" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "successfulVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdatePackageVersionsStatus where+  hashWithSalt _salt UpdatePackageVersionsStatus' {..} =+    _salt+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` expectedStatus+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` versionRevisions+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` package+      `Prelude.hashWithSalt` versions+      `Prelude.hashWithSalt` targetStatus++instance Prelude.NFData UpdatePackageVersionsStatus where+  rnf UpdatePackageVersionsStatus' {..} =+    Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf expectedStatus+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf versionRevisions+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf package+      `Prelude.seq` Prelude.rnf versions+      `Prelude.seq` Prelude.rnf targetStatus++instance Data.ToHeaders UpdatePackageVersionsStatus where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdatePackageVersionsStatus where+  toJSON UpdatePackageVersionsStatus' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("expectedStatus" Data..=)+              Prelude.<$> expectedStatus,+            ("versionRevisions" Data..=)+              Prelude.<$> versionRevisions,+            Prelude.Just ("versions" Data..= versions),+            Prelude.Just ("targetStatus" Data..= targetStatus)+          ]+      )++instance Data.ToPath UpdatePackageVersionsStatus where+  toPath =+    Prelude.const "/v1/package/versions/update_status"++instance Data.ToQuery UpdatePackageVersionsStatus where+  toQuery UpdatePackageVersionsStatus' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "namespace" Data.=: namespace,+        "domain" Data.=: domain,+        "repository" Data.=: repository,+        "format" Data.=: format,+        "package" Data.=: package+      ]++-- | /See:/ 'newUpdatePackageVersionsStatusResponse' smart constructor.+data UpdatePackageVersionsStatusResponse = UpdatePackageVersionsStatusResponse'+  { -- | A list of @SuccessfulPackageVersionInfo@ objects, one for each package+    -- version with a status that successfully updated.+    failedVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError),+    -- | A list of @PackageVersionError@ objects, one for each package version+    -- with a status that failed to update.+    successfulVersions :: Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePackageVersionsStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedVersions', 'updatePackageVersionsStatusResponse_failedVersions' - A list of @SuccessfulPackageVersionInfo@ objects, one for each package+-- version with a status that successfully updated.+--+-- 'successfulVersions', 'updatePackageVersionsStatusResponse_successfulVersions' - A list of @PackageVersionError@ objects, one for each package version+-- with a status that failed to update.+--+-- 'httpStatus', 'updatePackageVersionsStatusResponse_httpStatus' - The response's http status code.+newUpdatePackageVersionsStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdatePackageVersionsStatusResponse+newUpdatePackageVersionsStatusResponse pHttpStatus_ =+  UpdatePackageVersionsStatusResponse'+    { failedVersions =+        Prelude.Nothing,+      successfulVersions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of @SuccessfulPackageVersionInfo@ objects, one for each package+-- version with a status that successfully updated.+updatePackageVersionsStatusResponse_failedVersions :: Lens.Lens' UpdatePackageVersionsStatusResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PackageVersionError))+updatePackageVersionsStatusResponse_failedVersions = Lens.lens (\UpdatePackageVersionsStatusResponse' {failedVersions} -> failedVersions) (\s@UpdatePackageVersionsStatusResponse' {} a -> s {failedVersions = a} :: UpdatePackageVersionsStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of @PackageVersionError@ objects, one for each package version+-- with a status that failed to update.+updatePackageVersionsStatusResponse_successfulVersions :: Lens.Lens' UpdatePackageVersionsStatusResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text SuccessfulPackageVersionInfo))+updatePackageVersionsStatusResponse_successfulVersions = Lens.lens (\UpdatePackageVersionsStatusResponse' {successfulVersions} -> successfulVersions) (\s@UpdatePackageVersionsStatusResponse' {} a -> s {successfulVersions = a} :: UpdatePackageVersionsStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updatePackageVersionsStatusResponse_httpStatus :: Lens.Lens' UpdatePackageVersionsStatusResponse Prelude.Int+updatePackageVersionsStatusResponse_httpStatus = Lens.lens (\UpdatePackageVersionsStatusResponse' {httpStatus} -> httpStatus) (\s@UpdatePackageVersionsStatusResponse' {} a -> s {httpStatus = a} :: UpdatePackageVersionsStatusResponse)++instance+  Prelude.NFData+    UpdatePackageVersionsStatusResponse+  where+  rnf UpdatePackageVersionsStatusResponse' {..} =+    Prelude.rnf failedVersions+      `Prelude.seq` Prelude.rnf successfulVersions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/UpdateRepository.hs view
@@ -0,0 +1,240 @@+{-# 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.CodeArtifact.UpdateRepository+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the properties of a repository.+module Amazonka.CodeArtifact.UpdateRepository+  ( -- * Creating a Request+    UpdateRepository (..),+    newUpdateRepository,++    -- * Request Lenses+    updateRepository_description,+    updateRepository_domainOwner,+    updateRepository_upstreams,+    updateRepository_domain,+    updateRepository_repository,++    -- * Destructuring the Response+    UpdateRepositoryResponse (..),+    newUpdateRepositoryResponse,++    -- * Response Lenses+    updateRepositoryResponse_repository,+    updateRepositoryResponse_httpStatus,+  )+where++import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateRepository' smart constructor.+data UpdateRepository = UpdateRepository'+  { -- | An updated repository description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The 12-digit account number of the Amazon Web Services account that owns+    -- the domain. It does not include dashes or spaces.+    domainOwner :: Prelude.Maybe Prelude.Text,+    -- | A list of upstream repositories to associate with the repository. The+    -- order of the upstream repositories in the list determines their priority+    -- order when CodeArtifact looks for a requested package version. For more+    -- information, see+    -- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+    upstreams :: Prelude.Maybe [UpstreamRepository],+    -- | The name of the domain associated with the repository to update.+    domain :: Prelude.Text,+    -- | The name of the repository to update.+    repository :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateRepository_description' - An updated repository description.+--+-- 'domainOwner', 'updateRepository_domainOwner' - The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+--+-- 'upstreams', 'updateRepository_upstreams' - A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+--+-- 'domain', 'updateRepository_domain' - The name of the domain associated with the repository to update.+--+-- 'repository', 'updateRepository_repository' - The name of the repository to update.+newUpdateRepository ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'repository'+  Prelude.Text ->+  UpdateRepository+newUpdateRepository pDomain_ pRepository_ =+  UpdateRepository'+    { description = Prelude.Nothing,+      domainOwner = Prelude.Nothing,+      upstreams = Prelude.Nothing,+      domain = pDomain_,+      repository = pRepository_+    }++-- | An updated repository description.+updateRepository_description :: Lens.Lens' UpdateRepository (Prelude.Maybe Prelude.Text)+updateRepository_description = Lens.lens (\UpdateRepository' {description} -> description) (\s@UpdateRepository' {} a -> s {description = a} :: UpdateRepository)++-- | The 12-digit account number of the Amazon Web Services account that owns+-- the domain. It does not include dashes or spaces.+updateRepository_domainOwner :: Lens.Lens' UpdateRepository (Prelude.Maybe Prelude.Text)+updateRepository_domainOwner = Lens.lens (\UpdateRepository' {domainOwner} -> domainOwner) (\s@UpdateRepository' {} a -> s {domainOwner = a} :: UpdateRepository)++-- | A list of upstream repositories to associate with the repository. The+-- order of the upstream repositories in the list determines their priority+-- order when CodeArtifact looks for a requested package version. For more+-- information, see+-- <https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html Working with upstream repositories>.+updateRepository_upstreams :: Lens.Lens' UpdateRepository (Prelude.Maybe [UpstreamRepository])+updateRepository_upstreams = Lens.lens (\UpdateRepository' {upstreams} -> upstreams) (\s@UpdateRepository' {} a -> s {upstreams = a} :: UpdateRepository) Prelude.. Lens.mapping Lens.coerced++-- | The name of the domain associated with the repository to update.+updateRepository_domain :: Lens.Lens' UpdateRepository Prelude.Text+updateRepository_domain = Lens.lens (\UpdateRepository' {domain} -> domain) (\s@UpdateRepository' {} a -> s {domain = a} :: UpdateRepository)++-- | The name of the repository to update.+updateRepository_repository :: Lens.Lens' UpdateRepository Prelude.Text+updateRepository_repository = Lens.lens (\UpdateRepository' {repository} -> repository) (\s@UpdateRepository' {} a -> s {repository = a} :: UpdateRepository)++instance Core.AWSRequest UpdateRepository where+  type+    AWSResponse UpdateRepository =+      UpdateRepositoryResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateRepositoryResponse'+            Prelude.<$> (x Data..?> "repository")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRepository where+  hashWithSalt _salt UpdateRepository' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` domainOwner+      `Prelude.hashWithSalt` upstreams+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` repository++instance Prelude.NFData UpdateRepository where+  rnf UpdateRepository' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf domainOwner+      `Prelude.seq` Prelude.rnf upstreams+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf repository++instance Data.ToHeaders UpdateRepository where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateRepository where+  toJSON UpdateRepository' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("upstreams" Data..=) Prelude.<$> upstreams+          ]+      )++instance Data.ToPath UpdateRepository where+  toPath = Prelude.const "/v1/repository"++instance Data.ToQuery UpdateRepository where+  toQuery UpdateRepository' {..} =+    Prelude.mconcat+      [ "domain-owner" Data.=: domainOwner,+        "domain" Data.=: domain,+        "repository" Data.=: repository+      ]++-- | /See:/ 'newUpdateRepositoryResponse' smart constructor.+data UpdateRepositoryResponse = UpdateRepositoryResponse'+  { -- | The updated repository.+    repository :: Prelude.Maybe RepositoryDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRepositoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'repository', 'updateRepositoryResponse_repository' - The updated repository.+--+-- 'httpStatus', 'updateRepositoryResponse_httpStatus' - The response's http status code.+newUpdateRepositoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRepositoryResponse+newUpdateRepositoryResponse pHttpStatus_ =+  UpdateRepositoryResponse'+    { repository =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated repository.+updateRepositoryResponse_repository :: Lens.Lens' UpdateRepositoryResponse (Prelude.Maybe RepositoryDescription)+updateRepositoryResponse_repository = Lens.lens (\UpdateRepositoryResponse' {repository} -> repository) (\s@UpdateRepositoryResponse' {} a -> s {repository = a} :: UpdateRepositoryResponse)++-- | The response's http status code.+updateRepositoryResponse_httpStatus :: Lens.Lens' UpdateRepositoryResponse Prelude.Int+updateRepositoryResponse_httpStatus = Lens.lens (\UpdateRepositoryResponse' {httpStatus} -> httpStatus) (\s@UpdateRepositoryResponse' {} a -> s {httpStatus = a} :: UpdateRepositoryResponse)++instance Prelude.NFData UpdateRepositoryResponse where+  rnf UpdateRepositoryResponse' {..} =+    Prelude.rnf repository+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/CodeArtifact/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.CodeArtifact.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.CodeArtifact.Waiters where++import Amazonka.CodeArtifact.Lens+import Amazonka.CodeArtifact.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
+ 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.CodeArtifact+import Test.Amazonka.CodeArtifact.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "CodeArtifact"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/CodeArtifact.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.CodeArtifact+-- 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.CodeArtifact+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/CodeArtifact/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.CodeArtifact.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.CodeArtifact.Internal where
+ test/Test/Amazonka/Gen/CodeArtifact.hs view
@@ -0,0 +1,750 @@+{-# 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.CodeArtifact+-- 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.CodeArtifact where++import Amazonka.CodeArtifact+import qualified Data.Proxy as Proxy+import Test.Amazonka.CodeArtifact.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestAssociateExternalConnection $+--             newAssociateExternalConnection+--+--         , requestCopyPackageVersions $+--             newCopyPackageVersions+--+--         , requestCreateDomain $+--             newCreateDomain+--+--         , requestCreateRepository $+--             newCreateRepository+--+--         , requestDeleteDomain $+--             newDeleteDomain+--+--         , requestDeleteDomainPermissionsPolicy $+--             newDeleteDomainPermissionsPolicy+--+--         , requestDeletePackageVersions $+--             newDeletePackageVersions+--+--         , requestDeleteRepository $+--             newDeleteRepository+--+--         , requestDeleteRepositoryPermissionsPolicy $+--             newDeleteRepositoryPermissionsPolicy+--+--         , requestDescribeDomain $+--             newDescribeDomain+--+--         , requestDescribePackage $+--             newDescribePackage+--+--         , requestDescribePackageVersion $+--             newDescribePackageVersion+--+--         , requestDescribeRepository $+--             newDescribeRepository+--+--         , requestDisassociateExternalConnection $+--             newDisassociateExternalConnection+--+--         , requestDisposePackageVersions $+--             newDisposePackageVersions+--+--         , requestGetAuthorizationToken $+--             newGetAuthorizationToken+--+--         , requestGetDomainPermissionsPolicy $+--             newGetDomainPermissionsPolicy+--+--         , requestGetPackageVersionAsset $+--             newGetPackageVersionAsset+--+--         , requestGetPackageVersionReadme $+--             newGetPackageVersionReadme+--+--         , requestGetRepositoryEndpoint $+--             newGetRepositoryEndpoint+--+--         , requestGetRepositoryPermissionsPolicy $+--             newGetRepositoryPermissionsPolicy+--+--         , requestListDomains $+--             newListDomains+--+--         , requestListPackageVersionAssets $+--             newListPackageVersionAssets+--+--         , requestListPackageVersionDependencies $+--             newListPackageVersionDependencies+--+--         , requestListPackageVersions $+--             newListPackageVersions+--+--         , requestListPackages $+--             newListPackages+--+--         , requestListRepositories $+--             newListRepositories+--+--         , requestListRepositoriesInDomain $+--             newListRepositoriesInDomain+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutDomainPermissionsPolicy $+--             newPutDomainPermissionsPolicy+--+--         , requestPutPackageOriginConfiguration $+--             newPutPackageOriginConfiguration+--+--         , requestPutRepositoryPermissionsPolicy $+--             newPutRepositoryPermissionsPolicy+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdatePackageVersionsStatus $+--             newUpdatePackageVersionsStatus+--+--         , requestUpdateRepository $+--             newUpdateRepository+--+--           ]++--     , testGroup "response"+--         [ responseAssociateExternalConnection $+--             newAssociateExternalConnectionResponse+--+--         , responseCopyPackageVersions $+--             newCopyPackageVersionsResponse+--+--         , responseCreateDomain $+--             newCreateDomainResponse+--+--         , responseCreateRepository $+--             newCreateRepositoryResponse+--+--         , responseDeleteDomain $+--             newDeleteDomainResponse+--+--         , responseDeleteDomainPermissionsPolicy $+--             newDeleteDomainPermissionsPolicyResponse+--+--         , responseDeletePackageVersions $+--             newDeletePackageVersionsResponse+--+--         , responseDeleteRepository $+--             newDeleteRepositoryResponse+--+--         , responseDeleteRepositoryPermissionsPolicy $+--             newDeleteRepositoryPermissionsPolicyResponse+--+--         , responseDescribeDomain $+--             newDescribeDomainResponse+--+--         , responseDescribePackage $+--             newDescribePackageResponse+--+--         , responseDescribePackageVersion $+--             newDescribePackageVersionResponse+--+--         , responseDescribeRepository $+--             newDescribeRepositoryResponse+--+--         , responseDisassociateExternalConnection $+--             newDisassociateExternalConnectionResponse+--+--         , responseDisposePackageVersions $+--             newDisposePackageVersionsResponse+--+--         , responseGetAuthorizationToken $+--             newGetAuthorizationTokenResponse+--+--         , responseGetDomainPermissionsPolicy $+--             newGetDomainPermissionsPolicyResponse+--+--         , responseGetPackageVersionAsset $+--             newGetPackageVersionAssetResponse+--+--         , responseGetPackageVersionReadme $+--             newGetPackageVersionReadmeResponse+--+--         , responseGetRepositoryEndpoint $+--             newGetRepositoryEndpointResponse+--+--         , responseGetRepositoryPermissionsPolicy $+--             newGetRepositoryPermissionsPolicyResponse+--+--         , responseListDomains $+--             newListDomainsResponse+--+--         , responseListPackageVersionAssets $+--             newListPackageVersionAssetsResponse+--+--         , responseListPackageVersionDependencies $+--             newListPackageVersionDependenciesResponse+--+--         , responseListPackageVersions $+--             newListPackageVersionsResponse+--+--         , responseListPackages $+--             newListPackagesResponse+--+--         , responseListRepositories $+--             newListRepositoriesResponse+--+--         , responseListRepositoriesInDomain $+--             newListRepositoriesInDomainResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutDomainPermissionsPolicy $+--             newPutDomainPermissionsPolicyResponse+--+--         , responsePutPackageOriginConfiguration $+--             newPutPackageOriginConfigurationResponse+--+--         , responsePutRepositoryPermissionsPolicy $+--             newPutRepositoryPermissionsPolicyResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdatePackageVersionsStatus $+--             newUpdatePackageVersionsStatusResponse+--+--         , responseUpdateRepository $+--             newUpdateRepositoryResponse+--+--           ]+--     ]++-- Requests++requestAssociateExternalConnection :: AssociateExternalConnection -> TestTree+requestAssociateExternalConnection =+  req+    "AssociateExternalConnection"+    "fixture/AssociateExternalConnection.yaml"++requestCopyPackageVersions :: CopyPackageVersions -> TestTree+requestCopyPackageVersions =+  req+    "CopyPackageVersions"+    "fixture/CopyPackageVersions.yaml"++requestCreateDomain :: CreateDomain -> TestTree+requestCreateDomain =+  req+    "CreateDomain"+    "fixture/CreateDomain.yaml"++requestCreateRepository :: CreateRepository -> TestTree+requestCreateRepository =+  req+    "CreateRepository"+    "fixture/CreateRepository.yaml"++requestDeleteDomain :: DeleteDomain -> TestTree+requestDeleteDomain =+  req+    "DeleteDomain"+    "fixture/DeleteDomain.yaml"++requestDeleteDomainPermissionsPolicy :: DeleteDomainPermissionsPolicy -> TestTree+requestDeleteDomainPermissionsPolicy =+  req+    "DeleteDomainPermissionsPolicy"+    "fixture/DeleteDomainPermissionsPolicy.yaml"++requestDeletePackageVersions :: DeletePackageVersions -> TestTree+requestDeletePackageVersions =+  req+    "DeletePackageVersions"+    "fixture/DeletePackageVersions.yaml"++requestDeleteRepository :: DeleteRepository -> TestTree+requestDeleteRepository =+  req+    "DeleteRepository"+    "fixture/DeleteRepository.yaml"++requestDeleteRepositoryPermissionsPolicy :: DeleteRepositoryPermissionsPolicy -> TestTree+requestDeleteRepositoryPermissionsPolicy =+  req+    "DeleteRepositoryPermissionsPolicy"+    "fixture/DeleteRepositoryPermissionsPolicy.yaml"++requestDescribeDomain :: DescribeDomain -> TestTree+requestDescribeDomain =+  req+    "DescribeDomain"+    "fixture/DescribeDomain.yaml"++requestDescribePackage :: DescribePackage -> TestTree+requestDescribePackage =+  req+    "DescribePackage"+    "fixture/DescribePackage.yaml"++requestDescribePackageVersion :: DescribePackageVersion -> TestTree+requestDescribePackageVersion =+  req+    "DescribePackageVersion"+    "fixture/DescribePackageVersion.yaml"++requestDescribeRepository :: DescribeRepository -> TestTree+requestDescribeRepository =+  req+    "DescribeRepository"+    "fixture/DescribeRepository.yaml"++requestDisassociateExternalConnection :: DisassociateExternalConnection -> TestTree+requestDisassociateExternalConnection =+  req+    "DisassociateExternalConnection"+    "fixture/DisassociateExternalConnection.yaml"++requestDisposePackageVersions :: DisposePackageVersions -> TestTree+requestDisposePackageVersions =+  req+    "DisposePackageVersions"+    "fixture/DisposePackageVersions.yaml"++requestGetAuthorizationToken :: GetAuthorizationToken -> TestTree+requestGetAuthorizationToken =+  req+    "GetAuthorizationToken"+    "fixture/GetAuthorizationToken.yaml"++requestGetDomainPermissionsPolicy :: GetDomainPermissionsPolicy -> TestTree+requestGetDomainPermissionsPolicy =+  req+    "GetDomainPermissionsPolicy"+    "fixture/GetDomainPermissionsPolicy.yaml"++requestGetPackageVersionAsset :: GetPackageVersionAsset -> TestTree+requestGetPackageVersionAsset =+  req+    "GetPackageVersionAsset"+    "fixture/GetPackageVersionAsset.yaml"++requestGetPackageVersionReadme :: GetPackageVersionReadme -> TestTree+requestGetPackageVersionReadme =+  req+    "GetPackageVersionReadme"+    "fixture/GetPackageVersionReadme.yaml"++requestGetRepositoryEndpoint :: GetRepositoryEndpoint -> TestTree+requestGetRepositoryEndpoint =+  req+    "GetRepositoryEndpoint"+    "fixture/GetRepositoryEndpoint.yaml"++requestGetRepositoryPermissionsPolicy :: GetRepositoryPermissionsPolicy -> TestTree+requestGetRepositoryPermissionsPolicy =+  req+    "GetRepositoryPermissionsPolicy"+    "fixture/GetRepositoryPermissionsPolicy.yaml"++requestListDomains :: ListDomains -> TestTree+requestListDomains =+  req+    "ListDomains"+    "fixture/ListDomains.yaml"++requestListPackageVersionAssets :: ListPackageVersionAssets -> TestTree+requestListPackageVersionAssets =+  req+    "ListPackageVersionAssets"+    "fixture/ListPackageVersionAssets.yaml"++requestListPackageVersionDependencies :: ListPackageVersionDependencies -> TestTree+requestListPackageVersionDependencies =+  req+    "ListPackageVersionDependencies"+    "fixture/ListPackageVersionDependencies.yaml"++requestListPackageVersions :: ListPackageVersions -> TestTree+requestListPackageVersions =+  req+    "ListPackageVersions"+    "fixture/ListPackageVersions.yaml"++requestListPackages :: ListPackages -> TestTree+requestListPackages =+  req+    "ListPackages"+    "fixture/ListPackages.yaml"++requestListRepositories :: ListRepositories -> TestTree+requestListRepositories =+  req+    "ListRepositories"+    "fixture/ListRepositories.yaml"++requestListRepositoriesInDomain :: ListRepositoriesInDomain -> TestTree+requestListRepositoriesInDomain =+  req+    "ListRepositoriesInDomain"+    "fixture/ListRepositoriesInDomain.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutDomainPermissionsPolicy :: PutDomainPermissionsPolicy -> TestTree+requestPutDomainPermissionsPolicy =+  req+    "PutDomainPermissionsPolicy"+    "fixture/PutDomainPermissionsPolicy.yaml"++requestPutPackageOriginConfiguration :: PutPackageOriginConfiguration -> TestTree+requestPutPackageOriginConfiguration =+  req+    "PutPackageOriginConfiguration"+    "fixture/PutPackageOriginConfiguration.yaml"++requestPutRepositoryPermissionsPolicy :: PutRepositoryPermissionsPolicy -> TestTree+requestPutRepositoryPermissionsPolicy =+  req+    "PutRepositoryPermissionsPolicy"+    "fixture/PutRepositoryPermissionsPolicy.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdatePackageVersionsStatus :: UpdatePackageVersionsStatus -> TestTree+requestUpdatePackageVersionsStatus =+  req+    "UpdatePackageVersionsStatus"+    "fixture/UpdatePackageVersionsStatus.yaml"++requestUpdateRepository :: UpdateRepository -> TestTree+requestUpdateRepository =+  req+    "UpdateRepository"+    "fixture/UpdateRepository.yaml"++-- Responses++responseAssociateExternalConnection :: AssociateExternalConnectionResponse -> TestTree+responseAssociateExternalConnection =+  res+    "AssociateExternalConnectionResponse"+    "fixture/AssociateExternalConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateExternalConnection)++responseCopyPackageVersions :: CopyPackageVersionsResponse -> TestTree+responseCopyPackageVersions =+  res+    "CopyPackageVersionsResponse"+    "fixture/CopyPackageVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CopyPackageVersions)++responseCreateDomain :: CreateDomainResponse -> TestTree+responseCreateDomain =+  res+    "CreateDomainResponse"+    "fixture/CreateDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDomain)++responseCreateRepository :: CreateRepositoryResponse -> TestTree+responseCreateRepository =+  res+    "CreateRepositoryResponse"+    "fixture/CreateRepositoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRepository)++responseDeleteDomain :: DeleteDomainResponse -> TestTree+responseDeleteDomain =+  res+    "DeleteDomainResponse"+    "fixture/DeleteDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDomain)++responseDeleteDomainPermissionsPolicy :: DeleteDomainPermissionsPolicyResponse -> TestTree+responseDeleteDomainPermissionsPolicy =+  res+    "DeleteDomainPermissionsPolicyResponse"+    "fixture/DeleteDomainPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDomainPermissionsPolicy)++responseDeletePackageVersions :: DeletePackageVersionsResponse -> TestTree+responseDeletePackageVersions =+  res+    "DeletePackageVersionsResponse"+    "fixture/DeletePackageVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePackageVersions)++responseDeleteRepository :: DeleteRepositoryResponse -> TestTree+responseDeleteRepository =+  res+    "DeleteRepositoryResponse"+    "fixture/DeleteRepositoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRepository)++responseDeleteRepositoryPermissionsPolicy :: DeleteRepositoryPermissionsPolicyResponse -> TestTree+responseDeleteRepositoryPermissionsPolicy =+  res+    "DeleteRepositoryPermissionsPolicyResponse"+    "fixture/DeleteRepositoryPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRepositoryPermissionsPolicy)++responseDescribeDomain :: DescribeDomainResponse -> TestTree+responseDescribeDomain =+  res+    "DescribeDomainResponse"+    "fixture/DescribeDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDomain)++responseDescribePackage :: DescribePackageResponse -> TestTree+responseDescribePackage =+  res+    "DescribePackageResponse"+    "fixture/DescribePackageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePackage)++responseDescribePackageVersion :: DescribePackageVersionResponse -> TestTree+responseDescribePackageVersion =+  res+    "DescribePackageVersionResponse"+    "fixture/DescribePackageVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePackageVersion)++responseDescribeRepository :: DescribeRepositoryResponse -> TestTree+responseDescribeRepository =+  res+    "DescribeRepositoryResponse"+    "fixture/DescribeRepositoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeRepository)++responseDisassociateExternalConnection :: DisassociateExternalConnectionResponse -> TestTree+responseDisassociateExternalConnection =+  res+    "DisassociateExternalConnectionResponse"+    "fixture/DisassociateExternalConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateExternalConnection)++responseDisposePackageVersions :: DisposePackageVersionsResponse -> TestTree+responseDisposePackageVersions =+  res+    "DisposePackageVersionsResponse"+    "fixture/DisposePackageVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisposePackageVersions)++responseGetAuthorizationToken :: GetAuthorizationTokenResponse -> TestTree+responseGetAuthorizationToken =+  res+    "GetAuthorizationTokenResponse"+    "fixture/GetAuthorizationTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAuthorizationToken)++responseGetDomainPermissionsPolicy :: GetDomainPermissionsPolicyResponse -> TestTree+responseGetDomainPermissionsPolicy =+  res+    "GetDomainPermissionsPolicyResponse"+    "fixture/GetDomainPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDomainPermissionsPolicy)++responseGetPackageVersionReadme :: GetPackageVersionReadmeResponse -> TestTree+responseGetPackageVersionReadme =+  res+    "GetPackageVersionReadmeResponse"+    "fixture/GetPackageVersionReadmeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPackageVersionReadme)++responseGetRepositoryEndpoint :: GetRepositoryEndpointResponse -> TestTree+responseGetRepositoryEndpoint =+  res+    "GetRepositoryEndpointResponse"+    "fixture/GetRepositoryEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRepositoryEndpoint)++responseGetRepositoryPermissionsPolicy :: GetRepositoryPermissionsPolicyResponse -> TestTree+responseGetRepositoryPermissionsPolicy =+  res+    "GetRepositoryPermissionsPolicyResponse"+    "fixture/GetRepositoryPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRepositoryPermissionsPolicy)++responseListDomains :: ListDomainsResponse -> TestTree+responseListDomains =+  res+    "ListDomainsResponse"+    "fixture/ListDomainsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDomains)++responseListPackageVersionAssets :: ListPackageVersionAssetsResponse -> TestTree+responseListPackageVersionAssets =+  res+    "ListPackageVersionAssetsResponse"+    "fixture/ListPackageVersionAssetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackageVersionAssets)++responseListPackageVersionDependencies :: ListPackageVersionDependenciesResponse -> TestTree+responseListPackageVersionDependencies =+  res+    "ListPackageVersionDependenciesResponse"+    "fixture/ListPackageVersionDependenciesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackageVersionDependencies)++responseListPackageVersions :: ListPackageVersionsResponse -> TestTree+responseListPackageVersions =+  res+    "ListPackageVersionsResponse"+    "fixture/ListPackageVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackageVersions)++responseListPackages :: ListPackagesResponse -> TestTree+responseListPackages =+  res+    "ListPackagesResponse"+    "fixture/ListPackagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackages)++responseListRepositories :: ListRepositoriesResponse -> TestTree+responseListRepositories =+  res+    "ListRepositoriesResponse"+    "fixture/ListRepositoriesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRepositories)++responseListRepositoriesInDomain :: ListRepositoriesInDomainResponse -> TestTree+responseListRepositoriesInDomain =+  res+    "ListRepositoriesInDomainResponse"+    "fixture/ListRepositoriesInDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRepositoriesInDomain)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutDomainPermissionsPolicy :: PutDomainPermissionsPolicyResponse -> TestTree+responsePutDomainPermissionsPolicy =+  res+    "PutDomainPermissionsPolicyResponse"+    "fixture/PutDomainPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutDomainPermissionsPolicy)++responsePutPackageOriginConfiguration :: PutPackageOriginConfigurationResponse -> TestTree+responsePutPackageOriginConfiguration =+  res+    "PutPackageOriginConfigurationResponse"+    "fixture/PutPackageOriginConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutPackageOriginConfiguration)++responsePutRepositoryPermissionsPolicy :: PutRepositoryPermissionsPolicyResponse -> TestTree+responsePutRepositoryPermissionsPolicy =+  res+    "PutRepositoryPermissionsPolicyResponse"+    "fixture/PutRepositoryPermissionsPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutRepositoryPermissionsPolicy)++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)++responseUpdatePackageVersionsStatus :: UpdatePackageVersionsStatusResponse -> TestTree+responseUpdatePackageVersionsStatus =+  res+    "UpdatePackageVersionsStatusResponse"+    "fixture/UpdatePackageVersionsStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePackageVersionsStatus)++responseUpdateRepository :: UpdateRepositoryResponse -> TestTree+responseUpdateRepository =+  res+    "UpdateRepositoryResponse"+    "fixture/UpdateRepositoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRepository)