packages feed

amazonka-apprunner (empty) → 2.0

raw patch · 169 files changed

+18141/−0 lines, 169 filesdep +amazonka-apprunnerdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-apprunner, 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 App Runner SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-05-15@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-apprunner)+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.AppRunner](http://hackage.haskell.org/package/amazonka-apprunner/docs/Amazonka-AppRunner.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-apprunner` 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-apprunner.cabal view
@@ -0,0 +1,170 @@+cabal-version:      2.2+name:               amazonka-apprunner+version:            2.0+synopsis:           Amazon App Runner SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2020-05-15@ 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.AppRunner.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.AppRunner" 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-apprunner++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.AppRunner+    Amazonka.AppRunner.AssociateCustomDomain+    Amazonka.AppRunner.CreateAutoScalingConfiguration+    Amazonka.AppRunner.CreateConnection+    Amazonka.AppRunner.CreateObservabilityConfiguration+    Amazonka.AppRunner.CreateService+    Amazonka.AppRunner.CreateVpcConnector+    Amazonka.AppRunner.CreateVpcIngressConnection+    Amazonka.AppRunner.DeleteAutoScalingConfiguration+    Amazonka.AppRunner.DeleteConnection+    Amazonka.AppRunner.DeleteObservabilityConfiguration+    Amazonka.AppRunner.DeleteService+    Amazonka.AppRunner.DeleteVpcConnector+    Amazonka.AppRunner.DeleteVpcIngressConnection+    Amazonka.AppRunner.DescribeAutoScalingConfiguration+    Amazonka.AppRunner.DescribeCustomDomains+    Amazonka.AppRunner.DescribeObservabilityConfiguration+    Amazonka.AppRunner.DescribeService+    Amazonka.AppRunner.DescribeVpcConnector+    Amazonka.AppRunner.DescribeVpcIngressConnection+    Amazonka.AppRunner.DisassociateCustomDomain+    Amazonka.AppRunner.Lens+    Amazonka.AppRunner.ListAutoScalingConfigurations+    Amazonka.AppRunner.ListConnections+    Amazonka.AppRunner.ListObservabilityConfigurations+    Amazonka.AppRunner.ListOperations+    Amazonka.AppRunner.ListServices+    Amazonka.AppRunner.ListTagsForResource+    Amazonka.AppRunner.ListVpcConnectors+    Amazonka.AppRunner.ListVpcIngressConnections+    Amazonka.AppRunner.PauseService+    Amazonka.AppRunner.ResumeService+    Amazonka.AppRunner.StartDeployment+    Amazonka.AppRunner.TagResource+    Amazonka.AppRunner.Types+    Amazonka.AppRunner.Types.AuthenticationConfiguration+    Amazonka.AppRunner.Types.AutoScalingConfiguration+    Amazonka.AppRunner.Types.AutoScalingConfigurationStatus+    Amazonka.AppRunner.Types.AutoScalingConfigurationSummary+    Amazonka.AppRunner.Types.CertificateValidationRecord+    Amazonka.AppRunner.Types.CertificateValidationRecordStatus+    Amazonka.AppRunner.Types.CodeConfiguration+    Amazonka.AppRunner.Types.CodeConfigurationValues+    Amazonka.AppRunner.Types.CodeRepository+    Amazonka.AppRunner.Types.ConfigurationSource+    Amazonka.AppRunner.Types.Connection+    Amazonka.AppRunner.Types.ConnectionStatus+    Amazonka.AppRunner.Types.ConnectionSummary+    Amazonka.AppRunner.Types.CustomDomain+    Amazonka.AppRunner.Types.CustomDomainAssociationStatus+    Amazonka.AppRunner.Types.EgressConfiguration+    Amazonka.AppRunner.Types.EgressType+    Amazonka.AppRunner.Types.EncryptionConfiguration+    Amazonka.AppRunner.Types.HealthCheckConfiguration+    Amazonka.AppRunner.Types.HealthCheckProtocol+    Amazonka.AppRunner.Types.ImageConfiguration+    Amazonka.AppRunner.Types.ImageRepository+    Amazonka.AppRunner.Types.ImageRepositoryType+    Amazonka.AppRunner.Types.IngressConfiguration+    Amazonka.AppRunner.Types.IngressVpcConfiguration+    Amazonka.AppRunner.Types.InstanceConfiguration+    Amazonka.AppRunner.Types.ListVpcIngressConnectionsFilter+    Amazonka.AppRunner.Types.NetworkConfiguration+    Amazonka.AppRunner.Types.ObservabilityConfiguration+    Amazonka.AppRunner.Types.ObservabilityConfigurationStatus+    Amazonka.AppRunner.Types.ObservabilityConfigurationSummary+    Amazonka.AppRunner.Types.OperationStatus+    Amazonka.AppRunner.Types.OperationSummary+    Amazonka.AppRunner.Types.OperationType+    Amazonka.AppRunner.Types.ProviderType+    Amazonka.AppRunner.Types.Runtime+    Amazonka.AppRunner.Types.Service+    Amazonka.AppRunner.Types.ServiceObservabilityConfiguration+    Amazonka.AppRunner.Types.ServiceStatus+    Amazonka.AppRunner.Types.ServiceSummary+    Amazonka.AppRunner.Types.SourceCodeVersion+    Amazonka.AppRunner.Types.SourceCodeVersionType+    Amazonka.AppRunner.Types.SourceConfiguration+    Amazonka.AppRunner.Types.Tag+    Amazonka.AppRunner.Types.TraceConfiguration+    Amazonka.AppRunner.Types.TracingVendor+    Amazonka.AppRunner.Types.VpcConnector+    Amazonka.AppRunner.Types.VpcConnectorStatus+    Amazonka.AppRunner.Types.VpcDNSTarget+    Amazonka.AppRunner.Types.VpcIngressConnection+    Amazonka.AppRunner.Types.VpcIngressConnectionStatus+    Amazonka.AppRunner.Types.VpcIngressConnectionSummary+    Amazonka.AppRunner.UntagResource+    Amazonka.AppRunner.UpdateService+    Amazonka.AppRunner.UpdateVpcIngressConnection+    Amazonka.AppRunner.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-apprunner-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.AppRunner+    Test.Amazonka.AppRunner.Internal+    Test.Amazonka.Gen.AppRunner++  build-depends:+    , amazonka-apprunner+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateCustomDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/AssociateCustomDomainResponse.proto view
+ fixture/CreateAutoScalingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateAutoScalingConfigurationResponse.proto view
+ fixture/CreateConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateConnectionResponse.proto view
+ fixture/CreateObservabilityConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateObservabilityConfigurationResponse.proto view
+ fixture/CreateService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateServiceResponse.proto view
+ fixture/CreateVpcConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateVpcConnectorResponse.proto view
+ fixture/CreateVpcIngressConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/CreateVpcIngressConnectionResponse.proto view
+ fixture/DeleteAutoScalingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteAutoScalingConfigurationResponse.proto view
+ fixture/DeleteConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteConnectionResponse.proto view
+ fixture/DeleteObservabilityConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteObservabilityConfigurationResponse.proto view
+ fixture/DeleteService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteServiceResponse.proto view
+ fixture/DeleteVpcConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteVpcConnectorResponse.proto view
+ fixture/DeleteVpcIngressConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DeleteVpcIngressConnectionResponse.proto view
+ fixture/DescribeAutoScalingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeAutoScalingConfigurationResponse.proto view
+ fixture/DescribeCustomDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeCustomDomainsResponse.proto view
+ fixture/DescribeObservabilityConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeObservabilityConfigurationResponse.proto view
+ fixture/DescribeService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeServiceResponse.proto view
+ fixture/DescribeVpcConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeVpcConnectorResponse.proto view
+ fixture/DescribeVpcIngressConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DescribeVpcIngressConnectionResponse.proto view
+ fixture/DisassociateCustomDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/DisassociateCustomDomainResponse.proto view
+ fixture/ListAutoScalingConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListAutoScalingConfigurationsResponse.proto view
+ fixture/ListConnections.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListConnectionsResponse.proto view
+ fixture/ListObservabilityConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListObservabilityConfigurationsResponse.proto view
+ fixture/ListOperations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListOperationsResponse.proto view
+ fixture/ListServices.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListServicesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListVpcConnectors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListVpcConnectorsResponse.proto view
+ fixture/ListVpcIngressConnections.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ListVpcIngressConnectionsResponse.proto view
+ fixture/PauseService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/PauseServiceResponse.proto view
+ fixture/ResumeService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/ResumeServiceResponse.proto view
+ fixture/StartDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/StartDeploymentResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/UpdateService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/UpdateServiceResponse.proto view
+ fixture/UpdateVpcIngressConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/apprunner/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  apprunner.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/UpdateVpcIngressConnectionResponse.proto view
+ gen/Amazonka/AppRunner.hs view
@@ -0,0 +1,538 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.AppRunner+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-05-15@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- App Runner+--+-- App Runner is an application service that provides a fast, simple, and+-- cost-effective way to go directly from an existing container image or+-- source code to a running service in the Amazon Web Services Cloud in+-- seconds. You don\'t need to learn new technologies, decide which compute+-- service to use, or understand how to provision and configure Amazon Web+-- Services resources.+--+-- App Runner connects directly to your container registry or source code+-- repository. It provides an automatic delivery pipeline with fully+-- managed operations, high performance, scalability, and security.+--+-- For more information about App Runner, see the+-- <https://docs.aws.amazon.com/apprunner/latest/dg/ App Runner Developer Guide>.+-- For release information, see the+-- <https://docs.aws.amazon.com/apprunner/latest/relnotes/ App Runner Release Notes>.+--+-- To install the Software Development Kits (SDKs), Integrated Development+-- Environment (IDE) Toolkits, and command line tools that you can use to+-- access the API, see+-- <http://aws.amazon.com/tools/ Tools for Amazon Web Services>.+--+-- __Endpoints__+--+-- For a list of Region-specific endpoints that App Runner supports, see+-- <https://docs.aws.amazon.com/general/latest/gr/apprunner.html App Runner endpoints and quotas>+-- in the /Amazon Web Services General Reference/.+module Amazonka.AppRunner+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** InternalServiceErrorException+    _InternalServiceErrorException,++    -- ** InvalidRequestException+    _InvalidRequestException,++    -- ** InvalidStateException+    _InvalidStateException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateCustomDomain+    AssociateCustomDomain (AssociateCustomDomain'),+    newAssociateCustomDomain,+    AssociateCustomDomainResponse (AssociateCustomDomainResponse'),+    newAssociateCustomDomainResponse,++    -- ** CreateAutoScalingConfiguration+    CreateAutoScalingConfiguration (CreateAutoScalingConfiguration'),+    newCreateAutoScalingConfiguration,+    CreateAutoScalingConfigurationResponse (CreateAutoScalingConfigurationResponse'),+    newCreateAutoScalingConfigurationResponse,++    -- ** CreateConnection+    CreateConnection (CreateConnection'),+    newCreateConnection,+    CreateConnectionResponse (CreateConnectionResponse'),+    newCreateConnectionResponse,++    -- ** CreateObservabilityConfiguration+    CreateObservabilityConfiguration (CreateObservabilityConfiguration'),+    newCreateObservabilityConfiguration,+    CreateObservabilityConfigurationResponse (CreateObservabilityConfigurationResponse'),+    newCreateObservabilityConfigurationResponse,++    -- ** CreateService+    CreateService (CreateService'),+    newCreateService,+    CreateServiceResponse (CreateServiceResponse'),+    newCreateServiceResponse,++    -- ** CreateVpcConnector+    CreateVpcConnector (CreateVpcConnector'),+    newCreateVpcConnector,+    CreateVpcConnectorResponse (CreateVpcConnectorResponse'),+    newCreateVpcConnectorResponse,++    -- ** CreateVpcIngressConnection+    CreateVpcIngressConnection (CreateVpcIngressConnection'),+    newCreateVpcIngressConnection,+    CreateVpcIngressConnectionResponse (CreateVpcIngressConnectionResponse'),+    newCreateVpcIngressConnectionResponse,++    -- ** DeleteAutoScalingConfiguration+    DeleteAutoScalingConfiguration (DeleteAutoScalingConfiguration'),+    newDeleteAutoScalingConfiguration,+    DeleteAutoScalingConfigurationResponse (DeleteAutoScalingConfigurationResponse'),+    newDeleteAutoScalingConfigurationResponse,++    -- ** DeleteConnection+    DeleteConnection (DeleteConnection'),+    newDeleteConnection,+    DeleteConnectionResponse (DeleteConnectionResponse'),+    newDeleteConnectionResponse,++    -- ** DeleteObservabilityConfiguration+    DeleteObservabilityConfiguration (DeleteObservabilityConfiguration'),+    newDeleteObservabilityConfiguration,+    DeleteObservabilityConfigurationResponse (DeleteObservabilityConfigurationResponse'),+    newDeleteObservabilityConfigurationResponse,++    -- ** DeleteService+    DeleteService (DeleteService'),+    newDeleteService,+    DeleteServiceResponse (DeleteServiceResponse'),+    newDeleteServiceResponse,++    -- ** DeleteVpcConnector+    DeleteVpcConnector (DeleteVpcConnector'),+    newDeleteVpcConnector,+    DeleteVpcConnectorResponse (DeleteVpcConnectorResponse'),+    newDeleteVpcConnectorResponse,++    -- ** DeleteVpcIngressConnection+    DeleteVpcIngressConnection (DeleteVpcIngressConnection'),+    newDeleteVpcIngressConnection,+    DeleteVpcIngressConnectionResponse (DeleteVpcIngressConnectionResponse'),+    newDeleteVpcIngressConnectionResponse,++    -- ** DescribeAutoScalingConfiguration+    DescribeAutoScalingConfiguration (DescribeAutoScalingConfiguration'),+    newDescribeAutoScalingConfiguration,+    DescribeAutoScalingConfigurationResponse (DescribeAutoScalingConfigurationResponse'),+    newDescribeAutoScalingConfigurationResponse,++    -- ** DescribeCustomDomains+    DescribeCustomDomains (DescribeCustomDomains'),+    newDescribeCustomDomains,+    DescribeCustomDomainsResponse (DescribeCustomDomainsResponse'),+    newDescribeCustomDomainsResponse,++    -- ** DescribeObservabilityConfiguration+    DescribeObservabilityConfiguration (DescribeObservabilityConfiguration'),+    newDescribeObservabilityConfiguration,+    DescribeObservabilityConfigurationResponse (DescribeObservabilityConfigurationResponse'),+    newDescribeObservabilityConfigurationResponse,++    -- ** DescribeService+    DescribeService (DescribeService'),+    newDescribeService,+    DescribeServiceResponse (DescribeServiceResponse'),+    newDescribeServiceResponse,++    -- ** DescribeVpcConnector+    DescribeVpcConnector (DescribeVpcConnector'),+    newDescribeVpcConnector,+    DescribeVpcConnectorResponse (DescribeVpcConnectorResponse'),+    newDescribeVpcConnectorResponse,++    -- ** DescribeVpcIngressConnection+    DescribeVpcIngressConnection (DescribeVpcIngressConnection'),+    newDescribeVpcIngressConnection,+    DescribeVpcIngressConnectionResponse (DescribeVpcIngressConnectionResponse'),+    newDescribeVpcIngressConnectionResponse,++    -- ** DisassociateCustomDomain+    DisassociateCustomDomain (DisassociateCustomDomain'),+    newDisassociateCustomDomain,+    DisassociateCustomDomainResponse (DisassociateCustomDomainResponse'),+    newDisassociateCustomDomainResponse,++    -- ** ListAutoScalingConfigurations+    ListAutoScalingConfigurations (ListAutoScalingConfigurations'),+    newListAutoScalingConfigurations,+    ListAutoScalingConfigurationsResponse (ListAutoScalingConfigurationsResponse'),+    newListAutoScalingConfigurationsResponse,++    -- ** ListConnections+    ListConnections (ListConnections'),+    newListConnections,+    ListConnectionsResponse (ListConnectionsResponse'),+    newListConnectionsResponse,++    -- ** ListObservabilityConfigurations+    ListObservabilityConfigurations (ListObservabilityConfigurations'),+    newListObservabilityConfigurations,+    ListObservabilityConfigurationsResponse (ListObservabilityConfigurationsResponse'),+    newListObservabilityConfigurationsResponse,++    -- ** ListOperations+    ListOperations (ListOperations'),+    newListOperations,+    ListOperationsResponse (ListOperationsResponse'),+    newListOperationsResponse,++    -- ** ListServices+    ListServices (ListServices'),+    newListServices,+    ListServicesResponse (ListServicesResponse'),+    newListServicesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListVpcConnectors+    ListVpcConnectors (ListVpcConnectors'),+    newListVpcConnectors,+    ListVpcConnectorsResponse (ListVpcConnectorsResponse'),+    newListVpcConnectorsResponse,++    -- ** ListVpcIngressConnections+    ListVpcIngressConnections (ListVpcIngressConnections'),+    newListVpcIngressConnections,+    ListVpcIngressConnectionsResponse (ListVpcIngressConnectionsResponse'),+    newListVpcIngressConnectionsResponse,++    -- ** PauseService+    PauseService (PauseService'),+    newPauseService,+    PauseServiceResponse (PauseServiceResponse'),+    newPauseServiceResponse,++    -- ** ResumeService+    ResumeService (ResumeService'),+    newResumeService,+    ResumeServiceResponse (ResumeServiceResponse'),+    newResumeServiceResponse,++    -- ** StartDeployment+    StartDeployment (StartDeployment'),+    newStartDeployment,+    StartDeploymentResponse (StartDeploymentResponse'),+    newStartDeploymentResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateService+    UpdateService (UpdateService'),+    newUpdateService,+    UpdateServiceResponse (UpdateServiceResponse'),+    newUpdateServiceResponse,++    -- ** UpdateVpcIngressConnection+    UpdateVpcIngressConnection (UpdateVpcIngressConnection'),+    newUpdateVpcIngressConnection,+    UpdateVpcIngressConnectionResponse (UpdateVpcIngressConnectionResponse'),+    newUpdateVpcIngressConnectionResponse,++    -- * Types++    -- ** AutoScalingConfigurationStatus+    AutoScalingConfigurationStatus (..),++    -- ** CertificateValidationRecordStatus+    CertificateValidationRecordStatus (..),++    -- ** ConfigurationSource+    ConfigurationSource (..),++    -- ** ConnectionStatus+    ConnectionStatus (..),++    -- ** CustomDomainAssociationStatus+    CustomDomainAssociationStatus (..),++    -- ** EgressType+    EgressType (..),++    -- ** HealthCheckProtocol+    HealthCheckProtocol (..),++    -- ** ImageRepositoryType+    ImageRepositoryType (..),++    -- ** ObservabilityConfigurationStatus+    ObservabilityConfigurationStatus (..),++    -- ** OperationStatus+    OperationStatus (..),++    -- ** OperationType+    OperationType (..),++    -- ** ProviderType+    ProviderType (..),++    -- ** Runtime+    Runtime (..),++    -- ** ServiceStatus+    ServiceStatus (..),++    -- ** SourceCodeVersionType+    SourceCodeVersionType (..),++    -- ** TracingVendor+    TracingVendor (..),++    -- ** VpcConnectorStatus+    VpcConnectorStatus (..),++    -- ** VpcIngressConnectionStatus+    VpcIngressConnectionStatus (..),++    -- ** AuthenticationConfiguration+    AuthenticationConfiguration (AuthenticationConfiguration'),+    newAuthenticationConfiguration,++    -- ** AutoScalingConfiguration+    AutoScalingConfiguration (AutoScalingConfiguration'),+    newAutoScalingConfiguration,++    -- ** AutoScalingConfigurationSummary+    AutoScalingConfigurationSummary (AutoScalingConfigurationSummary'),+    newAutoScalingConfigurationSummary,++    -- ** CertificateValidationRecord+    CertificateValidationRecord (CertificateValidationRecord'),+    newCertificateValidationRecord,++    -- ** CodeConfiguration+    CodeConfiguration (CodeConfiguration'),+    newCodeConfiguration,++    -- ** CodeConfigurationValues+    CodeConfigurationValues (CodeConfigurationValues'),+    newCodeConfigurationValues,++    -- ** CodeRepository+    CodeRepository (CodeRepository'),+    newCodeRepository,++    -- ** Connection+    Connection (Connection'),+    newConnection,++    -- ** ConnectionSummary+    ConnectionSummary (ConnectionSummary'),+    newConnectionSummary,++    -- ** CustomDomain+    CustomDomain (CustomDomain'),+    newCustomDomain,++    -- ** EgressConfiguration+    EgressConfiguration (EgressConfiguration'),+    newEgressConfiguration,++    -- ** EncryptionConfiguration+    EncryptionConfiguration (EncryptionConfiguration'),+    newEncryptionConfiguration,++    -- ** HealthCheckConfiguration+    HealthCheckConfiguration (HealthCheckConfiguration'),+    newHealthCheckConfiguration,++    -- ** ImageConfiguration+    ImageConfiguration (ImageConfiguration'),+    newImageConfiguration,++    -- ** ImageRepository+    ImageRepository (ImageRepository'),+    newImageRepository,++    -- ** IngressConfiguration+    IngressConfiguration (IngressConfiguration'),+    newIngressConfiguration,++    -- ** IngressVpcConfiguration+    IngressVpcConfiguration (IngressVpcConfiguration'),+    newIngressVpcConfiguration,++    -- ** InstanceConfiguration+    InstanceConfiguration (InstanceConfiguration'),+    newInstanceConfiguration,++    -- ** ListVpcIngressConnectionsFilter+    ListVpcIngressConnectionsFilter (ListVpcIngressConnectionsFilter'),+    newListVpcIngressConnectionsFilter,++    -- ** NetworkConfiguration+    NetworkConfiguration (NetworkConfiguration'),+    newNetworkConfiguration,++    -- ** ObservabilityConfiguration+    ObservabilityConfiguration (ObservabilityConfiguration'),+    newObservabilityConfiguration,++    -- ** ObservabilityConfigurationSummary+    ObservabilityConfigurationSummary (ObservabilityConfigurationSummary'),+    newObservabilityConfigurationSummary,++    -- ** OperationSummary+    OperationSummary (OperationSummary'),+    newOperationSummary,++    -- ** Service+    Service (Service'),+    newService,++    -- ** ServiceObservabilityConfiguration+    ServiceObservabilityConfiguration (ServiceObservabilityConfiguration'),+    newServiceObservabilityConfiguration,++    -- ** ServiceSummary+    ServiceSummary (ServiceSummary'),+    newServiceSummary,++    -- ** SourceCodeVersion+    SourceCodeVersion (SourceCodeVersion'),+    newSourceCodeVersion,++    -- ** SourceConfiguration+    SourceConfiguration (SourceConfiguration'),+    newSourceConfiguration,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TraceConfiguration+    TraceConfiguration (TraceConfiguration'),+    newTraceConfiguration,++    -- ** VpcConnector+    VpcConnector (VpcConnector'),+    newVpcConnector,++    -- ** VpcDNSTarget+    VpcDNSTarget (VpcDNSTarget'),+    newVpcDNSTarget,++    -- ** VpcIngressConnection+    VpcIngressConnection (VpcIngressConnection'),+    newVpcIngressConnection,++    -- ** VpcIngressConnectionSummary+    VpcIngressConnectionSummary (VpcIngressConnectionSummary'),+    newVpcIngressConnectionSummary,+  )+where++import Amazonka.AppRunner.AssociateCustomDomain+import Amazonka.AppRunner.CreateAutoScalingConfiguration+import Amazonka.AppRunner.CreateConnection+import Amazonka.AppRunner.CreateObservabilityConfiguration+import Amazonka.AppRunner.CreateService+import Amazonka.AppRunner.CreateVpcConnector+import Amazonka.AppRunner.CreateVpcIngressConnection+import Amazonka.AppRunner.DeleteAutoScalingConfiguration+import Amazonka.AppRunner.DeleteConnection+import Amazonka.AppRunner.DeleteObservabilityConfiguration+import Amazonka.AppRunner.DeleteService+import Amazonka.AppRunner.DeleteVpcConnector+import Amazonka.AppRunner.DeleteVpcIngressConnection+import Amazonka.AppRunner.DescribeAutoScalingConfiguration+import Amazonka.AppRunner.DescribeCustomDomains+import Amazonka.AppRunner.DescribeObservabilityConfiguration+import Amazonka.AppRunner.DescribeService+import Amazonka.AppRunner.DescribeVpcConnector+import Amazonka.AppRunner.DescribeVpcIngressConnection+import Amazonka.AppRunner.DisassociateCustomDomain+import Amazonka.AppRunner.Lens+import Amazonka.AppRunner.ListAutoScalingConfigurations+import Amazonka.AppRunner.ListConnections+import Amazonka.AppRunner.ListObservabilityConfigurations+import Amazonka.AppRunner.ListOperations+import Amazonka.AppRunner.ListServices+import Amazonka.AppRunner.ListTagsForResource+import Amazonka.AppRunner.ListVpcConnectors+import Amazonka.AppRunner.ListVpcIngressConnections+import Amazonka.AppRunner.PauseService+import Amazonka.AppRunner.ResumeService+import Amazonka.AppRunner.StartDeployment+import Amazonka.AppRunner.TagResource+import Amazonka.AppRunner.Types+import Amazonka.AppRunner.UntagResource+import Amazonka.AppRunner.UpdateService+import Amazonka.AppRunner.UpdateVpcIngressConnection+import Amazonka.AppRunner.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 'AppRunner'.++-- $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/AppRunner/AssociateCustomDomain.hs view
@@ -0,0 +1,286 @@+{-# 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.AppRunner.AssociateCustomDomain+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate your own domain name with the App Runner subdomain URL of your+-- App Runner service.+--+-- After you call @AssociateCustomDomain@ and receive a successful+-- response, use the information in the CustomDomain record that\'s+-- returned to add CNAME records to your Domain Name System (DNS). For each+-- mapped domain name, add a mapping to the target App Runner subdomain and+-- one or more certificate validation records. App Runner then performs DNS+-- validation to verify that you own or control the domain name that you+-- associated. App Runner tracks domain validity in a certificate stored in+-- <https://docs.aws.amazon.com/acm/latest/userguide AWS Certificate Manager (ACM)>.+module Amazonka.AppRunner.AssociateCustomDomain+  ( -- * Creating a Request+    AssociateCustomDomain (..),+    newAssociateCustomDomain,++    -- * Request Lenses+    associateCustomDomain_enableWWWSubdomain,+    associateCustomDomain_serviceArn,+    associateCustomDomain_domainName,++    -- * Destructuring the Response+    AssociateCustomDomainResponse (..),+    newAssociateCustomDomainResponse,++    -- * Response Lenses+    associateCustomDomainResponse_httpStatus,+    associateCustomDomainResponse_dNSTarget,+    associateCustomDomainResponse_serviceArn,+    associateCustomDomainResponse_customDomain,+    associateCustomDomainResponse_vpcDNSTargets,+  )+where++import Amazonka.AppRunner.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:/ 'newAssociateCustomDomain' smart constructor.+data AssociateCustomDomain = AssociateCustomDomain'+  { -- | Set to @true@ to associate the subdomain @www.@/@DomainName@/@ @ with+    -- the App Runner service in addition to the base domain.+    --+    -- Default: @true@+    enableWWWSubdomain :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to associate a custom domain name with.+    serviceArn :: Prelude.Text,+    -- | A custom domain endpoint to associate. Specify a root domain (for+    -- example, @example.com@), a subdomain (for example, @login.example.com@+    -- or @admin.login.example.com@), or a wildcard (for example,+    -- @*.example.com@).+    domainName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCustomDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enableWWWSubdomain', 'associateCustomDomain_enableWWWSubdomain' - Set to @true@ to associate the subdomain @www.@/@DomainName@/@ @ with+-- the App Runner service in addition to the base domain.+--+-- Default: @true@+--+-- 'serviceArn', 'associateCustomDomain_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to associate a custom domain name with.+--+-- 'domainName', 'associateCustomDomain_domainName' - A custom domain endpoint to associate. Specify a root domain (for+-- example, @example.com@), a subdomain (for example, @login.example.com@+-- or @admin.login.example.com@), or a wildcard (for example,+-- @*.example.com@).+newAssociateCustomDomain ::+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'domainName'+  Prelude.Text ->+  AssociateCustomDomain+newAssociateCustomDomain pServiceArn_ pDomainName_ =+  AssociateCustomDomain'+    { enableWWWSubdomain =+        Prelude.Nothing,+      serviceArn = pServiceArn_,+      domainName = pDomainName_+    }++-- | Set to @true@ to associate the subdomain @www.@/@DomainName@/@ @ with+-- the App Runner service in addition to the base domain.+--+-- Default: @true@+associateCustomDomain_enableWWWSubdomain :: Lens.Lens' AssociateCustomDomain (Prelude.Maybe Prelude.Bool)+associateCustomDomain_enableWWWSubdomain = Lens.lens (\AssociateCustomDomain' {enableWWWSubdomain} -> enableWWWSubdomain) (\s@AssociateCustomDomain' {} a -> s {enableWWWSubdomain = a} :: AssociateCustomDomain)++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to associate a custom domain name with.+associateCustomDomain_serviceArn :: Lens.Lens' AssociateCustomDomain Prelude.Text+associateCustomDomain_serviceArn = Lens.lens (\AssociateCustomDomain' {serviceArn} -> serviceArn) (\s@AssociateCustomDomain' {} a -> s {serviceArn = a} :: AssociateCustomDomain)++-- | A custom domain endpoint to associate. Specify a root domain (for+-- example, @example.com@), a subdomain (for example, @login.example.com@+-- or @admin.login.example.com@), or a wildcard (for example,+-- @*.example.com@).+associateCustomDomain_domainName :: Lens.Lens' AssociateCustomDomain Prelude.Text+associateCustomDomain_domainName = Lens.lens (\AssociateCustomDomain' {domainName} -> domainName) (\s@AssociateCustomDomain' {} a -> s {domainName = a} :: AssociateCustomDomain)++instance Core.AWSRequest AssociateCustomDomain where+  type+    AWSResponse AssociateCustomDomain =+      AssociateCustomDomainResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateCustomDomainResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "DNSTarget")+            Prelude.<*> (x Data..:> "ServiceArn")+            Prelude.<*> (x Data..:> "CustomDomain")+            Prelude.<*> (x Data..?> "VpcDNSTargets" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable AssociateCustomDomain where+  hashWithSalt _salt AssociateCustomDomain' {..} =+    _salt+      `Prelude.hashWithSalt` enableWWWSubdomain+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` domainName++instance Prelude.NFData AssociateCustomDomain where+  rnf AssociateCustomDomain' {..} =+    Prelude.rnf enableWWWSubdomain+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf domainName++instance Data.ToHeaders AssociateCustomDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.AssociateCustomDomain" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateCustomDomain where+  toJSON AssociateCustomDomain' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EnableWWWSubdomain" Data..=)+              Prelude.<$> enableWWWSubdomain,+            Prelude.Just ("ServiceArn" Data..= serviceArn),+            Prelude.Just ("DomainName" Data..= domainName)+          ]+      )++instance Data.ToPath AssociateCustomDomain where+  toPath = Prelude.const "/"++instance Data.ToQuery AssociateCustomDomain where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateCustomDomainResponse' smart constructor.+data AssociateCustomDomainResponse = AssociateCustomDomainResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The App Runner subdomain of the App Runner service. The custom domain+    -- name is mapped to this target name.+    dNSTarget :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner service with which a+    -- custom domain name is associated.+    serviceArn :: Prelude.Text,+    -- | A description of the domain name that\'s being associated.+    customDomain :: CustomDomain,+    -- | DNS Target records for the custom domains of this Amazon VPC.+    vpcDNSTargets :: [VpcDNSTarget]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCustomDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateCustomDomainResponse_httpStatus' - The response's http status code.+--+-- 'dNSTarget', 'associateCustomDomainResponse_dNSTarget' - The App Runner subdomain of the App Runner service. The custom domain+-- name is mapped to this target name.+--+-- 'serviceArn', 'associateCustomDomainResponse_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service with which a+-- custom domain name is associated.+--+-- 'customDomain', 'associateCustomDomainResponse_customDomain' - A description of the domain name that\'s being associated.+--+-- 'vpcDNSTargets', 'associateCustomDomainResponse_vpcDNSTargets' - DNS Target records for the custom domains of this Amazon VPC.+newAssociateCustomDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'dNSTarget'+  Prelude.Text ->+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'customDomain'+  CustomDomain ->+  AssociateCustomDomainResponse+newAssociateCustomDomainResponse+  pHttpStatus_+  pDNSTarget_+  pServiceArn_+  pCustomDomain_ =+    AssociateCustomDomainResponse'+      { httpStatus =+          pHttpStatus_,+        dNSTarget = pDNSTarget_,+        serviceArn = pServiceArn_,+        customDomain = pCustomDomain_,+        vpcDNSTargets = Prelude.mempty+      }++-- | The response's http status code.+associateCustomDomainResponse_httpStatus :: Lens.Lens' AssociateCustomDomainResponse Prelude.Int+associateCustomDomainResponse_httpStatus = Lens.lens (\AssociateCustomDomainResponse' {httpStatus} -> httpStatus) (\s@AssociateCustomDomainResponse' {} a -> s {httpStatus = a} :: AssociateCustomDomainResponse)++-- | The App Runner subdomain of the App Runner service. The custom domain+-- name is mapped to this target name.+associateCustomDomainResponse_dNSTarget :: Lens.Lens' AssociateCustomDomainResponse Prelude.Text+associateCustomDomainResponse_dNSTarget = Lens.lens (\AssociateCustomDomainResponse' {dNSTarget} -> dNSTarget) (\s@AssociateCustomDomainResponse' {} a -> s {dNSTarget = a} :: AssociateCustomDomainResponse)++-- | The Amazon Resource Name (ARN) of the App Runner service with which a+-- custom domain name is associated.+associateCustomDomainResponse_serviceArn :: Lens.Lens' AssociateCustomDomainResponse Prelude.Text+associateCustomDomainResponse_serviceArn = Lens.lens (\AssociateCustomDomainResponse' {serviceArn} -> serviceArn) (\s@AssociateCustomDomainResponse' {} a -> s {serviceArn = a} :: AssociateCustomDomainResponse)++-- | A description of the domain name that\'s being associated.+associateCustomDomainResponse_customDomain :: Lens.Lens' AssociateCustomDomainResponse CustomDomain+associateCustomDomainResponse_customDomain = Lens.lens (\AssociateCustomDomainResponse' {customDomain} -> customDomain) (\s@AssociateCustomDomainResponse' {} a -> s {customDomain = a} :: AssociateCustomDomainResponse)++-- | DNS Target records for the custom domains of this Amazon VPC.+associateCustomDomainResponse_vpcDNSTargets :: Lens.Lens' AssociateCustomDomainResponse [VpcDNSTarget]+associateCustomDomainResponse_vpcDNSTargets = Lens.lens (\AssociateCustomDomainResponse' {vpcDNSTargets} -> vpcDNSTargets) (\s@AssociateCustomDomainResponse' {} a -> s {vpcDNSTargets = a} :: AssociateCustomDomainResponse) Prelude.. Lens.coerced++instance Prelude.NFData AssociateCustomDomainResponse where+  rnf AssociateCustomDomainResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf dNSTarget+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf customDomain+      `Prelude.seq` Prelude.rnf vpcDNSTargets
+ gen/Amazonka/AppRunner/CreateAutoScalingConfiguration.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.AppRunner.CreateAutoScalingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner automatic scaling configuration resource. App+-- Runner requires this resource when you create or update App Runner+-- services and you require non-default auto scaling settings. You can+-- share an auto scaling configuration across multiple services.+--+-- Create multiple revisions of a configuration by calling this action+-- multiple times using the same @AutoScalingConfigurationName@. The call+-- returns incremental @AutoScalingConfigurationRevision@ values. When you+-- create a service and configure an auto scaling configuration resource,+-- the service uses the latest active revision of the auto scaling+-- configuration by default. You can optionally configure the service to+-- use a specific revision.+--+-- Configure a higher @MinSize@ to increase the spread of your App Runner+-- service over more Availability Zones in the Amazon Web Services Region.+-- The tradeoff is a higher minimal cost.+--+-- Configure a lower @MaxSize@ to control your cost. The tradeoff is lower+-- responsiveness during peak demand.+module Amazonka.AppRunner.CreateAutoScalingConfiguration+  ( -- * Creating a Request+    CreateAutoScalingConfiguration (..),+    newCreateAutoScalingConfiguration,++    -- * Request Lenses+    createAutoScalingConfiguration_maxConcurrency,+    createAutoScalingConfiguration_maxSize,+    createAutoScalingConfiguration_minSize,+    createAutoScalingConfiguration_tags,+    createAutoScalingConfiguration_autoScalingConfigurationName,++    -- * Destructuring the Response+    CreateAutoScalingConfigurationResponse (..),+    newCreateAutoScalingConfigurationResponse,++    -- * Response Lenses+    createAutoScalingConfigurationResponse_httpStatus,+    createAutoScalingConfigurationResponse_autoScalingConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateAutoScalingConfiguration' smart constructor.+data CreateAutoScalingConfiguration = CreateAutoScalingConfiguration'+  { -- | The maximum number of concurrent requests that you want an instance to+    -- process. If the number of concurrent requests exceeds this limit, App+    -- Runner scales up your service.+    --+    -- Default: @100@+    maxConcurrency :: Prelude.Maybe Prelude.Natural,+    -- | The maximum number of instances that your service scales up to. At most+    -- @MaxSize@ instances actively serve traffic for your service.+    --+    -- Default: @25@+    maxSize :: Prelude.Maybe Prelude.Natural,+    -- | The minimum number of instances that App Runner provisions for your+    -- service. The service always has at least @MinSize@ provisioned+    -- instances. Some of them actively serve traffic. The rest of them+    -- (provisioned and inactive instances) are a cost-effective compute+    -- capacity reserve and are ready to be quickly activated. You pay for+    -- memory usage of all the provisioned instances. You pay for CPU usage of+    -- only the active subset.+    --+    -- App Runner temporarily doubles the number of provisioned instances+    -- during deployments, to maintain the same capacity for both old and new+    -- code.+    --+    -- Default: @1@+    minSize :: Prelude.Maybe Prelude.Natural,+    -- | A list of metadata items that you can associate with your auto scaling+    -- configuration resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the auto scaling configuration. When you use it for the first+    -- time in an Amazon Web Services Region, App Runner creates revision+    -- number @1@ of this name. When you use the same name in subsequent calls,+    -- App Runner creates incremental revisions of the configuration.+    --+    -- The name @DefaultConfiguration@ is reserved (it\'s the configuration+    -- that App Runner uses if you don\'t provide a custome one). You can\'t+    -- use it to create a new auto scaling configuration, and you can\'t create+    -- a revision of it.+    --+    -- When you want to use your own auto scaling configuration for your App+    -- Runner service, /create a configuration with a different name/, and then+    -- provide it when you create or update your service.+    autoScalingConfigurationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAutoScalingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxConcurrency', 'createAutoScalingConfiguration_maxConcurrency' - The maximum number of concurrent requests that you want an instance to+-- process. If the number of concurrent requests exceeds this limit, App+-- Runner scales up your service.+--+-- Default: @100@+--+-- 'maxSize', 'createAutoScalingConfiguration_maxSize' - The maximum number of instances that your service scales up to. At most+-- @MaxSize@ instances actively serve traffic for your service.+--+-- Default: @25@+--+-- 'minSize', 'createAutoScalingConfiguration_minSize' - The minimum number of instances that App Runner provisions for your+-- service. The service always has at least @MinSize@ provisioned+-- instances. Some of them actively serve traffic. The rest of them+-- (provisioned and inactive instances) are a cost-effective compute+-- capacity reserve and are ready to be quickly activated. You pay for+-- memory usage of all the provisioned instances. You pay for CPU usage of+-- only the active subset.+--+-- App Runner temporarily doubles the number of provisioned instances+-- during deployments, to maintain the same capacity for both old and new+-- code.+--+-- Default: @1@+--+-- 'tags', 'createAutoScalingConfiguration_tags' - A list of metadata items that you can associate with your auto scaling+-- configuration resource. A tag is a key-value pair.+--+-- 'autoScalingConfigurationName', 'createAutoScalingConfiguration_autoScalingConfigurationName' - A name for the auto scaling configuration. When you use it for the first+-- time in an Amazon Web Services Region, App Runner creates revision+-- number @1@ of this name. When you use the same name in subsequent calls,+-- App Runner creates incremental revisions of the configuration.+--+-- The name @DefaultConfiguration@ is reserved (it\'s the configuration+-- that App Runner uses if you don\'t provide a custome one). You can\'t+-- use it to create a new auto scaling configuration, and you can\'t create+-- a revision of it.+--+-- When you want to use your own auto scaling configuration for your App+-- Runner service, /create a configuration with a different name/, and then+-- provide it when you create or update your service.+newCreateAutoScalingConfiguration ::+  -- | 'autoScalingConfigurationName'+  Prelude.Text ->+  CreateAutoScalingConfiguration+newCreateAutoScalingConfiguration+  pAutoScalingConfigurationName_ =+    CreateAutoScalingConfiguration'+      { maxConcurrency =+          Prelude.Nothing,+        maxSize = Prelude.Nothing,+        minSize = Prelude.Nothing,+        tags = Prelude.Nothing,+        autoScalingConfigurationName =+          pAutoScalingConfigurationName_+      }++-- | The maximum number of concurrent requests that you want an instance to+-- process. If the number of concurrent requests exceeds this limit, App+-- Runner scales up your service.+--+-- Default: @100@+createAutoScalingConfiguration_maxConcurrency :: Lens.Lens' CreateAutoScalingConfiguration (Prelude.Maybe Prelude.Natural)+createAutoScalingConfiguration_maxConcurrency = Lens.lens (\CreateAutoScalingConfiguration' {maxConcurrency} -> maxConcurrency) (\s@CreateAutoScalingConfiguration' {} a -> s {maxConcurrency = a} :: CreateAutoScalingConfiguration)++-- | The maximum number of instances that your service scales up to. At most+-- @MaxSize@ instances actively serve traffic for your service.+--+-- Default: @25@+createAutoScalingConfiguration_maxSize :: Lens.Lens' CreateAutoScalingConfiguration (Prelude.Maybe Prelude.Natural)+createAutoScalingConfiguration_maxSize = Lens.lens (\CreateAutoScalingConfiguration' {maxSize} -> maxSize) (\s@CreateAutoScalingConfiguration' {} a -> s {maxSize = a} :: CreateAutoScalingConfiguration)++-- | The minimum number of instances that App Runner provisions for your+-- service. The service always has at least @MinSize@ provisioned+-- instances. Some of them actively serve traffic. The rest of them+-- (provisioned and inactive instances) are a cost-effective compute+-- capacity reserve and are ready to be quickly activated. You pay for+-- memory usage of all the provisioned instances. You pay for CPU usage of+-- only the active subset.+--+-- App Runner temporarily doubles the number of provisioned instances+-- during deployments, to maintain the same capacity for both old and new+-- code.+--+-- Default: @1@+createAutoScalingConfiguration_minSize :: Lens.Lens' CreateAutoScalingConfiguration (Prelude.Maybe Prelude.Natural)+createAutoScalingConfiguration_minSize = Lens.lens (\CreateAutoScalingConfiguration' {minSize} -> minSize) (\s@CreateAutoScalingConfiguration' {} a -> s {minSize = a} :: CreateAutoScalingConfiguration)++-- | A list of metadata items that you can associate with your auto scaling+-- configuration resource. A tag is a key-value pair.+createAutoScalingConfiguration_tags :: Lens.Lens' CreateAutoScalingConfiguration (Prelude.Maybe [Tag])+createAutoScalingConfiguration_tags = Lens.lens (\CreateAutoScalingConfiguration' {tags} -> tags) (\s@CreateAutoScalingConfiguration' {} a -> s {tags = a} :: CreateAutoScalingConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A name for the auto scaling configuration. When you use it for the first+-- time in an Amazon Web Services Region, App Runner creates revision+-- number @1@ of this name. When you use the same name in subsequent calls,+-- App Runner creates incremental revisions of the configuration.+--+-- The name @DefaultConfiguration@ is reserved (it\'s the configuration+-- that App Runner uses if you don\'t provide a custome one). You can\'t+-- use it to create a new auto scaling configuration, and you can\'t create+-- a revision of it.+--+-- When you want to use your own auto scaling configuration for your App+-- Runner service, /create a configuration with a different name/, and then+-- provide it when you create or update your service.+createAutoScalingConfiguration_autoScalingConfigurationName :: Lens.Lens' CreateAutoScalingConfiguration Prelude.Text+createAutoScalingConfiguration_autoScalingConfigurationName = Lens.lens (\CreateAutoScalingConfiguration' {autoScalingConfigurationName} -> autoScalingConfigurationName) (\s@CreateAutoScalingConfiguration' {} a -> s {autoScalingConfigurationName = a} :: CreateAutoScalingConfiguration)++instance+  Core.AWSRequest+    CreateAutoScalingConfiguration+  where+  type+    AWSResponse CreateAutoScalingConfiguration =+      CreateAutoScalingConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAutoScalingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AutoScalingConfiguration")+      )++instance+  Prelude.Hashable+    CreateAutoScalingConfiguration+  where+  hashWithSalt+    _salt+    CreateAutoScalingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` maxConcurrency+        `Prelude.hashWithSalt` maxSize+        `Prelude.hashWithSalt` minSize+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` autoScalingConfigurationName++instance+  Prelude.NFData+    CreateAutoScalingConfiguration+  where+  rnf CreateAutoScalingConfiguration' {..} =+    Prelude.rnf maxConcurrency+      `Prelude.seq` Prelude.rnf maxSize+      `Prelude.seq` Prelude.rnf minSize+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf autoScalingConfigurationName++instance+  Data.ToHeaders+    CreateAutoScalingConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.CreateAutoScalingConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAutoScalingConfiguration where+  toJSON CreateAutoScalingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxConcurrency" Data..=)+              Prelude.<$> maxConcurrency,+            ("MaxSize" Data..=) Prelude.<$> maxSize,+            ("MinSize" Data..=) Prelude.<$> minSize,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "AutoScalingConfigurationName"+                  Data..= autoScalingConfigurationName+              )+          ]+      )++instance Data.ToPath CreateAutoScalingConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateAutoScalingConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAutoScalingConfigurationResponse' smart constructor.+data CreateAutoScalingConfigurationResponse = CreateAutoScalingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner auto scaling configuration that\'s+    -- created by this request.+    autoScalingConfiguration :: AutoScalingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAutoScalingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createAutoScalingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'autoScalingConfiguration', 'createAutoScalingConfigurationResponse_autoScalingConfiguration' - A description of the App Runner auto scaling configuration that\'s+-- created by this request.+newCreateAutoScalingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'autoScalingConfiguration'+  AutoScalingConfiguration ->+  CreateAutoScalingConfigurationResponse+newCreateAutoScalingConfigurationResponse+  pHttpStatus_+  pAutoScalingConfiguration_ =+    CreateAutoScalingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        autoScalingConfiguration =+          pAutoScalingConfiguration_+      }++-- | The response's http status code.+createAutoScalingConfigurationResponse_httpStatus :: Lens.Lens' CreateAutoScalingConfigurationResponse Prelude.Int+createAutoScalingConfigurationResponse_httpStatus = Lens.lens (\CreateAutoScalingConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateAutoScalingConfigurationResponse' {} a -> s {httpStatus = a} :: CreateAutoScalingConfigurationResponse)++-- | A description of the App Runner auto scaling configuration that\'s+-- created by this request.+createAutoScalingConfigurationResponse_autoScalingConfiguration :: Lens.Lens' CreateAutoScalingConfigurationResponse AutoScalingConfiguration+createAutoScalingConfigurationResponse_autoScalingConfiguration = Lens.lens (\CreateAutoScalingConfigurationResponse' {autoScalingConfiguration} -> autoScalingConfiguration) (\s@CreateAutoScalingConfigurationResponse' {} a -> s {autoScalingConfiguration = a} :: CreateAutoScalingConfigurationResponse)++instance+  Prelude.NFData+    CreateAutoScalingConfigurationResponse+  where+  rnf CreateAutoScalingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf autoScalingConfiguration
+ gen/Amazonka/AppRunner/CreateConnection.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.CreateConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner connection resource. App Runner requires a+-- connection resource when you create App Runner services that access+-- private repositories from certain third-party providers. You can share a+-- connection across multiple services.+--+-- A connection resource is needed to access GitHub repositories. GitHub+-- requires a user interface approval process through the App Runner+-- console before you can use the connection.+module Amazonka.AppRunner.CreateConnection+  ( -- * Creating a Request+    CreateConnection (..),+    newCreateConnection,++    -- * Request Lenses+    createConnection_tags,+    createConnection_connectionName,+    createConnection_providerType,++    -- * Destructuring the Response+    CreateConnectionResponse (..),+    newCreateConnectionResponse,++    -- * Response Lenses+    createConnectionResponse_httpStatus,+    createConnectionResponse_connection,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateConnection' smart constructor.+data CreateConnection = CreateConnection'+  { -- | A list of metadata items that you can associate with your connection+    -- resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the new connection. It must be unique across all App Runner+    -- connections for the Amazon Web Services account in the Amazon Web+    -- Services Region.+    connectionName :: Prelude.Text,+    -- | The source repository provider.+    providerType :: ProviderType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConnection_tags' - A list of metadata items that you can associate with your connection+-- resource. A tag is a key-value pair.+--+-- 'connectionName', 'createConnection_connectionName' - A name for the new connection. It must be unique across all App Runner+-- connections for the Amazon Web Services account in the Amazon Web+-- Services Region.+--+-- 'providerType', 'createConnection_providerType' - The source repository provider.+newCreateConnection ::+  -- | 'connectionName'+  Prelude.Text ->+  -- | 'providerType'+  ProviderType ->+  CreateConnection+newCreateConnection pConnectionName_ pProviderType_ =+  CreateConnection'+    { tags = Prelude.Nothing,+      connectionName = pConnectionName_,+      providerType = pProviderType_+    }++-- | A list of metadata items that you can associate with your connection+-- resource. A tag is a key-value pair.+createConnection_tags :: Lens.Lens' CreateConnection (Prelude.Maybe [Tag])+createConnection_tags = Lens.lens (\CreateConnection' {tags} -> tags) (\s@CreateConnection' {} a -> s {tags = a} :: CreateConnection) Prelude.. Lens.mapping Lens.coerced++-- | A name for the new connection. It must be unique across all App Runner+-- connections for the Amazon Web Services account in the Amazon Web+-- Services Region.+createConnection_connectionName :: Lens.Lens' CreateConnection Prelude.Text+createConnection_connectionName = Lens.lens (\CreateConnection' {connectionName} -> connectionName) (\s@CreateConnection' {} a -> s {connectionName = a} :: CreateConnection)++-- | The source repository provider.+createConnection_providerType :: Lens.Lens' CreateConnection ProviderType+createConnection_providerType = Lens.lens (\CreateConnection' {providerType} -> providerType) (\s@CreateConnection' {} a -> s {providerType = a} :: CreateConnection)++instance Core.AWSRequest CreateConnection where+  type+    AWSResponse CreateConnection =+      CreateConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Connection")+      )++instance Prelude.Hashable CreateConnection where+  hashWithSalt _salt CreateConnection' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` connectionName+      `Prelude.hashWithSalt` providerType++instance Prelude.NFData CreateConnection where+  rnf CreateConnection' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf connectionName+      `Prelude.seq` Prelude.rnf providerType++instance Data.ToHeaders CreateConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.CreateConnection" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnection where+  toJSON CreateConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ConnectionName" Data..= connectionName),+            Prelude.Just ("ProviderType" Data..= providerType)+          ]+      )++instance Data.ToPath CreateConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectionResponse' smart constructor.+data CreateConnectionResponse = CreateConnectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner connection that\'s created by this+    -- request.+    connection :: Connection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConnectionResponse_httpStatus' - The response's http status code.+--+-- 'connection', 'createConnectionResponse_connection' - A description of the App Runner connection that\'s created by this+-- request.+newCreateConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'connection'+  Connection ->+  CreateConnectionResponse+newCreateConnectionResponse pHttpStatus_ pConnection_ =+  CreateConnectionResponse'+    { httpStatus =+        pHttpStatus_,+      connection = pConnection_+    }++-- | The response's http status code.+createConnectionResponse_httpStatus :: Lens.Lens' CreateConnectionResponse Prelude.Int+createConnectionResponse_httpStatus = Lens.lens (\CreateConnectionResponse' {httpStatus} -> httpStatus) (\s@CreateConnectionResponse' {} a -> s {httpStatus = a} :: CreateConnectionResponse)++-- | A description of the App Runner connection that\'s created by this+-- request.+createConnectionResponse_connection :: Lens.Lens' CreateConnectionResponse Connection+createConnectionResponse_connection = Lens.lens (\CreateConnectionResponse' {connection} -> connection) (\s@CreateConnectionResponse' {} a -> s {connection = a} :: CreateConnectionResponse)++instance Prelude.NFData CreateConnectionResponse where+  rnf CreateConnectionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf connection
+ gen/Amazonka/AppRunner/CreateObservabilityConfiguration.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.CreateObservabilityConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner observability configuration resource. App Runner+-- requires this resource when you create or update App Runner services and+-- you want to enable non-default observability features. You can share an+-- observability configuration across multiple services.+--+-- Create multiple revisions of a configuration by calling this action+-- multiple times using the same @ObservabilityConfigurationName@. The call+-- returns incremental @ObservabilityConfigurationRevision@ values. When+-- you create a service and configure an observability configuration+-- resource, the service uses the latest active revision of the+-- observability configuration by default. You can optionally configure the+-- service to use a specific revision.+--+-- The observability configuration resource is designed to configure+-- multiple features (currently one feature, tracing). This action takes+-- optional parameters that describe the configuration of these features+-- (currently one parameter, @TraceConfiguration@). If you don\'t specify a+-- feature parameter, App Runner doesn\'t enable the feature.+module Amazonka.AppRunner.CreateObservabilityConfiguration+  ( -- * Creating a Request+    CreateObservabilityConfiguration (..),+    newCreateObservabilityConfiguration,++    -- * Request Lenses+    createObservabilityConfiguration_tags,+    createObservabilityConfiguration_traceConfiguration,+    createObservabilityConfiguration_observabilityConfigurationName,++    -- * Destructuring the Response+    CreateObservabilityConfigurationResponse (..),+    newCreateObservabilityConfigurationResponse,++    -- * Response Lenses+    createObservabilityConfigurationResponse_httpStatus,+    createObservabilityConfigurationResponse_observabilityConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateObservabilityConfiguration' smart constructor.+data CreateObservabilityConfiguration = CreateObservabilityConfiguration'+  { -- | A list of metadata items that you can associate with your observability+    -- configuration resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | The configuration of the tracing feature within this observability+    -- configuration. If you don\'t specify it, App Runner doesn\'t enable+    -- tracing.+    traceConfiguration :: Prelude.Maybe TraceConfiguration,+    -- | A name for the observability configuration. When you use it for the+    -- first time in an Amazon Web Services Region, App Runner creates revision+    -- number @1@ of this name. When you use the same name in subsequent calls,+    -- App Runner creates incremental revisions of the configuration.+    --+    -- The name @DefaultConfiguration@ is reserved. You can\'t use it to create+    -- a new observability configuration, and you can\'t create a revision of+    -- it.+    --+    -- When you want to use your own observability configuration for your App+    -- Runner service, /create a configuration with a different name/, and then+    -- provide it when you create or update your service.+    observabilityConfigurationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateObservabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createObservabilityConfiguration_tags' - A list of metadata items that you can associate with your observability+-- configuration resource. A tag is a key-value pair.+--+-- 'traceConfiguration', 'createObservabilityConfiguration_traceConfiguration' - The configuration of the tracing feature within this observability+-- configuration. If you don\'t specify it, App Runner doesn\'t enable+-- tracing.+--+-- 'observabilityConfigurationName', 'createObservabilityConfiguration_observabilityConfigurationName' - A name for the observability configuration. When you use it for the+-- first time in an Amazon Web Services Region, App Runner creates revision+-- number @1@ of this name. When you use the same name in subsequent calls,+-- App Runner creates incremental revisions of the configuration.+--+-- The name @DefaultConfiguration@ is reserved. You can\'t use it to create+-- a new observability configuration, and you can\'t create a revision of+-- it.+--+-- When you want to use your own observability configuration for your App+-- Runner service, /create a configuration with a different name/, and then+-- provide it when you create or update your service.+newCreateObservabilityConfiguration ::+  -- | 'observabilityConfigurationName'+  Prelude.Text ->+  CreateObservabilityConfiguration+newCreateObservabilityConfiguration+  pObservabilityConfigurationName_ =+    CreateObservabilityConfiguration'+      { tags =+          Prelude.Nothing,+        traceConfiguration = Prelude.Nothing,+        observabilityConfigurationName =+          pObservabilityConfigurationName_+      }++-- | A list of metadata items that you can associate with your observability+-- configuration resource. A tag is a key-value pair.+createObservabilityConfiguration_tags :: Lens.Lens' CreateObservabilityConfiguration (Prelude.Maybe [Tag])+createObservabilityConfiguration_tags = Lens.lens (\CreateObservabilityConfiguration' {tags} -> tags) (\s@CreateObservabilityConfiguration' {} a -> s {tags = a} :: CreateObservabilityConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of the tracing feature within this observability+-- configuration. If you don\'t specify it, App Runner doesn\'t enable+-- tracing.+createObservabilityConfiguration_traceConfiguration :: Lens.Lens' CreateObservabilityConfiguration (Prelude.Maybe TraceConfiguration)+createObservabilityConfiguration_traceConfiguration = Lens.lens (\CreateObservabilityConfiguration' {traceConfiguration} -> traceConfiguration) (\s@CreateObservabilityConfiguration' {} a -> s {traceConfiguration = a} :: CreateObservabilityConfiguration)++-- | A name for the observability configuration. When you use it for the+-- first time in an Amazon Web Services Region, App Runner creates revision+-- number @1@ of this name. When you use the same name in subsequent calls,+-- App Runner creates incremental revisions of the configuration.+--+-- The name @DefaultConfiguration@ is reserved. You can\'t use it to create+-- a new observability configuration, and you can\'t create a revision of+-- it.+--+-- When you want to use your own observability configuration for your App+-- Runner service, /create a configuration with a different name/, and then+-- provide it when you create or update your service.+createObservabilityConfiguration_observabilityConfigurationName :: Lens.Lens' CreateObservabilityConfiguration Prelude.Text+createObservabilityConfiguration_observabilityConfigurationName = Lens.lens (\CreateObservabilityConfiguration' {observabilityConfigurationName} -> observabilityConfigurationName) (\s@CreateObservabilityConfiguration' {} a -> s {observabilityConfigurationName = a} :: CreateObservabilityConfiguration)++instance+  Core.AWSRequest+    CreateObservabilityConfiguration+  where+  type+    AWSResponse CreateObservabilityConfiguration =+      CreateObservabilityConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateObservabilityConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ObservabilityConfiguration")+      )++instance+  Prelude.Hashable+    CreateObservabilityConfiguration+  where+  hashWithSalt+    _salt+    CreateObservabilityConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` traceConfiguration+        `Prelude.hashWithSalt` observabilityConfigurationName++instance+  Prelude.NFData+    CreateObservabilityConfiguration+  where+  rnf CreateObservabilityConfiguration' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf traceConfiguration+      `Prelude.seq` Prelude.rnf observabilityConfigurationName++instance+  Data.ToHeaders+    CreateObservabilityConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.CreateObservabilityConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateObservabilityConfiguration where+  toJSON CreateObservabilityConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            ("TraceConfiguration" Data..=)+              Prelude.<$> traceConfiguration,+            Prelude.Just+              ( "ObservabilityConfigurationName"+                  Data..= observabilityConfigurationName+              )+          ]+      )++instance Data.ToPath CreateObservabilityConfiguration where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    CreateObservabilityConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateObservabilityConfigurationResponse' smart constructor.+data CreateObservabilityConfigurationResponse = CreateObservabilityConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner observability configuration that\'s+    -- created by this request.+    observabilityConfiguration :: ObservabilityConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateObservabilityConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createObservabilityConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'observabilityConfiguration', 'createObservabilityConfigurationResponse_observabilityConfiguration' - A description of the App Runner observability configuration that\'s+-- created by this request.+newCreateObservabilityConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'observabilityConfiguration'+  ObservabilityConfiguration ->+  CreateObservabilityConfigurationResponse+newCreateObservabilityConfigurationResponse+  pHttpStatus_+  pObservabilityConfiguration_ =+    CreateObservabilityConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        observabilityConfiguration =+          pObservabilityConfiguration_+      }++-- | The response's http status code.+createObservabilityConfigurationResponse_httpStatus :: Lens.Lens' CreateObservabilityConfigurationResponse Prelude.Int+createObservabilityConfigurationResponse_httpStatus = Lens.lens (\CreateObservabilityConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateObservabilityConfigurationResponse' {} a -> s {httpStatus = a} :: CreateObservabilityConfigurationResponse)++-- | A description of the App Runner observability configuration that\'s+-- created by this request.+createObservabilityConfigurationResponse_observabilityConfiguration :: Lens.Lens' CreateObservabilityConfigurationResponse ObservabilityConfiguration+createObservabilityConfigurationResponse_observabilityConfiguration = Lens.lens (\CreateObservabilityConfigurationResponse' {observabilityConfiguration} -> observabilityConfiguration) (\s@CreateObservabilityConfigurationResponse' {} a -> s {observabilityConfiguration = a} :: CreateObservabilityConfigurationResponse)++instance+  Prelude.NFData+    CreateObservabilityConfigurationResponse+  where+  rnf CreateObservabilityConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf observabilityConfiguration
+ gen/Amazonka/AppRunner/CreateService.hs view
@@ -0,0 +1,372 @@+{-# 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.AppRunner.CreateService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner service. After the service is created, the action+-- also automatically starts a deployment.+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html ListOperations>+-- call to track the operation\'s progress.+module Amazonka.AppRunner.CreateService+  ( -- * Creating a Request+    CreateService (..),+    newCreateService,++    -- * Request Lenses+    createService_autoScalingConfigurationArn,+    createService_encryptionConfiguration,+    createService_healthCheckConfiguration,+    createService_instanceConfiguration,+    createService_networkConfiguration,+    createService_observabilityConfiguration,+    createService_tags,+    createService_serviceName,+    createService_sourceConfiguration,++    -- * Destructuring the Response+    CreateServiceResponse (..),+    newCreateServiceResponse,++    -- * Response Lenses+    createServiceResponse_httpStatus,+    createServiceResponse_service,+    createServiceResponse_operationId,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateService' smart constructor.+data CreateService = CreateService'+  { -- | The Amazon Resource Name (ARN) of an App Runner automatic scaling+    -- configuration resource that you want to associate with your service. If+    -- not provided, App Runner associates the latest revision of a default+    -- auto scaling configuration.+    --+    -- Specify an ARN with a name and a revision number to associate that+    -- revision. For example:+    -- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability\/3@+    --+    -- Specify just the name to associate the latest revision. For example:+    -- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability@+    autoScalingConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | An optional custom encryption key that App Runner uses to encrypt the+    -- copy of your source repository that it maintains and your service logs.+    -- By default, App Runner uses an Amazon Web Services managed key.+    encryptionConfiguration :: Prelude.Maybe EncryptionConfiguration,+    -- | The settings for the health check that App Runner performs to monitor+    -- the health of the App Runner service.+    healthCheckConfiguration :: Prelude.Maybe HealthCheckConfiguration,+    -- | The runtime configuration of instances (scaling units) of your service.+    instanceConfiguration :: Prelude.Maybe InstanceConfiguration,+    -- | Configuration settings related to network traffic of the web application+    -- that the App Runner service runs.+    networkConfiguration :: Prelude.Maybe NetworkConfiguration,+    -- | The observability configuration of your service.+    observabilityConfiguration :: Prelude.Maybe ServiceObservabilityConfiguration,+    -- | An optional list of metadata items that you can associate with the App+    -- Runner service resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the App Runner service. It must be unique across all the+    -- running App Runner services in your Amazon Web Services account in the+    -- Amazon Web Services Region.+    serviceName :: Prelude.Text,+    -- | The source to deploy to the App Runner service. It can be a code or an+    -- image repository.+    sourceConfiguration :: SourceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'createService_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of an App Runner automatic scaling+-- configuration resource that you want to associate with your service. If+-- not provided, App Runner associates the latest revision of a default+-- auto scaling configuration.+--+-- Specify an ARN with a name and a revision number to associate that+-- revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability\/3@+--+-- Specify just the name to associate the latest revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability@+--+-- 'encryptionConfiguration', 'createService_encryptionConfiguration' - An optional custom encryption key that App Runner uses to encrypt the+-- copy of your source repository that it maintains and your service logs.+-- By default, App Runner uses an Amazon Web Services managed key.+--+-- 'healthCheckConfiguration', 'createService_healthCheckConfiguration' - The settings for the health check that App Runner performs to monitor+-- the health of the App Runner service.+--+-- 'instanceConfiguration', 'createService_instanceConfiguration' - The runtime configuration of instances (scaling units) of your service.+--+-- 'networkConfiguration', 'createService_networkConfiguration' - Configuration settings related to network traffic of the web application+-- that the App Runner service runs.+--+-- 'observabilityConfiguration', 'createService_observabilityConfiguration' - The observability configuration of your service.+--+-- 'tags', 'createService_tags' - An optional list of metadata items that you can associate with the App+-- Runner service resource. A tag is a key-value pair.+--+-- 'serviceName', 'createService_serviceName' - A name for the App Runner service. It must be unique across all the+-- running App Runner services in your Amazon Web Services account in the+-- Amazon Web Services Region.+--+-- 'sourceConfiguration', 'createService_sourceConfiguration' - The source to deploy to the App Runner service. It can be a code or an+-- image repository.+newCreateService ::+  -- | 'serviceName'+  Prelude.Text ->+  -- | 'sourceConfiguration'+  SourceConfiguration ->+  CreateService+newCreateService pServiceName_ pSourceConfiguration_ =+  CreateService'+    { autoScalingConfigurationArn =+        Prelude.Nothing,+      encryptionConfiguration = Prelude.Nothing,+      healthCheckConfiguration = Prelude.Nothing,+      instanceConfiguration = Prelude.Nothing,+      networkConfiguration = Prelude.Nothing,+      observabilityConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      serviceName = pServiceName_,+      sourceConfiguration = pSourceConfiguration_+    }++-- | The Amazon Resource Name (ARN) of an App Runner automatic scaling+-- configuration resource that you want to associate with your service. If+-- not provided, App Runner associates the latest revision of a default+-- auto scaling configuration.+--+-- Specify an ARN with a name and a revision number to associate that+-- revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability\/3@+--+-- Specify just the name to associate the latest revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration\/high-availability@+createService_autoScalingConfigurationArn :: Lens.Lens' CreateService (Prelude.Maybe Prelude.Text)+createService_autoScalingConfigurationArn = Lens.lens (\CreateService' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@CreateService' {} a -> s {autoScalingConfigurationArn = a} :: CreateService)++-- | An optional custom encryption key that App Runner uses to encrypt the+-- copy of your source repository that it maintains and your service logs.+-- By default, App Runner uses an Amazon Web Services managed key.+createService_encryptionConfiguration :: Lens.Lens' CreateService (Prelude.Maybe EncryptionConfiguration)+createService_encryptionConfiguration = Lens.lens (\CreateService' {encryptionConfiguration} -> encryptionConfiguration) (\s@CreateService' {} a -> s {encryptionConfiguration = a} :: CreateService)++-- | The settings for the health check that App Runner performs to monitor+-- the health of the App Runner service.+createService_healthCheckConfiguration :: Lens.Lens' CreateService (Prelude.Maybe HealthCheckConfiguration)+createService_healthCheckConfiguration = Lens.lens (\CreateService' {healthCheckConfiguration} -> healthCheckConfiguration) (\s@CreateService' {} a -> s {healthCheckConfiguration = a} :: CreateService)++-- | The runtime configuration of instances (scaling units) of your service.+createService_instanceConfiguration :: Lens.Lens' CreateService (Prelude.Maybe InstanceConfiguration)+createService_instanceConfiguration = Lens.lens (\CreateService' {instanceConfiguration} -> instanceConfiguration) (\s@CreateService' {} a -> s {instanceConfiguration = a} :: CreateService)++-- | Configuration settings related to network traffic of the web application+-- that the App Runner service runs.+createService_networkConfiguration :: Lens.Lens' CreateService (Prelude.Maybe NetworkConfiguration)+createService_networkConfiguration = Lens.lens (\CreateService' {networkConfiguration} -> networkConfiguration) (\s@CreateService' {} a -> s {networkConfiguration = a} :: CreateService)++-- | The observability configuration of your service.+createService_observabilityConfiguration :: Lens.Lens' CreateService (Prelude.Maybe ServiceObservabilityConfiguration)+createService_observabilityConfiguration = Lens.lens (\CreateService' {observabilityConfiguration} -> observabilityConfiguration) (\s@CreateService' {} a -> s {observabilityConfiguration = a} :: CreateService)++-- | An optional list of metadata items that you can associate with the App+-- Runner service resource. A tag is a key-value pair.+createService_tags :: Lens.Lens' CreateService (Prelude.Maybe [Tag])+createService_tags = Lens.lens (\CreateService' {tags} -> tags) (\s@CreateService' {} a -> s {tags = a} :: CreateService) Prelude.. Lens.mapping Lens.coerced++-- | A name for the App Runner service. It must be unique across all the+-- running App Runner services in your Amazon Web Services account in the+-- Amazon Web Services Region.+createService_serviceName :: Lens.Lens' CreateService Prelude.Text+createService_serviceName = Lens.lens (\CreateService' {serviceName} -> serviceName) (\s@CreateService' {} a -> s {serviceName = a} :: CreateService)++-- | The source to deploy to the App Runner service. It can be a code or an+-- image repository.+createService_sourceConfiguration :: Lens.Lens' CreateService SourceConfiguration+createService_sourceConfiguration = Lens.lens (\CreateService' {sourceConfiguration} -> sourceConfiguration) (\s@CreateService' {} a -> s {sourceConfiguration = a} :: CreateService)++instance Core.AWSRequest CreateService where+  type+    AWSResponse CreateService =+      CreateServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateServiceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+            Prelude.<*> (x Data..:> "OperationId")+      )++instance Prelude.Hashable CreateService where+  hashWithSalt _salt CreateService' {..} =+    _salt+      `Prelude.hashWithSalt` autoScalingConfigurationArn+      `Prelude.hashWithSalt` encryptionConfiguration+      `Prelude.hashWithSalt` healthCheckConfiguration+      `Prelude.hashWithSalt` instanceConfiguration+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` observabilityConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` serviceName+      `Prelude.hashWithSalt` sourceConfiguration++instance Prelude.NFData CreateService where+  rnf CreateService' {..} =+    Prelude.rnf autoScalingConfigurationArn+      `Prelude.seq` Prelude.rnf encryptionConfiguration+      `Prelude.seq` Prelude.rnf healthCheckConfiguration+      `Prelude.seq` Prelude.rnf instanceConfiguration+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf observabilityConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf sourceConfiguration++instance Data.ToHeaders CreateService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.CreateService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateService where+  toJSON CreateService' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoScalingConfigurationArn" Data..=)+              Prelude.<$> autoScalingConfigurationArn,+            ("EncryptionConfiguration" Data..=)+              Prelude.<$> encryptionConfiguration,+            ("HealthCheckConfiguration" Data..=)+              Prelude.<$> healthCheckConfiguration,+            ("InstanceConfiguration" Data..=)+              Prelude.<$> instanceConfiguration,+            ("NetworkConfiguration" Data..=)+              Prelude.<$> networkConfiguration,+            ("ObservabilityConfiguration" Data..=)+              Prelude.<$> observabilityConfiguration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("ServiceName" Data..= serviceName),+            Prelude.Just+              ("SourceConfiguration" Data..= sourceConfiguration)+          ]+      )++instance Data.ToPath CreateService where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateServiceResponse' smart constructor.+data CreateServiceResponse = CreateServiceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner service that\'s created by this request.+    service :: Service,+    -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the+    -- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html ListOperations>+    -- call to track the operation\'s progress.+    operationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'createServiceResponse_service' - A description of the App Runner service that\'s created by this request.+--+-- 'operationId', 'createServiceResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html ListOperations>+-- call to track the operation\'s progress.+newCreateServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  -- | 'operationId'+  Prelude.Text ->+  CreateServiceResponse+newCreateServiceResponse+  pHttpStatus_+  pService_+  pOperationId_ =+    CreateServiceResponse'+      { httpStatus = pHttpStatus_,+        service = pService_,+        operationId = pOperationId_+      }++-- | The response's http status code.+createServiceResponse_httpStatus :: Lens.Lens' CreateServiceResponse Prelude.Int+createServiceResponse_httpStatus = Lens.lens (\CreateServiceResponse' {httpStatus} -> httpStatus) (\s@CreateServiceResponse' {} a -> s {httpStatus = a} :: CreateServiceResponse)++-- | A description of the App Runner service that\'s created by this request.+createServiceResponse_service :: Lens.Lens' CreateServiceResponse Service+createServiceResponse_service = Lens.lens (\CreateServiceResponse' {service} -> service) (\s@CreateServiceResponse' {} a -> s {service = a} :: CreateServiceResponse)++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html ListOperations>+-- call to track the operation\'s progress.+createServiceResponse_operationId :: Lens.Lens' CreateServiceResponse Prelude.Text+createServiceResponse_operationId = Lens.lens (\CreateServiceResponse' {operationId} -> operationId) (\s@CreateServiceResponse' {} a -> s {operationId = a} :: CreateServiceResponse)++instance Prelude.NFData CreateServiceResponse where+  rnf CreateServiceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service+      `Prelude.seq` Prelude.rnf operationId
+ gen/Amazonka/AppRunner/CreateVpcConnector.hs view
@@ -0,0 +1,251 @@+{-# 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.AppRunner.CreateVpcConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner VPC connector resource. App Runner requires this+-- resource when you want to associate your App Runner service to a custom+-- Amazon Virtual Private Cloud (Amazon VPC).+module Amazonka.AppRunner.CreateVpcConnector+  ( -- * Creating a Request+    CreateVpcConnector (..),+    newCreateVpcConnector,++    -- * Request Lenses+    createVpcConnector_securityGroups,+    createVpcConnector_tags,+    createVpcConnector_vpcConnectorName,+    createVpcConnector_subnets,++    -- * Destructuring the Response+    CreateVpcConnectorResponse (..),+    newCreateVpcConnectorResponse,++    -- * Response Lenses+    createVpcConnectorResponse_httpStatus,+    createVpcConnectorResponse_vpcConnector,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateVpcConnector' smart constructor.+data CreateVpcConnector = CreateVpcConnector'+  { -- | A list of IDs of security groups that App Runner should use for access+    -- to Amazon Web Services resources under the specified subnets. If not+    -- specified, App Runner uses the default security group of the Amazon VPC.+    -- The default security group allows all outbound traffic.+    securityGroups :: Prelude.Maybe [Prelude.Text],+    -- | A list of metadata items that you can associate with your VPC connector+    -- resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the VPC connector.+    vpcConnectorName :: Prelude.Text,+    -- | A list of IDs of subnets that App Runner should use when it associates+    -- your service with a custom Amazon VPC. Specify IDs of subnets of a+    -- single Amazon VPC. App Runner determines the Amazon VPC from the subnets+    -- you specify.+    --+    -- App Runner currently only provides support for IPv4.+    subnets :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroups', 'createVpcConnector_securityGroups' - A list of IDs of security groups that App Runner should use for access+-- to Amazon Web Services resources under the specified subnets. If not+-- specified, App Runner uses the default security group of the Amazon VPC.+-- The default security group allows all outbound traffic.+--+-- 'tags', 'createVpcConnector_tags' - A list of metadata items that you can associate with your VPC connector+-- resource. A tag is a key-value pair.+--+-- 'vpcConnectorName', 'createVpcConnector_vpcConnectorName' - A name for the VPC connector.+--+-- 'subnets', 'createVpcConnector_subnets' - A list of IDs of subnets that App Runner should use when it associates+-- your service with a custom Amazon VPC. Specify IDs of subnets of a+-- single Amazon VPC. App Runner determines the Amazon VPC from the subnets+-- you specify.+--+-- App Runner currently only provides support for IPv4.+newCreateVpcConnector ::+  -- | 'vpcConnectorName'+  Prelude.Text ->+  CreateVpcConnector+newCreateVpcConnector pVpcConnectorName_ =+  CreateVpcConnector'+    { securityGroups =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      vpcConnectorName = pVpcConnectorName_,+      subnets = Prelude.mempty+    }++-- | A list of IDs of security groups that App Runner should use for access+-- to Amazon Web Services resources under the specified subnets. If not+-- specified, App Runner uses the default security group of the Amazon VPC.+-- The default security group allows all outbound traffic.+createVpcConnector_securityGroups :: Lens.Lens' CreateVpcConnector (Prelude.Maybe [Prelude.Text])+createVpcConnector_securityGroups = Lens.lens (\CreateVpcConnector' {securityGroups} -> securityGroups) (\s@CreateVpcConnector' {} a -> s {securityGroups = a} :: CreateVpcConnector) Prelude.. Lens.mapping Lens.coerced++-- | A list of metadata items that you can associate with your VPC connector+-- resource. A tag is a key-value pair.+createVpcConnector_tags :: Lens.Lens' CreateVpcConnector (Prelude.Maybe [Tag])+createVpcConnector_tags = Lens.lens (\CreateVpcConnector' {tags} -> tags) (\s@CreateVpcConnector' {} a -> s {tags = a} :: CreateVpcConnector) Prelude.. Lens.mapping Lens.coerced++-- | A name for the VPC connector.+createVpcConnector_vpcConnectorName :: Lens.Lens' CreateVpcConnector Prelude.Text+createVpcConnector_vpcConnectorName = Lens.lens (\CreateVpcConnector' {vpcConnectorName} -> vpcConnectorName) (\s@CreateVpcConnector' {} a -> s {vpcConnectorName = a} :: CreateVpcConnector)++-- | A list of IDs of subnets that App Runner should use when it associates+-- your service with a custom Amazon VPC. Specify IDs of subnets of a+-- single Amazon VPC. App Runner determines the Amazon VPC from the subnets+-- you specify.+--+-- App Runner currently only provides support for IPv4.+createVpcConnector_subnets :: Lens.Lens' CreateVpcConnector [Prelude.Text]+createVpcConnector_subnets = Lens.lens (\CreateVpcConnector' {subnets} -> subnets) (\s@CreateVpcConnector' {} a -> s {subnets = a} :: CreateVpcConnector) Prelude.. Lens.coerced++instance Core.AWSRequest CreateVpcConnector where+  type+    AWSResponse CreateVpcConnector =+      CreateVpcConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateVpcConnectorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcConnector")+      )++instance Prelude.Hashable CreateVpcConnector where+  hashWithSalt _salt CreateVpcConnector' {..} =+    _salt+      `Prelude.hashWithSalt` securityGroups+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` vpcConnectorName+      `Prelude.hashWithSalt` subnets++instance Prelude.NFData CreateVpcConnector where+  rnf CreateVpcConnector' {..} =+    Prelude.rnf securityGroups+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcConnectorName+      `Prelude.seq` Prelude.rnf subnets++instance Data.ToHeaders CreateVpcConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.CreateVpcConnector" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateVpcConnector where+  toJSON CreateVpcConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SecurityGroups" Data..=)+              Prelude.<$> securityGroups,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("VpcConnectorName" Data..= vpcConnectorName),+            Prelude.Just ("Subnets" Data..= subnets)+          ]+      )++instance Data.ToPath CreateVpcConnector where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateVpcConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVpcConnectorResponse' smart constructor.+data CreateVpcConnectorResponse = CreateVpcConnectorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC connector that\'s created by this+    -- request.+    vpcConnector :: VpcConnector+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVpcConnectorResponse_httpStatus' - The response's http status code.+--+-- 'vpcConnector', 'createVpcConnectorResponse_vpcConnector' - A description of the App Runner VPC connector that\'s created by this+-- request.+newCreateVpcConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcConnector'+  VpcConnector ->+  CreateVpcConnectorResponse+newCreateVpcConnectorResponse+  pHttpStatus_+  pVpcConnector_ =+    CreateVpcConnectorResponse'+      { httpStatus =+          pHttpStatus_,+        vpcConnector = pVpcConnector_+      }++-- | The response's http status code.+createVpcConnectorResponse_httpStatus :: Lens.Lens' CreateVpcConnectorResponse Prelude.Int+createVpcConnectorResponse_httpStatus = Lens.lens (\CreateVpcConnectorResponse' {httpStatus} -> httpStatus) (\s@CreateVpcConnectorResponse' {} a -> s {httpStatus = a} :: CreateVpcConnectorResponse)++-- | A description of the App Runner VPC connector that\'s created by this+-- request.+createVpcConnectorResponse_vpcConnector :: Lens.Lens' CreateVpcConnectorResponse VpcConnector+createVpcConnectorResponse_vpcConnector = Lens.lens (\CreateVpcConnectorResponse' {vpcConnector} -> vpcConnector) (\s@CreateVpcConnectorResponse' {} a -> s {vpcConnector = a} :: CreateVpcConnectorResponse)++instance Prelude.NFData CreateVpcConnectorResponse where+  rnf CreateVpcConnectorResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcConnector
+ gen/Amazonka/AppRunner/CreateVpcIngressConnection.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.AppRunner.CreateVpcIngressConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an App Runner VPC Ingress Connection resource. App Runner+-- requires this resource when you want to associate your App Runner+-- service with an Amazon VPC endpoint.+module Amazonka.AppRunner.CreateVpcIngressConnection+  ( -- * Creating a Request+    CreateVpcIngressConnection (..),+    newCreateVpcIngressConnection,++    -- * Request Lenses+    createVpcIngressConnection_tags,+    createVpcIngressConnection_serviceArn,+    createVpcIngressConnection_vpcIngressConnectionName,+    createVpcIngressConnection_ingressVpcConfiguration,++    -- * Destructuring the Response+    CreateVpcIngressConnectionResponse (..),+    newCreateVpcIngressConnectionResponse,++    -- * Response Lenses+    createVpcIngressConnectionResponse_httpStatus,+    createVpcIngressConnectionResponse_vpcIngressConnection,+  )+where++import Amazonka.AppRunner.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:/ 'newCreateVpcIngressConnection' smart constructor.+data CreateVpcIngressConnection = CreateVpcIngressConnection'+  { -- | An optional list of metadata items that you can associate with the VPC+    -- Ingress Connection resource. A tag is a key-value pair.+    tags :: Prelude.Maybe [Tag],+    -- | The Amazon Resource Name (ARN) for this App Runner service that is used+    -- to create the VPC Ingress Connection resource.+    serviceArn :: Prelude.Text,+    -- | A name for the VPC Ingress Connection resource. It must be unique across+    -- all the active VPC Ingress Connections in your Amazon Web Services+    -- account in the Amazon Web Services Region.+    vpcIngressConnectionName :: Prelude.Text,+    -- | Specifications for the customer’s Amazon VPC and the related Amazon Web+    -- Services PrivateLink VPC endpoint that are used to create the VPC+    -- Ingress Connection resource.+    ingressVpcConfiguration :: IngressVpcConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcIngressConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVpcIngressConnection_tags' - An optional list of metadata items that you can associate with the VPC+-- Ingress Connection resource. A tag is a key-value pair.+--+-- 'serviceArn', 'createVpcIngressConnection_serviceArn' - The Amazon Resource Name (ARN) for this App Runner service that is used+-- to create the VPC Ingress Connection resource.+--+-- 'vpcIngressConnectionName', 'createVpcIngressConnection_vpcIngressConnectionName' - A name for the VPC Ingress Connection resource. It must be unique across+-- all the active VPC Ingress Connections in your Amazon Web Services+-- account in the Amazon Web Services Region.+--+-- 'ingressVpcConfiguration', 'createVpcIngressConnection_ingressVpcConfiguration' - Specifications for the customer’s Amazon VPC and the related Amazon Web+-- Services PrivateLink VPC endpoint that are used to create the VPC+-- Ingress Connection resource.+newCreateVpcIngressConnection ::+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'vpcIngressConnectionName'+  Prelude.Text ->+  -- | 'ingressVpcConfiguration'+  IngressVpcConfiguration ->+  CreateVpcIngressConnection+newCreateVpcIngressConnection+  pServiceArn_+  pVpcIngressConnectionName_+  pIngressVpcConfiguration_ =+    CreateVpcIngressConnection'+      { tags = Prelude.Nothing,+        serviceArn = pServiceArn_,+        vpcIngressConnectionName =+          pVpcIngressConnectionName_,+        ingressVpcConfiguration =+          pIngressVpcConfiguration_+      }++-- | An optional list of metadata items that you can associate with the VPC+-- Ingress Connection resource. A tag is a key-value pair.+createVpcIngressConnection_tags :: Lens.Lens' CreateVpcIngressConnection (Prelude.Maybe [Tag])+createVpcIngressConnection_tags = Lens.lens (\CreateVpcIngressConnection' {tags} -> tags) (\s@CreateVpcIngressConnection' {} a -> s {tags = a} :: CreateVpcIngressConnection) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for this App Runner service that is used+-- to create the VPC Ingress Connection resource.+createVpcIngressConnection_serviceArn :: Lens.Lens' CreateVpcIngressConnection Prelude.Text+createVpcIngressConnection_serviceArn = Lens.lens (\CreateVpcIngressConnection' {serviceArn} -> serviceArn) (\s@CreateVpcIngressConnection' {} a -> s {serviceArn = a} :: CreateVpcIngressConnection)++-- | A name for the VPC Ingress Connection resource. It must be unique across+-- all the active VPC Ingress Connections in your Amazon Web Services+-- account in the Amazon Web Services Region.+createVpcIngressConnection_vpcIngressConnectionName :: Lens.Lens' CreateVpcIngressConnection Prelude.Text+createVpcIngressConnection_vpcIngressConnectionName = Lens.lens (\CreateVpcIngressConnection' {vpcIngressConnectionName} -> vpcIngressConnectionName) (\s@CreateVpcIngressConnection' {} a -> s {vpcIngressConnectionName = a} :: CreateVpcIngressConnection)++-- | Specifications for the customer’s Amazon VPC and the related Amazon Web+-- Services PrivateLink VPC endpoint that are used to create the VPC+-- Ingress Connection resource.+createVpcIngressConnection_ingressVpcConfiguration :: Lens.Lens' CreateVpcIngressConnection IngressVpcConfiguration+createVpcIngressConnection_ingressVpcConfiguration = Lens.lens (\CreateVpcIngressConnection' {ingressVpcConfiguration} -> ingressVpcConfiguration) (\s@CreateVpcIngressConnection' {} a -> s {ingressVpcConfiguration = a} :: CreateVpcIngressConnection)++instance Core.AWSRequest CreateVpcIngressConnection where+  type+    AWSResponse CreateVpcIngressConnection =+      CreateVpcIngressConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateVpcIngressConnectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcIngressConnection")+      )++instance Prelude.Hashable CreateVpcIngressConnection where+  hashWithSalt _salt CreateVpcIngressConnection' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` vpcIngressConnectionName+      `Prelude.hashWithSalt` ingressVpcConfiguration++instance Prelude.NFData CreateVpcIngressConnection where+  rnf CreateVpcIngressConnection' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf vpcIngressConnectionName+      `Prelude.seq` Prelude.rnf ingressVpcConfiguration++instance Data.ToHeaders CreateVpcIngressConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.CreateVpcIngressConnection" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateVpcIngressConnection where+  toJSON CreateVpcIngressConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("ServiceArn" Data..= serviceArn),+            Prelude.Just+              ( "VpcIngressConnectionName"+                  Data..= vpcIngressConnectionName+              ),+            Prelude.Just+              ( "IngressVpcConfiguration"+                  Data..= ingressVpcConfiguration+              )+          ]+      )++instance Data.ToPath CreateVpcIngressConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateVpcIngressConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVpcIngressConnectionResponse' smart constructor.+data CreateVpcIngressConnectionResponse = CreateVpcIngressConnectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC Ingress Connection resource that\'s+    -- created by this request.+    vpcIngressConnection :: VpcIngressConnection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcIngressConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVpcIngressConnectionResponse_httpStatus' - The response's http status code.+--+-- 'vpcIngressConnection', 'createVpcIngressConnectionResponse_vpcIngressConnection' - A description of the App Runner VPC Ingress Connection resource that\'s+-- created by this request.+newCreateVpcIngressConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcIngressConnection'+  VpcIngressConnection ->+  CreateVpcIngressConnectionResponse+newCreateVpcIngressConnectionResponse+  pHttpStatus_+  pVpcIngressConnection_ =+    CreateVpcIngressConnectionResponse'+      { httpStatus =+          pHttpStatus_,+        vpcIngressConnection =+          pVpcIngressConnection_+      }++-- | The response's http status code.+createVpcIngressConnectionResponse_httpStatus :: Lens.Lens' CreateVpcIngressConnectionResponse Prelude.Int+createVpcIngressConnectionResponse_httpStatus = Lens.lens (\CreateVpcIngressConnectionResponse' {httpStatus} -> httpStatus) (\s@CreateVpcIngressConnectionResponse' {} a -> s {httpStatus = a} :: CreateVpcIngressConnectionResponse)++-- | A description of the App Runner VPC Ingress Connection resource that\'s+-- created by this request.+createVpcIngressConnectionResponse_vpcIngressConnection :: Lens.Lens' CreateVpcIngressConnectionResponse VpcIngressConnection+createVpcIngressConnectionResponse_vpcIngressConnection = Lens.lens (\CreateVpcIngressConnectionResponse' {vpcIngressConnection} -> vpcIngressConnection) (\s@CreateVpcIngressConnectionResponse' {} a -> s {vpcIngressConnection = a} :: CreateVpcIngressConnectionResponse)++instance+  Prelude.NFData+    CreateVpcIngressConnectionResponse+  where+  rnf CreateVpcIngressConnectionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcIngressConnection
+ gen/Amazonka/AppRunner/DeleteAutoScalingConfiguration.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.AppRunner.DeleteAutoScalingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner automatic scaling configuration resource. You can+-- delete a specific revision or the latest active revision. You can\'t+-- delete a configuration that\'s used by one or more App Runner services.+module Amazonka.AppRunner.DeleteAutoScalingConfiguration+  ( -- * Creating a Request+    DeleteAutoScalingConfiguration (..),+    newDeleteAutoScalingConfiguration,++    -- * Request Lenses+    deleteAutoScalingConfiguration_autoScalingConfigurationArn,++    -- * Destructuring the Response+    DeleteAutoScalingConfigurationResponse (..),+    newDeleteAutoScalingConfigurationResponse,++    -- * Response Lenses+    deleteAutoScalingConfigurationResponse_httpStatus,+    deleteAutoScalingConfigurationResponse_autoScalingConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteAutoScalingConfiguration' smart constructor.+data DeleteAutoScalingConfiguration = DeleteAutoScalingConfiguration'+  { -- | The Amazon Resource Name (ARN) of the App Runner auto scaling+    -- configuration that you want to delete.+    --+    -- The ARN can be a full auto scaling configuration ARN, or a partial ARN+    -- ending with either @...\/@/@name@/@ @ or+    -- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+    -- latest active revision is deleted.+    autoScalingConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAutoScalingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'deleteAutoScalingConfiguration_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of the App Runner auto scaling+-- configuration that you want to delete.+--+-- The ARN can be a full auto scaling configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is deleted.+newDeleteAutoScalingConfiguration ::+  -- | 'autoScalingConfigurationArn'+  Prelude.Text ->+  DeleteAutoScalingConfiguration+newDeleteAutoScalingConfiguration+  pAutoScalingConfigurationArn_ =+    DeleteAutoScalingConfiguration'+      { autoScalingConfigurationArn =+          pAutoScalingConfigurationArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner auto scaling+-- configuration that you want to delete.+--+-- The ARN can be a full auto scaling configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is deleted.+deleteAutoScalingConfiguration_autoScalingConfigurationArn :: Lens.Lens' DeleteAutoScalingConfiguration Prelude.Text+deleteAutoScalingConfiguration_autoScalingConfigurationArn = Lens.lens (\DeleteAutoScalingConfiguration' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@DeleteAutoScalingConfiguration' {} a -> s {autoScalingConfigurationArn = a} :: DeleteAutoScalingConfiguration)++instance+  Core.AWSRequest+    DeleteAutoScalingConfiguration+  where+  type+    AWSResponse DeleteAutoScalingConfiguration =+      DeleteAutoScalingConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAutoScalingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AutoScalingConfiguration")+      )++instance+  Prelude.Hashable+    DeleteAutoScalingConfiguration+  where+  hashWithSalt+    _salt+    DeleteAutoScalingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` autoScalingConfigurationArn++instance+  Prelude.NFData+    DeleteAutoScalingConfiguration+  where+  rnf DeleteAutoScalingConfiguration' {..} =+    Prelude.rnf autoScalingConfigurationArn++instance+  Data.ToHeaders+    DeleteAutoScalingConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DeleteAutoScalingConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteAutoScalingConfiguration where+  toJSON DeleteAutoScalingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AutoScalingConfigurationArn"+                  Data..= autoScalingConfigurationArn+              )+          ]+      )++instance Data.ToPath DeleteAutoScalingConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteAutoScalingConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAutoScalingConfigurationResponse' smart constructor.+data DeleteAutoScalingConfigurationResponse = DeleteAutoScalingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner auto scaling configuration that this+    -- request just deleted.+    autoScalingConfiguration :: AutoScalingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAutoScalingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteAutoScalingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'autoScalingConfiguration', 'deleteAutoScalingConfigurationResponse_autoScalingConfiguration' - A description of the App Runner auto scaling configuration that this+-- request just deleted.+newDeleteAutoScalingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'autoScalingConfiguration'+  AutoScalingConfiguration ->+  DeleteAutoScalingConfigurationResponse+newDeleteAutoScalingConfigurationResponse+  pHttpStatus_+  pAutoScalingConfiguration_ =+    DeleteAutoScalingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        autoScalingConfiguration =+          pAutoScalingConfiguration_+      }++-- | The response's http status code.+deleteAutoScalingConfigurationResponse_httpStatus :: Lens.Lens' DeleteAutoScalingConfigurationResponse Prelude.Int+deleteAutoScalingConfigurationResponse_httpStatus = Lens.lens (\DeleteAutoScalingConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteAutoScalingConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteAutoScalingConfigurationResponse)++-- | A description of the App Runner auto scaling configuration that this+-- request just deleted.+deleteAutoScalingConfigurationResponse_autoScalingConfiguration :: Lens.Lens' DeleteAutoScalingConfigurationResponse AutoScalingConfiguration+deleteAutoScalingConfigurationResponse_autoScalingConfiguration = Lens.lens (\DeleteAutoScalingConfigurationResponse' {autoScalingConfiguration} -> autoScalingConfiguration) (\s@DeleteAutoScalingConfigurationResponse' {} a -> s {autoScalingConfiguration = a} :: DeleteAutoScalingConfigurationResponse)++instance+  Prelude.NFData+    DeleteAutoScalingConfigurationResponse+  where+  rnf DeleteAutoScalingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf autoScalingConfiguration
+ gen/Amazonka/AppRunner/DeleteConnection.hs view
@@ -0,0 +1,176 @@+{-# 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.AppRunner.DeleteConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner connection. You must first ensure that there are no+-- running App Runner services that use this connection. If there are any,+-- the @DeleteConnection@ action fails.+module Amazonka.AppRunner.DeleteConnection+  ( -- * Creating a Request+    DeleteConnection (..),+    newDeleteConnection,++    -- * Request Lenses+    deleteConnection_connectionArn,++    -- * Destructuring the Response+    DeleteConnectionResponse (..),+    newDeleteConnectionResponse,++    -- * Response Lenses+    deleteConnectionResponse_connection,+    deleteConnectionResponse_httpStatus,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteConnection' smart constructor.+data DeleteConnection = DeleteConnection'+  { -- | The Amazon Resource Name (ARN) of the App Runner connection that you+    -- want to delete.+    connectionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionArn', 'deleteConnection_connectionArn' - The Amazon Resource Name (ARN) of the App Runner connection that you+-- want to delete.+newDeleteConnection ::+  -- | 'connectionArn'+  Prelude.Text ->+  DeleteConnection+newDeleteConnection pConnectionArn_ =+  DeleteConnection' {connectionArn = pConnectionArn_}++-- | The Amazon Resource Name (ARN) of the App Runner connection that you+-- want to delete.+deleteConnection_connectionArn :: Lens.Lens' DeleteConnection Prelude.Text+deleteConnection_connectionArn = Lens.lens (\DeleteConnection' {connectionArn} -> connectionArn) (\s@DeleteConnection' {} a -> s {connectionArn = a} :: DeleteConnection)++instance Core.AWSRequest DeleteConnection where+  type+    AWSResponse DeleteConnection =+      DeleteConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteConnectionResponse'+            Prelude.<$> (x Data..?> "Connection")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteConnection where+  hashWithSalt _salt DeleteConnection' {..} =+    _salt `Prelude.hashWithSalt` connectionArn++instance Prelude.NFData DeleteConnection where+  rnf DeleteConnection' {..} = Prelude.rnf connectionArn++instance Data.ToHeaders DeleteConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.DeleteConnection" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteConnection where+  toJSON DeleteConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ConnectionArn" Data..= connectionArn)+          ]+      )++instance Data.ToPath DeleteConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConnectionResponse' smart constructor.+data DeleteConnectionResponse = DeleteConnectionResponse'+  { -- | A description of the App Runner connection that this request just+    -- deleted.+    connection :: Prelude.Maybe Connection,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connection', 'deleteConnectionResponse_connection' - A description of the App Runner connection that this request just+-- deleted.+--+-- 'httpStatus', 'deleteConnectionResponse_httpStatus' - The response's http status code.+newDeleteConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteConnectionResponse+newDeleteConnectionResponse pHttpStatus_ =+  DeleteConnectionResponse'+    { connection =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A description of the App Runner connection that this request just+-- deleted.+deleteConnectionResponse_connection :: Lens.Lens' DeleteConnectionResponse (Prelude.Maybe Connection)+deleteConnectionResponse_connection = Lens.lens (\DeleteConnectionResponse' {connection} -> connection) (\s@DeleteConnectionResponse' {} a -> s {connection = a} :: DeleteConnectionResponse)++-- | The response's http status code.+deleteConnectionResponse_httpStatus :: Lens.Lens' DeleteConnectionResponse Prelude.Int+deleteConnectionResponse_httpStatus = Lens.lens (\DeleteConnectionResponse' {httpStatus} -> httpStatus) (\s@DeleteConnectionResponse' {} a -> s {httpStatus = a} :: DeleteConnectionResponse)++instance Prelude.NFData DeleteConnectionResponse where+  rnf DeleteConnectionResponse' {..} =+    Prelude.rnf connection+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppRunner/DeleteObservabilityConfiguration.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.DeleteObservabilityConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner observability configuration resource. You can+-- delete a specific revision or the latest active revision. You can\'t+-- delete a configuration that\'s used by one or more App Runner services.+module Amazonka.AppRunner.DeleteObservabilityConfiguration+  ( -- * Creating a Request+    DeleteObservabilityConfiguration (..),+    newDeleteObservabilityConfiguration,++    -- * Request Lenses+    deleteObservabilityConfiguration_observabilityConfigurationArn,++    -- * Destructuring the Response+    DeleteObservabilityConfigurationResponse (..),+    newDeleteObservabilityConfigurationResponse,++    -- * Response Lenses+    deleteObservabilityConfigurationResponse_httpStatus,+    deleteObservabilityConfigurationResponse_observabilityConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteObservabilityConfiguration' smart constructor.+data DeleteObservabilityConfiguration = DeleteObservabilityConfiguration'+  { -- | The Amazon Resource Name (ARN) of the App Runner observability+    -- configuration that you want to delete.+    --+    -- The ARN can be a full observability configuration ARN, or a partial ARN+    -- ending with either @...\/@/@name@/@ @ or+    -- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+    -- latest active revision is deleted.+    observabilityConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObservabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'observabilityConfigurationArn', 'deleteObservabilityConfiguration_observabilityConfigurationArn' - The Amazon Resource Name (ARN) of the App Runner observability+-- configuration that you want to delete.+--+-- The ARN can be a full observability configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is deleted.+newDeleteObservabilityConfiguration ::+  -- | 'observabilityConfigurationArn'+  Prelude.Text ->+  DeleteObservabilityConfiguration+newDeleteObservabilityConfiguration+  pObservabilityConfigurationArn_ =+    DeleteObservabilityConfiguration'+      { observabilityConfigurationArn =+          pObservabilityConfigurationArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner observability+-- configuration that you want to delete.+--+-- The ARN can be a full observability configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is deleted.+deleteObservabilityConfiguration_observabilityConfigurationArn :: Lens.Lens' DeleteObservabilityConfiguration Prelude.Text+deleteObservabilityConfiguration_observabilityConfigurationArn = Lens.lens (\DeleteObservabilityConfiguration' {observabilityConfigurationArn} -> observabilityConfigurationArn) (\s@DeleteObservabilityConfiguration' {} a -> s {observabilityConfigurationArn = a} :: DeleteObservabilityConfiguration)++instance+  Core.AWSRequest+    DeleteObservabilityConfiguration+  where+  type+    AWSResponse DeleteObservabilityConfiguration =+      DeleteObservabilityConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteObservabilityConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ObservabilityConfiguration")+      )++instance+  Prelude.Hashable+    DeleteObservabilityConfiguration+  where+  hashWithSalt+    _salt+    DeleteObservabilityConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` observabilityConfigurationArn++instance+  Prelude.NFData+    DeleteObservabilityConfiguration+  where+  rnf DeleteObservabilityConfiguration' {..} =+    Prelude.rnf observabilityConfigurationArn++instance+  Data.ToHeaders+    DeleteObservabilityConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DeleteObservabilityConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteObservabilityConfiguration where+  toJSON DeleteObservabilityConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ObservabilityConfigurationArn"+                  Data..= observabilityConfigurationArn+              )+          ]+      )++instance Data.ToPath DeleteObservabilityConfiguration where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DeleteObservabilityConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteObservabilityConfigurationResponse' smart constructor.+data DeleteObservabilityConfigurationResponse = DeleteObservabilityConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner observability configuration that this+    -- request just deleted.+    observabilityConfiguration :: ObservabilityConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObservabilityConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteObservabilityConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'observabilityConfiguration', 'deleteObservabilityConfigurationResponse_observabilityConfiguration' - A description of the App Runner observability configuration that this+-- request just deleted.+newDeleteObservabilityConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'observabilityConfiguration'+  ObservabilityConfiguration ->+  DeleteObservabilityConfigurationResponse+newDeleteObservabilityConfigurationResponse+  pHttpStatus_+  pObservabilityConfiguration_ =+    DeleteObservabilityConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        observabilityConfiguration =+          pObservabilityConfiguration_+      }++-- | The response's http status code.+deleteObservabilityConfigurationResponse_httpStatus :: Lens.Lens' DeleteObservabilityConfigurationResponse Prelude.Int+deleteObservabilityConfigurationResponse_httpStatus = Lens.lens (\DeleteObservabilityConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteObservabilityConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteObservabilityConfigurationResponse)++-- | A description of the App Runner observability configuration that this+-- request just deleted.+deleteObservabilityConfigurationResponse_observabilityConfiguration :: Lens.Lens' DeleteObservabilityConfigurationResponse ObservabilityConfiguration+deleteObservabilityConfigurationResponse_observabilityConfiguration = Lens.lens (\DeleteObservabilityConfigurationResponse' {observabilityConfiguration} -> observabilityConfiguration) (\s@DeleteObservabilityConfigurationResponse' {} a -> s {observabilityConfiguration = a} :: DeleteObservabilityConfigurationResponse)++instance+  Prelude.NFData+    DeleteObservabilityConfigurationResponse+  where+  rnf DeleteObservabilityConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf observabilityConfiguration
+ gen/Amazonka/AppRunner/DeleteService.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.DeleteService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner service.+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the ListOperations call to track the+-- operation\'s progress.+--+-- Make sure that you don\'t have any active VPCIngressConnections+-- associated with the service you want to delete.+module Amazonka.AppRunner.DeleteService+  ( -- * Creating a Request+    DeleteService (..),+    newDeleteService,++    -- * Request Lenses+    deleteService_serviceArn,++    -- * Destructuring the Response+    DeleteServiceResponse (..),+    newDeleteServiceResponse,++    -- * Response Lenses+    deleteServiceResponse_httpStatus,+    deleteServiceResponse_service,+    deleteServiceResponse_operationId,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteService' smart constructor.+data DeleteService = DeleteService'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to delete.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'deleteService_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to delete.+newDeleteService ::+  -- | 'serviceArn'+  Prelude.Text ->+  DeleteService+newDeleteService pServiceArn_ =+  DeleteService' {serviceArn = pServiceArn_}++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to delete.+deleteService_serviceArn :: Lens.Lens' DeleteService Prelude.Text+deleteService_serviceArn = Lens.lens (\DeleteService' {serviceArn} -> serviceArn) (\s@DeleteService' {} a -> s {serviceArn = a} :: DeleteService)++instance Core.AWSRequest DeleteService where+  type+    AWSResponse DeleteService =+      DeleteServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteServiceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+            Prelude.<*> (x Data..:> "OperationId")+      )++instance Prelude.Hashable DeleteService where+  hashWithSalt _salt DeleteService' {..} =+    _salt `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData DeleteService where+  rnf DeleteService' {..} = Prelude.rnf serviceArn++instance Data.ToHeaders DeleteService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.DeleteService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteService where+  toJSON DeleteService' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ServiceArn" Data..= serviceArn)]+      )++instance Data.ToPath DeleteService where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteServiceResponse' smart constructor.+data DeleteServiceResponse = DeleteServiceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner service that this request just deleted.+    service :: Service,+    -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the ListOperations call to track the+    -- operation\'s progress.+    operationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'deleteServiceResponse_service' - A description of the App Runner service that this request just deleted.+--+-- 'operationId', 'deleteServiceResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+newDeleteServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  -- | 'operationId'+  Prelude.Text ->+  DeleteServiceResponse+newDeleteServiceResponse+  pHttpStatus_+  pService_+  pOperationId_ =+    DeleteServiceResponse'+      { httpStatus = pHttpStatus_,+        service = pService_,+        operationId = pOperationId_+      }++-- | The response's http status code.+deleteServiceResponse_httpStatus :: Lens.Lens' DeleteServiceResponse Prelude.Int+deleteServiceResponse_httpStatus = Lens.lens (\DeleteServiceResponse' {httpStatus} -> httpStatus) (\s@DeleteServiceResponse' {} a -> s {httpStatus = a} :: DeleteServiceResponse)++-- | A description of the App Runner service that this request just deleted.+deleteServiceResponse_service :: Lens.Lens' DeleteServiceResponse Service+deleteServiceResponse_service = Lens.lens (\DeleteServiceResponse' {service} -> service) (\s@DeleteServiceResponse' {} a -> s {service = a} :: DeleteServiceResponse)++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+deleteServiceResponse_operationId :: Lens.Lens' DeleteServiceResponse Prelude.Text+deleteServiceResponse_operationId = Lens.lens (\DeleteServiceResponse' {operationId} -> operationId) (\s@DeleteServiceResponse' {} a -> s {operationId = a} :: DeleteServiceResponse)++instance Prelude.NFData DeleteServiceResponse where+  rnf DeleteServiceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service+      `Prelude.seq` Prelude.rnf operationId
+ gen/Amazonka/AppRunner/DeleteVpcConnector.hs view
@@ -0,0 +1,191 @@+{-# 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.AppRunner.DeleteVpcConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner VPC connector resource. You can\'t delete a+-- connector that\'s used by one or more App Runner services.+module Amazonka.AppRunner.DeleteVpcConnector+  ( -- * Creating a Request+    DeleteVpcConnector (..),+    newDeleteVpcConnector,++    -- * Request Lenses+    deleteVpcConnector_vpcConnectorArn,++    -- * Destructuring the Response+    DeleteVpcConnectorResponse (..),+    newDeleteVpcConnectorResponse,++    -- * Response Lenses+    deleteVpcConnectorResponse_httpStatus,+    deleteVpcConnectorResponse_vpcConnector,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteVpcConnector' smart constructor.+data DeleteVpcConnector = DeleteVpcConnector'+  { -- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+    -- want to delete.+    --+    -- The ARN must be a full VPC connector ARN.+    vpcConnectorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcConnectorArn', 'deleteVpcConnector_vpcConnectorArn' - The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want to delete.+--+-- The ARN must be a full VPC connector ARN.+newDeleteVpcConnector ::+  -- | 'vpcConnectorArn'+  Prelude.Text ->+  DeleteVpcConnector+newDeleteVpcConnector pVpcConnectorArn_ =+  DeleteVpcConnector'+    { vpcConnectorArn =+        pVpcConnectorArn_+    }++-- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want to delete.+--+-- The ARN must be a full VPC connector ARN.+deleteVpcConnector_vpcConnectorArn :: Lens.Lens' DeleteVpcConnector Prelude.Text+deleteVpcConnector_vpcConnectorArn = Lens.lens (\DeleteVpcConnector' {vpcConnectorArn} -> vpcConnectorArn) (\s@DeleteVpcConnector' {} a -> s {vpcConnectorArn = a} :: DeleteVpcConnector)++instance Core.AWSRequest DeleteVpcConnector where+  type+    AWSResponse DeleteVpcConnector =+      DeleteVpcConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteVpcConnectorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcConnector")+      )++instance Prelude.Hashable DeleteVpcConnector where+  hashWithSalt _salt DeleteVpcConnector' {..} =+    _salt `Prelude.hashWithSalt` vpcConnectorArn++instance Prelude.NFData DeleteVpcConnector where+  rnf DeleteVpcConnector' {..} =+    Prelude.rnf vpcConnectorArn++instance Data.ToHeaders DeleteVpcConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DeleteVpcConnector" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteVpcConnector where+  toJSON DeleteVpcConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("VpcConnectorArn" Data..= vpcConnectorArn)+          ]+      )++instance Data.ToPath DeleteVpcConnector where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteVpcConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVpcConnectorResponse' smart constructor.+data DeleteVpcConnectorResponse = DeleteVpcConnectorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC connector that this request just+    -- deleted.+    vpcConnector :: VpcConnector+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteVpcConnectorResponse_httpStatus' - The response's http status code.+--+-- 'vpcConnector', 'deleteVpcConnectorResponse_vpcConnector' - A description of the App Runner VPC connector that this request just+-- deleted.+newDeleteVpcConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcConnector'+  VpcConnector ->+  DeleteVpcConnectorResponse+newDeleteVpcConnectorResponse+  pHttpStatus_+  pVpcConnector_ =+    DeleteVpcConnectorResponse'+      { httpStatus =+          pHttpStatus_,+        vpcConnector = pVpcConnector_+      }++-- | The response's http status code.+deleteVpcConnectorResponse_httpStatus :: Lens.Lens' DeleteVpcConnectorResponse Prelude.Int+deleteVpcConnectorResponse_httpStatus = Lens.lens (\DeleteVpcConnectorResponse' {httpStatus} -> httpStatus) (\s@DeleteVpcConnectorResponse' {} a -> s {httpStatus = a} :: DeleteVpcConnectorResponse)++-- | A description of the App Runner VPC connector that this request just+-- deleted.+deleteVpcConnectorResponse_vpcConnector :: Lens.Lens' DeleteVpcConnectorResponse VpcConnector+deleteVpcConnectorResponse_vpcConnector = Lens.lens (\DeleteVpcConnectorResponse' {vpcConnector} -> vpcConnector) (\s@DeleteVpcConnectorResponse' {} a -> s {vpcConnector = a} :: DeleteVpcConnectorResponse)++instance Prelude.NFData DeleteVpcConnectorResponse where+  rnf DeleteVpcConnectorResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcConnector
+ gen/Amazonka/AppRunner/DeleteVpcIngressConnection.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.DeleteVpcIngressConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an App Runner VPC Ingress Connection resource that\'s associated+-- with an App Runner service. The VPC Ingress Connection must be in one of+-- the following states to be deleted:+--+-- -   @AVAILABLE@+--+-- -   @FAILED_CREATION@+--+-- -   @FAILED_UPDATE@+--+-- -   @FAILED_DELETION@+module Amazonka.AppRunner.DeleteVpcIngressConnection+  ( -- * Creating a Request+    DeleteVpcIngressConnection (..),+    newDeleteVpcIngressConnection,++    -- * Request Lenses+    deleteVpcIngressConnection_vpcIngressConnectionArn,++    -- * Destructuring the Response+    DeleteVpcIngressConnectionResponse (..),+    newDeleteVpcIngressConnectionResponse,++    -- * Response Lenses+    deleteVpcIngressConnectionResponse_httpStatus,+    deleteVpcIngressConnectionResponse_vpcIngressConnection,+  )+where++import Amazonka.AppRunner.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:/ 'newDeleteVpcIngressConnection' smart constructor.+data DeleteVpcIngressConnection = DeleteVpcIngressConnection'+  { -- | The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+    -- that you want to delete.+    vpcIngressConnectionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcIngressConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcIngressConnectionArn', 'deleteVpcIngressConnection_vpcIngressConnectionArn' - The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+-- that you want to delete.+newDeleteVpcIngressConnection ::+  -- | 'vpcIngressConnectionArn'+  Prelude.Text ->+  DeleteVpcIngressConnection+newDeleteVpcIngressConnection+  pVpcIngressConnectionArn_ =+    DeleteVpcIngressConnection'+      { vpcIngressConnectionArn =+          pVpcIngressConnectionArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+-- that you want to delete.+deleteVpcIngressConnection_vpcIngressConnectionArn :: Lens.Lens' DeleteVpcIngressConnection Prelude.Text+deleteVpcIngressConnection_vpcIngressConnectionArn = Lens.lens (\DeleteVpcIngressConnection' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@DeleteVpcIngressConnection' {} a -> s {vpcIngressConnectionArn = a} :: DeleteVpcIngressConnection)++instance Core.AWSRequest DeleteVpcIngressConnection where+  type+    AWSResponse DeleteVpcIngressConnection =+      DeleteVpcIngressConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteVpcIngressConnectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcIngressConnection")+      )++instance Prelude.Hashable DeleteVpcIngressConnection where+  hashWithSalt _salt DeleteVpcIngressConnection' {..} =+    _salt+      `Prelude.hashWithSalt` vpcIngressConnectionArn++instance Prelude.NFData DeleteVpcIngressConnection where+  rnf DeleteVpcIngressConnection' {..} =+    Prelude.rnf vpcIngressConnectionArn++instance Data.ToHeaders DeleteVpcIngressConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DeleteVpcIngressConnection" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteVpcIngressConnection where+  toJSON DeleteVpcIngressConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "VpcIngressConnectionArn"+                  Data..= vpcIngressConnectionArn+              )+          ]+      )++instance Data.ToPath DeleteVpcIngressConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteVpcIngressConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVpcIngressConnectionResponse' smart constructor.+data DeleteVpcIngressConnectionResponse = DeleteVpcIngressConnectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC Ingress Connection that this request+    -- just deleted.+    vpcIngressConnection :: VpcIngressConnection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcIngressConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteVpcIngressConnectionResponse_httpStatus' - The response's http status code.+--+-- 'vpcIngressConnection', 'deleteVpcIngressConnectionResponse_vpcIngressConnection' - A description of the App Runner VPC Ingress Connection that this request+-- just deleted.+newDeleteVpcIngressConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcIngressConnection'+  VpcIngressConnection ->+  DeleteVpcIngressConnectionResponse+newDeleteVpcIngressConnectionResponse+  pHttpStatus_+  pVpcIngressConnection_ =+    DeleteVpcIngressConnectionResponse'+      { httpStatus =+          pHttpStatus_,+        vpcIngressConnection =+          pVpcIngressConnection_+      }++-- | The response's http status code.+deleteVpcIngressConnectionResponse_httpStatus :: Lens.Lens' DeleteVpcIngressConnectionResponse Prelude.Int+deleteVpcIngressConnectionResponse_httpStatus = Lens.lens (\DeleteVpcIngressConnectionResponse' {httpStatus} -> httpStatus) (\s@DeleteVpcIngressConnectionResponse' {} a -> s {httpStatus = a} :: DeleteVpcIngressConnectionResponse)++-- | A description of the App Runner VPC Ingress Connection that this request+-- just deleted.+deleteVpcIngressConnectionResponse_vpcIngressConnection :: Lens.Lens' DeleteVpcIngressConnectionResponse VpcIngressConnection+deleteVpcIngressConnectionResponse_vpcIngressConnection = Lens.lens (\DeleteVpcIngressConnectionResponse' {vpcIngressConnection} -> vpcIngressConnection) (\s@DeleteVpcIngressConnectionResponse' {} a -> s {vpcIngressConnection = a} :: DeleteVpcIngressConnectionResponse)++instance+  Prelude.NFData+    DeleteVpcIngressConnectionResponse+  where+  rnf DeleteVpcIngressConnectionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcIngressConnection
+ gen/Amazonka/AppRunner/DescribeAutoScalingConfiguration.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.DescribeAutoScalingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a full description of an App Runner automatic scaling+-- configuration resource.+module Amazonka.AppRunner.DescribeAutoScalingConfiguration+  ( -- * Creating a Request+    DescribeAutoScalingConfiguration (..),+    newDescribeAutoScalingConfiguration,++    -- * Request Lenses+    describeAutoScalingConfiguration_autoScalingConfigurationArn,++    -- * Destructuring the Response+    DescribeAutoScalingConfigurationResponse (..),+    newDescribeAutoScalingConfigurationResponse,++    -- * Response Lenses+    describeAutoScalingConfigurationResponse_httpStatus,+    describeAutoScalingConfigurationResponse_autoScalingConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeAutoScalingConfiguration' smart constructor.+data DescribeAutoScalingConfiguration = DescribeAutoScalingConfiguration'+  { -- | The Amazon Resource Name (ARN) of the App Runner auto scaling+    -- configuration that you want a description for.+    --+    -- The ARN can be a full auto scaling configuration ARN, or a partial ARN+    -- ending with either @...\/@/@name@/@ @ or+    -- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+    -- latest active revision is described.+    autoScalingConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAutoScalingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'describeAutoScalingConfiguration_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of the App Runner auto scaling+-- configuration that you want a description for.+--+-- The ARN can be a full auto scaling configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is described.+newDescribeAutoScalingConfiguration ::+  -- | 'autoScalingConfigurationArn'+  Prelude.Text ->+  DescribeAutoScalingConfiguration+newDescribeAutoScalingConfiguration+  pAutoScalingConfigurationArn_ =+    DescribeAutoScalingConfiguration'+      { autoScalingConfigurationArn =+          pAutoScalingConfigurationArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner auto scaling+-- configuration that you want a description for.+--+-- The ARN can be a full auto scaling configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is described.+describeAutoScalingConfiguration_autoScalingConfigurationArn :: Lens.Lens' DescribeAutoScalingConfiguration Prelude.Text+describeAutoScalingConfiguration_autoScalingConfigurationArn = Lens.lens (\DescribeAutoScalingConfiguration' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@DescribeAutoScalingConfiguration' {} a -> s {autoScalingConfigurationArn = a} :: DescribeAutoScalingConfiguration)++instance+  Core.AWSRequest+    DescribeAutoScalingConfiguration+  where+  type+    AWSResponse DescribeAutoScalingConfiguration =+      DescribeAutoScalingConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAutoScalingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AutoScalingConfiguration")+      )++instance+  Prelude.Hashable+    DescribeAutoScalingConfiguration+  where+  hashWithSalt+    _salt+    DescribeAutoScalingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` autoScalingConfigurationArn++instance+  Prelude.NFData+    DescribeAutoScalingConfiguration+  where+  rnf DescribeAutoScalingConfiguration' {..} =+    Prelude.rnf autoScalingConfigurationArn++instance+  Data.ToHeaders+    DescribeAutoScalingConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DescribeAutoScalingConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeAutoScalingConfiguration where+  toJSON DescribeAutoScalingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AutoScalingConfigurationArn"+                  Data..= autoScalingConfigurationArn+              )+          ]+      )++instance Data.ToPath DescribeAutoScalingConfiguration where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeAutoScalingConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAutoScalingConfigurationResponse' smart constructor.+data DescribeAutoScalingConfigurationResponse = DescribeAutoScalingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A full description of the App Runner auto scaling configuration that you+    -- specified in this request.+    autoScalingConfiguration :: AutoScalingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAutoScalingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeAutoScalingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'autoScalingConfiguration', 'describeAutoScalingConfigurationResponse_autoScalingConfiguration' - A full description of the App Runner auto scaling configuration that you+-- specified in this request.+newDescribeAutoScalingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'autoScalingConfiguration'+  AutoScalingConfiguration ->+  DescribeAutoScalingConfigurationResponse+newDescribeAutoScalingConfigurationResponse+  pHttpStatus_+  pAutoScalingConfiguration_ =+    DescribeAutoScalingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        autoScalingConfiguration =+          pAutoScalingConfiguration_+      }++-- | The response's http status code.+describeAutoScalingConfigurationResponse_httpStatus :: Lens.Lens' DescribeAutoScalingConfigurationResponse Prelude.Int+describeAutoScalingConfigurationResponse_httpStatus = Lens.lens (\DescribeAutoScalingConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeAutoScalingConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeAutoScalingConfigurationResponse)++-- | A full description of the App Runner auto scaling configuration that you+-- specified in this request.+describeAutoScalingConfigurationResponse_autoScalingConfiguration :: Lens.Lens' DescribeAutoScalingConfigurationResponse AutoScalingConfiguration+describeAutoScalingConfigurationResponse_autoScalingConfiguration = Lens.lens (\DescribeAutoScalingConfigurationResponse' {autoScalingConfiguration} -> autoScalingConfiguration) (\s@DescribeAutoScalingConfigurationResponse' {} a -> s {autoScalingConfiguration = a} :: DescribeAutoScalingConfigurationResponse)++instance+  Prelude.NFData+    DescribeAutoScalingConfigurationResponse+  where+  rnf DescribeAutoScalingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf autoScalingConfiguration
+ gen/Amazonka/AppRunner/DescribeCustomDomains.hs view
@@ -0,0 +1,301 @@+{-# 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.AppRunner.DescribeCustomDomains+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a description of custom domain names that are associated with an+-- App Runner service.+module Amazonka.AppRunner.DescribeCustomDomains+  ( -- * Creating a Request+    DescribeCustomDomains (..),+    newDescribeCustomDomains,++    -- * Request Lenses+    describeCustomDomains_maxResults,+    describeCustomDomains_nextToken,+    describeCustomDomains_serviceArn,++    -- * Destructuring the Response+    DescribeCustomDomainsResponse (..),+    newDescribeCustomDomainsResponse,++    -- * Response Lenses+    describeCustomDomainsResponse_nextToken,+    describeCustomDomainsResponse_httpStatus,+    describeCustomDomainsResponse_dNSTarget,+    describeCustomDomainsResponse_serviceArn,+    describeCustomDomainsResponse_customDomains,+    describeCustomDomainsResponse_vpcDNSTargets,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeCustomDomains' smart constructor.+data DescribeCustomDomains = DescribeCustomDomains'+  { -- | The maximum number of results that each response (result page) can+    -- include. It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones that are specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- associated custom domain names to be described for.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeCustomDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeCustomDomains_maxResults' - The maximum number of results that each response (result page) can+-- include. It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'describeCustomDomains_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+--+-- 'serviceArn', 'describeCustomDomains_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- associated custom domain names to be described for.+newDescribeCustomDomains ::+  -- | 'serviceArn'+  Prelude.Text ->+  DescribeCustomDomains+newDescribeCustomDomains pServiceArn_ =+  DescribeCustomDomains'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      serviceArn = pServiceArn_+    }++-- | The maximum number of results that each response (result page) can+-- include. It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+describeCustomDomains_maxResults :: Lens.Lens' DescribeCustomDomains (Prelude.Maybe Prelude.Natural)+describeCustomDomains_maxResults = Lens.lens (\DescribeCustomDomains' {maxResults} -> maxResults) (\s@DescribeCustomDomains' {} a -> s {maxResults = a} :: DescribeCustomDomains)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+describeCustomDomains_nextToken :: Lens.Lens' DescribeCustomDomains (Prelude.Maybe Prelude.Text)+describeCustomDomains_nextToken = Lens.lens (\DescribeCustomDomains' {nextToken} -> nextToken) (\s@DescribeCustomDomains' {} a -> s {nextToken = a} :: DescribeCustomDomains)++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- associated custom domain names to be described for.+describeCustomDomains_serviceArn :: Lens.Lens' DescribeCustomDomains Prelude.Text+describeCustomDomains_serviceArn = Lens.lens (\DescribeCustomDomains' {serviceArn} -> serviceArn) (\s@DescribeCustomDomains' {} a -> s {serviceArn = a} :: DescribeCustomDomains)++instance Core.AWSRequest DescribeCustomDomains where+  type+    AWSResponse DescribeCustomDomains =+      DescribeCustomDomainsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeCustomDomainsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "DNSTarget")+            Prelude.<*> (x Data..:> "ServiceArn")+            Prelude.<*> (x Data..?> "CustomDomains" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "VpcDNSTargets" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable DescribeCustomDomains where+  hashWithSalt _salt DescribeCustomDomains' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData DescribeCustomDomains where+  rnf DescribeCustomDomains' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceArn++instance Data.ToHeaders DescribeCustomDomains where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DescribeCustomDomains" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeCustomDomains where+  toJSON DescribeCustomDomains' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("ServiceArn" Data..= serviceArn)+          ]+      )++instance Data.ToPath DescribeCustomDomains where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeCustomDomains where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeCustomDomainsResponse' smart constructor.+data DescribeCustomDomainsResponse = DescribeCustomDomainsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The App Runner subdomain of the App Runner service. The associated+    -- custom domain names are mapped to this target name.+    dNSTarget :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner service whose+    -- associated custom domain names you want to describe.+    serviceArn :: Prelude.Text,+    -- | A list of descriptions of custom domain names that are associated with+    -- the service. In a paginated request, the request returns up to+    -- @MaxResults@ records per call.+    customDomains :: [CustomDomain],+    -- | DNS Target records for the custom domains of this Amazon VPC.+    vpcDNSTargets :: [VpcDNSTarget]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeCustomDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeCustomDomainsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'describeCustomDomainsResponse_httpStatus' - The response's http status code.+--+-- 'dNSTarget', 'describeCustomDomainsResponse_dNSTarget' - The App Runner subdomain of the App Runner service. The associated+-- custom domain names are mapped to this target name.+--+-- 'serviceArn', 'describeCustomDomainsResponse_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service whose+-- associated custom domain names you want to describe.+--+-- 'customDomains', 'describeCustomDomainsResponse_customDomains' - A list of descriptions of custom domain names that are associated with+-- the service. In a paginated request, the request returns up to+-- @MaxResults@ records per call.+--+-- 'vpcDNSTargets', 'describeCustomDomainsResponse_vpcDNSTargets' - DNS Target records for the custom domains of this Amazon VPC.+newDescribeCustomDomainsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'dNSTarget'+  Prelude.Text ->+  -- | 'serviceArn'+  Prelude.Text ->+  DescribeCustomDomainsResponse+newDescribeCustomDomainsResponse+  pHttpStatus_+  pDNSTarget_+  pServiceArn_ =+    DescribeCustomDomainsResponse'+      { nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        dNSTarget = pDNSTarget_,+        serviceArn = pServiceArn_,+        customDomains = Prelude.mempty,+        vpcDNSTargets = Prelude.mempty+      }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+describeCustomDomainsResponse_nextToken :: Lens.Lens' DescribeCustomDomainsResponse (Prelude.Maybe Prelude.Text)+describeCustomDomainsResponse_nextToken = Lens.lens (\DescribeCustomDomainsResponse' {nextToken} -> nextToken) (\s@DescribeCustomDomainsResponse' {} a -> s {nextToken = a} :: DescribeCustomDomainsResponse)++-- | The response's http status code.+describeCustomDomainsResponse_httpStatus :: Lens.Lens' DescribeCustomDomainsResponse Prelude.Int+describeCustomDomainsResponse_httpStatus = Lens.lens (\DescribeCustomDomainsResponse' {httpStatus} -> httpStatus) (\s@DescribeCustomDomainsResponse' {} a -> s {httpStatus = a} :: DescribeCustomDomainsResponse)++-- | The App Runner subdomain of the App Runner service. The associated+-- custom domain names are mapped to this target name.+describeCustomDomainsResponse_dNSTarget :: Lens.Lens' DescribeCustomDomainsResponse Prelude.Text+describeCustomDomainsResponse_dNSTarget = Lens.lens (\DescribeCustomDomainsResponse' {dNSTarget} -> dNSTarget) (\s@DescribeCustomDomainsResponse' {} a -> s {dNSTarget = a} :: DescribeCustomDomainsResponse)++-- | The Amazon Resource Name (ARN) of the App Runner service whose+-- associated custom domain names you want to describe.+describeCustomDomainsResponse_serviceArn :: Lens.Lens' DescribeCustomDomainsResponse Prelude.Text+describeCustomDomainsResponse_serviceArn = Lens.lens (\DescribeCustomDomainsResponse' {serviceArn} -> serviceArn) (\s@DescribeCustomDomainsResponse' {} a -> s {serviceArn = a} :: DescribeCustomDomainsResponse)++-- | A list of descriptions of custom domain names that are associated with+-- the service. In a paginated request, the request returns up to+-- @MaxResults@ records per call.+describeCustomDomainsResponse_customDomains :: Lens.Lens' DescribeCustomDomainsResponse [CustomDomain]+describeCustomDomainsResponse_customDomains = Lens.lens (\DescribeCustomDomainsResponse' {customDomains} -> customDomains) (\s@DescribeCustomDomainsResponse' {} a -> s {customDomains = a} :: DescribeCustomDomainsResponse) Prelude.. Lens.coerced++-- | DNS Target records for the custom domains of this Amazon VPC.+describeCustomDomainsResponse_vpcDNSTargets :: Lens.Lens' DescribeCustomDomainsResponse [VpcDNSTarget]+describeCustomDomainsResponse_vpcDNSTargets = Lens.lens (\DescribeCustomDomainsResponse' {vpcDNSTargets} -> vpcDNSTargets) (\s@DescribeCustomDomainsResponse' {} a -> s {vpcDNSTargets = a} :: DescribeCustomDomainsResponse) Prelude.. Lens.coerced++instance Prelude.NFData DescribeCustomDomainsResponse where+  rnf DescribeCustomDomainsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf dNSTarget+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf customDomains+      `Prelude.seq` Prelude.rnf vpcDNSTargets
+ gen/Amazonka/AppRunner/DescribeObservabilityConfiguration.hs view
@@ -0,0 +1,231 @@+{-# 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.AppRunner.DescribeObservabilityConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a full description of an App Runner observability configuration+-- resource.+module Amazonka.AppRunner.DescribeObservabilityConfiguration+  ( -- * Creating a Request+    DescribeObservabilityConfiguration (..),+    newDescribeObservabilityConfiguration,++    -- * Request Lenses+    describeObservabilityConfiguration_observabilityConfigurationArn,++    -- * Destructuring the Response+    DescribeObservabilityConfigurationResponse (..),+    newDescribeObservabilityConfigurationResponse,++    -- * Response Lenses+    describeObservabilityConfigurationResponse_httpStatus,+    describeObservabilityConfigurationResponse_observabilityConfiguration,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeObservabilityConfiguration' smart constructor.+data DescribeObservabilityConfiguration = DescribeObservabilityConfiguration'+  { -- | The Amazon Resource Name (ARN) of the App Runner observability+    -- configuration that you want a description for.+    --+    -- The ARN can be a full observability configuration ARN, or a partial ARN+    -- ending with either @...\/@/@name@/@ @ or+    -- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+    -- latest active revision is described.+    observabilityConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeObservabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'observabilityConfigurationArn', 'describeObservabilityConfiguration_observabilityConfigurationArn' - The Amazon Resource Name (ARN) of the App Runner observability+-- configuration that you want a description for.+--+-- The ARN can be a full observability configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is described.+newDescribeObservabilityConfiguration ::+  -- | 'observabilityConfigurationArn'+  Prelude.Text ->+  DescribeObservabilityConfiguration+newDescribeObservabilityConfiguration+  pObservabilityConfigurationArn_ =+    DescribeObservabilityConfiguration'+      { observabilityConfigurationArn =+          pObservabilityConfigurationArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner observability+-- configuration that you want a description for.+--+-- The ARN can be a full observability configuration ARN, or a partial ARN+-- ending with either @...\/@/@name@/@ @ or+-- @...\/@/@name@/@\/@/@revision@/@ @. If a revision isn\'t specified, the+-- latest active revision is described.+describeObservabilityConfiguration_observabilityConfigurationArn :: Lens.Lens' DescribeObservabilityConfiguration Prelude.Text+describeObservabilityConfiguration_observabilityConfigurationArn = Lens.lens (\DescribeObservabilityConfiguration' {observabilityConfigurationArn} -> observabilityConfigurationArn) (\s@DescribeObservabilityConfiguration' {} a -> s {observabilityConfigurationArn = a} :: DescribeObservabilityConfiguration)++instance+  Core.AWSRequest+    DescribeObservabilityConfiguration+  where+  type+    AWSResponse DescribeObservabilityConfiguration =+      DescribeObservabilityConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeObservabilityConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ObservabilityConfiguration")+      )++instance+  Prelude.Hashable+    DescribeObservabilityConfiguration+  where+  hashWithSalt+    _salt+    DescribeObservabilityConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` observabilityConfigurationArn++instance+  Prelude.NFData+    DescribeObservabilityConfiguration+  where+  rnf DescribeObservabilityConfiguration' {..} =+    Prelude.rnf observabilityConfigurationArn++instance+  Data.ToHeaders+    DescribeObservabilityConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DescribeObservabilityConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DescribeObservabilityConfiguration+  where+  toJSON DescribeObservabilityConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ObservabilityConfigurationArn"+                  Data..= observabilityConfigurationArn+              )+          ]+      )++instance+  Data.ToPath+    DescribeObservabilityConfiguration+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeObservabilityConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeObservabilityConfigurationResponse' smart constructor.+data DescribeObservabilityConfigurationResponse = DescribeObservabilityConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A full description of the App Runner observability configuration that+    -- you specified in this request.+    observabilityConfiguration :: ObservabilityConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeObservabilityConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeObservabilityConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'observabilityConfiguration', 'describeObservabilityConfigurationResponse_observabilityConfiguration' - A full description of the App Runner observability configuration that+-- you specified in this request.+newDescribeObservabilityConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'observabilityConfiguration'+  ObservabilityConfiguration ->+  DescribeObservabilityConfigurationResponse+newDescribeObservabilityConfigurationResponse+  pHttpStatus_+  pObservabilityConfiguration_ =+    DescribeObservabilityConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        observabilityConfiguration =+          pObservabilityConfiguration_+      }++-- | The response's http status code.+describeObservabilityConfigurationResponse_httpStatus :: Lens.Lens' DescribeObservabilityConfigurationResponse Prelude.Int+describeObservabilityConfigurationResponse_httpStatus = Lens.lens (\DescribeObservabilityConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeObservabilityConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeObservabilityConfigurationResponse)++-- | A full description of the App Runner observability configuration that+-- you specified in this request.+describeObservabilityConfigurationResponse_observabilityConfiguration :: Lens.Lens' DescribeObservabilityConfigurationResponse ObservabilityConfiguration+describeObservabilityConfigurationResponse_observabilityConfiguration = Lens.lens (\DescribeObservabilityConfigurationResponse' {observabilityConfiguration} -> observabilityConfiguration) (\s@DescribeObservabilityConfigurationResponse' {} a -> s {observabilityConfiguration = a} :: DescribeObservabilityConfigurationResponse)++instance+  Prelude.NFData+    DescribeObservabilityConfigurationResponse+  where+  rnf DescribeObservabilityConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf observabilityConfiguration
+ gen/Amazonka/AppRunner/DescribeService.hs view
@@ -0,0 +1,173 @@+{-# 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.AppRunner.DescribeService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a full description of an App Runner service.+module Amazonka.AppRunner.DescribeService+  ( -- * Creating a Request+    DescribeService (..),+    newDescribeService,++    -- * Request Lenses+    describeService_serviceArn,++    -- * Destructuring the Response+    DescribeServiceResponse (..),+    newDescribeServiceResponse,++    -- * Response Lenses+    describeServiceResponse_httpStatus,+    describeServiceResponse_service,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeService' smart constructor.+data DescribeService = DescribeService'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want a+    -- description for.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'describeService_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want a+-- description for.+newDescribeService ::+  -- | 'serviceArn'+  Prelude.Text ->+  DescribeService+newDescribeService pServiceArn_ =+  DescribeService' {serviceArn = pServiceArn_}++-- | The Amazon Resource Name (ARN) of the App Runner service that you want a+-- description for.+describeService_serviceArn :: Lens.Lens' DescribeService Prelude.Text+describeService_serviceArn = Lens.lens (\DescribeService' {serviceArn} -> serviceArn) (\s@DescribeService' {} a -> s {serviceArn = a} :: DescribeService)++instance Core.AWSRequest DescribeService where+  type+    AWSResponse DescribeService =+      DescribeServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeServiceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+      )++instance Prelude.Hashable DescribeService where+  hashWithSalt _salt DescribeService' {..} =+    _salt `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData DescribeService where+  rnf DescribeService' {..} = Prelude.rnf serviceArn++instance Data.ToHeaders DescribeService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.DescribeService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeService where+  toJSON DescribeService' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ServiceArn" Data..= serviceArn)]+      )++instance Data.ToPath DescribeService where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeServiceResponse' smart constructor.+data DescribeServiceResponse = DescribeServiceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A full description of the App Runner service that you specified in this+    -- request.+    service :: Service+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'describeServiceResponse_service' - A full description of the App Runner service that you specified in this+-- request.+newDescribeServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  DescribeServiceResponse+newDescribeServiceResponse pHttpStatus_ pService_ =+  DescribeServiceResponse'+    { httpStatus = pHttpStatus_,+      service = pService_+    }++-- | The response's http status code.+describeServiceResponse_httpStatus :: Lens.Lens' DescribeServiceResponse Prelude.Int+describeServiceResponse_httpStatus = Lens.lens (\DescribeServiceResponse' {httpStatus} -> httpStatus) (\s@DescribeServiceResponse' {} a -> s {httpStatus = a} :: DescribeServiceResponse)++-- | A full description of the App Runner service that you specified in this+-- request.+describeServiceResponse_service :: Lens.Lens' DescribeServiceResponse Service+describeServiceResponse_service = Lens.lens (\DescribeServiceResponse' {service} -> service) (\s@DescribeServiceResponse' {} a -> s {service = a} :: DescribeServiceResponse)++instance Prelude.NFData DescribeServiceResponse where+  rnf DescribeServiceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service
+ gen/Amazonka/AppRunner/DescribeVpcConnector.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.AppRunner.DescribeVpcConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a description of an App Runner VPC connector resource.+module Amazonka.AppRunner.DescribeVpcConnector+  ( -- * Creating a Request+    DescribeVpcConnector (..),+    newDescribeVpcConnector,++    -- * Request Lenses+    describeVpcConnector_vpcConnectorArn,++    -- * Destructuring the Response+    DescribeVpcConnectorResponse (..),+    newDescribeVpcConnectorResponse,++    -- * Response Lenses+    describeVpcConnectorResponse_httpStatus,+    describeVpcConnectorResponse_vpcConnector,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeVpcConnector' smart constructor.+data DescribeVpcConnector = DescribeVpcConnector'+  { -- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+    -- want a description for.+    --+    -- The ARN must be a full VPC connector ARN.+    vpcConnectorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVpcConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcConnectorArn', 'describeVpcConnector_vpcConnectorArn' - The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want a description for.+--+-- The ARN must be a full VPC connector ARN.+newDescribeVpcConnector ::+  -- | 'vpcConnectorArn'+  Prelude.Text ->+  DescribeVpcConnector+newDescribeVpcConnector pVpcConnectorArn_ =+  DescribeVpcConnector'+    { vpcConnectorArn =+        pVpcConnectorArn_+    }++-- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want a description for.+--+-- The ARN must be a full VPC connector ARN.+describeVpcConnector_vpcConnectorArn :: Lens.Lens' DescribeVpcConnector Prelude.Text+describeVpcConnector_vpcConnectorArn = Lens.lens (\DescribeVpcConnector' {vpcConnectorArn} -> vpcConnectorArn) (\s@DescribeVpcConnector' {} a -> s {vpcConnectorArn = a} :: DescribeVpcConnector)++instance Core.AWSRequest DescribeVpcConnector where+  type+    AWSResponse DescribeVpcConnector =+      DescribeVpcConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeVpcConnectorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcConnector")+      )++instance Prelude.Hashable DescribeVpcConnector where+  hashWithSalt _salt DescribeVpcConnector' {..} =+    _salt `Prelude.hashWithSalt` vpcConnectorArn++instance Prelude.NFData DescribeVpcConnector where+  rnf DescribeVpcConnector' {..} =+    Prelude.rnf vpcConnectorArn++instance Data.ToHeaders DescribeVpcConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DescribeVpcConnector" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeVpcConnector where+  toJSON DescribeVpcConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("VpcConnectorArn" Data..= vpcConnectorArn)+          ]+      )++instance Data.ToPath DescribeVpcConnector where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeVpcConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeVpcConnectorResponse' smart constructor.+data DescribeVpcConnectorResponse = DescribeVpcConnectorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC connector that you specified in this+    -- request.+    vpcConnector :: VpcConnector+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVpcConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeVpcConnectorResponse_httpStatus' - The response's http status code.+--+-- 'vpcConnector', 'describeVpcConnectorResponse_vpcConnector' - A description of the App Runner VPC connector that you specified in this+-- request.+newDescribeVpcConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcConnector'+  VpcConnector ->+  DescribeVpcConnectorResponse+newDescribeVpcConnectorResponse+  pHttpStatus_+  pVpcConnector_ =+    DescribeVpcConnectorResponse'+      { httpStatus =+          pHttpStatus_,+        vpcConnector = pVpcConnector_+      }++-- | The response's http status code.+describeVpcConnectorResponse_httpStatus :: Lens.Lens' DescribeVpcConnectorResponse Prelude.Int+describeVpcConnectorResponse_httpStatus = Lens.lens (\DescribeVpcConnectorResponse' {httpStatus} -> httpStatus) (\s@DescribeVpcConnectorResponse' {} a -> s {httpStatus = a} :: DescribeVpcConnectorResponse)++-- | A description of the App Runner VPC connector that you specified in this+-- request.+describeVpcConnectorResponse_vpcConnector :: Lens.Lens' DescribeVpcConnectorResponse VpcConnector+describeVpcConnectorResponse_vpcConnector = Lens.lens (\DescribeVpcConnectorResponse' {vpcConnector} -> vpcConnector) (\s@DescribeVpcConnectorResponse' {} a -> s {vpcConnector = a} :: DescribeVpcConnectorResponse)++instance Prelude.NFData DescribeVpcConnectorResponse where+  rnf DescribeVpcConnectorResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcConnector
+ gen/Amazonka/AppRunner/DescribeVpcIngressConnection.hs view
@@ -0,0 +1,196 @@+{-# 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.AppRunner.DescribeVpcIngressConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a full description of an App Runner VPC Ingress Connection+-- resource.+module Amazonka.AppRunner.DescribeVpcIngressConnection+  ( -- * Creating a Request+    DescribeVpcIngressConnection (..),+    newDescribeVpcIngressConnection,++    -- * Request Lenses+    describeVpcIngressConnection_vpcIngressConnectionArn,++    -- * Destructuring the Response+    DescribeVpcIngressConnectionResponse (..),+    newDescribeVpcIngressConnectionResponse,++    -- * Response Lenses+    describeVpcIngressConnectionResponse_httpStatus,+    describeVpcIngressConnectionResponse_vpcIngressConnection,+  )+where++import Amazonka.AppRunner.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:/ 'newDescribeVpcIngressConnection' smart constructor.+data DescribeVpcIngressConnection = DescribeVpcIngressConnection'+  { -- | The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+    -- that you want a description for.+    vpcIngressConnectionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVpcIngressConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcIngressConnectionArn', 'describeVpcIngressConnection_vpcIngressConnectionArn' - The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+-- that you want a description for.+newDescribeVpcIngressConnection ::+  -- | 'vpcIngressConnectionArn'+  Prelude.Text ->+  DescribeVpcIngressConnection+newDescribeVpcIngressConnection+  pVpcIngressConnectionArn_ =+    DescribeVpcIngressConnection'+      { vpcIngressConnectionArn =+          pVpcIngressConnectionArn_+      }++-- | The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection+-- that you want a description for.+describeVpcIngressConnection_vpcIngressConnectionArn :: Lens.Lens' DescribeVpcIngressConnection Prelude.Text+describeVpcIngressConnection_vpcIngressConnectionArn = Lens.lens (\DescribeVpcIngressConnection' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@DescribeVpcIngressConnection' {} a -> s {vpcIngressConnectionArn = a} :: DescribeVpcIngressConnection)++instance Core.AWSRequest DescribeVpcIngressConnection where+  type+    AWSResponse DescribeVpcIngressConnection =+      DescribeVpcIngressConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeVpcIngressConnectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcIngressConnection")+      )++instance+  Prelude.Hashable+    DescribeVpcIngressConnection+  where+  hashWithSalt _salt DescribeVpcIngressConnection' {..} =+    _salt+      `Prelude.hashWithSalt` vpcIngressConnectionArn++instance Prelude.NFData DescribeVpcIngressConnection where+  rnf DescribeVpcIngressConnection' {..} =+    Prelude.rnf vpcIngressConnectionArn++instance Data.ToHeaders DescribeVpcIngressConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DescribeVpcIngressConnection" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeVpcIngressConnection where+  toJSON DescribeVpcIngressConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "VpcIngressConnectionArn"+                  Data..= vpcIngressConnectionArn+              )+          ]+      )++instance Data.ToPath DescribeVpcIngressConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeVpcIngressConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeVpcIngressConnectionResponse' smart constructor.+data DescribeVpcIngressConnectionResponse = DescribeVpcIngressConnectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC Ingress Connection that you+    -- specified in this request.+    vpcIngressConnection :: VpcIngressConnection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVpcIngressConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeVpcIngressConnectionResponse_httpStatus' - The response's http status code.+--+-- 'vpcIngressConnection', 'describeVpcIngressConnectionResponse_vpcIngressConnection' - A description of the App Runner VPC Ingress Connection that you+-- specified in this request.+newDescribeVpcIngressConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcIngressConnection'+  VpcIngressConnection ->+  DescribeVpcIngressConnectionResponse+newDescribeVpcIngressConnectionResponse+  pHttpStatus_+  pVpcIngressConnection_ =+    DescribeVpcIngressConnectionResponse'+      { httpStatus =+          pHttpStatus_,+        vpcIngressConnection =+          pVpcIngressConnection_+      }++-- | The response's http status code.+describeVpcIngressConnectionResponse_httpStatus :: Lens.Lens' DescribeVpcIngressConnectionResponse Prelude.Int+describeVpcIngressConnectionResponse_httpStatus = Lens.lens (\DescribeVpcIngressConnectionResponse' {httpStatus} -> httpStatus) (\s@DescribeVpcIngressConnectionResponse' {} a -> s {httpStatus = a} :: DescribeVpcIngressConnectionResponse)++-- | A description of the App Runner VPC Ingress Connection that you+-- specified in this request.+describeVpcIngressConnectionResponse_vpcIngressConnection :: Lens.Lens' DescribeVpcIngressConnectionResponse VpcIngressConnection+describeVpcIngressConnectionResponse_vpcIngressConnection = Lens.lens (\DescribeVpcIngressConnectionResponse' {vpcIngressConnection} -> vpcIngressConnection) (\s@DescribeVpcIngressConnectionResponse' {} a -> s {vpcIngressConnection = a} :: DescribeVpcIngressConnectionResponse)++instance+  Prelude.NFData+    DescribeVpcIngressConnectionResponse+  where+  rnf DescribeVpcIngressConnectionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcIngressConnection
+ gen/Amazonka/AppRunner/DisassociateCustomDomain.hs view
@@ -0,0 +1,257 @@+{-# 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.AppRunner.DisassociateCustomDomain+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociate a custom domain name from an App Runner service.+--+-- Certificates tracking domain validity are associated with a custom+-- domain and are stored in+-- <https://docs.aws.amazon.com/acm/latest/userguide AWS Certificate Manager (ACM)>.+-- These certificates aren\'t deleted as part of this action. App Runner+-- delays certificate deletion for 30 days after a domain is disassociated+-- from your service.+module Amazonka.AppRunner.DisassociateCustomDomain+  ( -- * Creating a Request+    DisassociateCustomDomain (..),+    newDisassociateCustomDomain,++    -- * Request Lenses+    disassociateCustomDomain_serviceArn,+    disassociateCustomDomain_domainName,++    -- * Destructuring the Response+    DisassociateCustomDomainResponse (..),+    newDisassociateCustomDomainResponse,++    -- * Response Lenses+    disassociateCustomDomainResponse_httpStatus,+    disassociateCustomDomainResponse_dNSTarget,+    disassociateCustomDomainResponse_serviceArn,+    disassociateCustomDomainResponse_customDomain,+    disassociateCustomDomainResponse_vpcDNSTargets,+  )+where++import Amazonka.AppRunner.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:/ 'newDisassociateCustomDomain' smart constructor.+data DisassociateCustomDomain = DisassociateCustomDomain'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to disassociate a custom domain name from.+    serviceArn :: Prelude.Text,+    -- | The domain name that you want to disassociate from the App Runner+    -- service.+    domainName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCustomDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'disassociateCustomDomain_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to disassociate a custom domain name from.+--+-- 'domainName', 'disassociateCustomDomain_domainName' - The domain name that you want to disassociate from the App Runner+-- service.+newDisassociateCustomDomain ::+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'domainName'+  Prelude.Text ->+  DisassociateCustomDomain+newDisassociateCustomDomain pServiceArn_ pDomainName_ =+  DisassociateCustomDomain'+    { serviceArn =+        pServiceArn_,+      domainName = pDomainName_+    }++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to disassociate a custom domain name from.+disassociateCustomDomain_serviceArn :: Lens.Lens' DisassociateCustomDomain Prelude.Text+disassociateCustomDomain_serviceArn = Lens.lens (\DisassociateCustomDomain' {serviceArn} -> serviceArn) (\s@DisassociateCustomDomain' {} a -> s {serviceArn = a} :: DisassociateCustomDomain)++-- | The domain name that you want to disassociate from the App Runner+-- service.+disassociateCustomDomain_domainName :: Lens.Lens' DisassociateCustomDomain Prelude.Text+disassociateCustomDomain_domainName = Lens.lens (\DisassociateCustomDomain' {domainName} -> domainName) (\s@DisassociateCustomDomain' {} a -> s {domainName = a} :: DisassociateCustomDomain)++instance Core.AWSRequest DisassociateCustomDomain where+  type+    AWSResponse DisassociateCustomDomain =+      DisassociateCustomDomainResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateCustomDomainResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "DNSTarget")+            Prelude.<*> (x Data..:> "ServiceArn")+            Prelude.<*> (x Data..:> "CustomDomain")+            Prelude.<*> (x Data..?> "VpcDNSTargets" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable DisassociateCustomDomain where+  hashWithSalt _salt DisassociateCustomDomain' {..} =+    _salt+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` domainName++instance Prelude.NFData DisassociateCustomDomain where+  rnf DisassociateCustomDomain' {..} =+    Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf domainName++instance Data.ToHeaders DisassociateCustomDomain where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.DisassociateCustomDomain" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisassociateCustomDomain where+  toJSON DisassociateCustomDomain' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ServiceArn" Data..= serviceArn),+            Prelude.Just ("DomainName" Data..= domainName)+          ]+      )++instance Data.ToPath DisassociateCustomDomain where+  toPath = Prelude.const "/"++instance Data.ToQuery DisassociateCustomDomain where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateCustomDomainResponse' smart constructor.+data DisassociateCustomDomainResponse = DisassociateCustomDomainResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The App Runner subdomain of the App Runner service. The disassociated+    -- custom domain name was mapped to this target name.+    dNSTarget :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner service that a custom+    -- domain name is disassociated from.+    serviceArn :: Prelude.Text,+    -- | A description of the domain name that\'s being disassociated.+    customDomain :: CustomDomain,+    -- | DNS Target records for the custom domains of this Amazon VPC.+    vpcDNSTargets :: [VpcDNSTarget]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCustomDomainResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateCustomDomainResponse_httpStatus' - The response's http status code.+--+-- 'dNSTarget', 'disassociateCustomDomainResponse_dNSTarget' - The App Runner subdomain of the App Runner service. The disassociated+-- custom domain name was mapped to this target name.+--+-- 'serviceArn', 'disassociateCustomDomainResponse_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that a custom+-- domain name is disassociated from.+--+-- 'customDomain', 'disassociateCustomDomainResponse_customDomain' - A description of the domain name that\'s being disassociated.+--+-- 'vpcDNSTargets', 'disassociateCustomDomainResponse_vpcDNSTargets' - DNS Target records for the custom domains of this Amazon VPC.+newDisassociateCustomDomainResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'dNSTarget'+  Prelude.Text ->+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'customDomain'+  CustomDomain ->+  DisassociateCustomDomainResponse+newDisassociateCustomDomainResponse+  pHttpStatus_+  pDNSTarget_+  pServiceArn_+  pCustomDomain_ =+    DisassociateCustomDomainResponse'+      { httpStatus =+          pHttpStatus_,+        dNSTarget = pDNSTarget_,+        serviceArn = pServiceArn_,+        customDomain = pCustomDomain_,+        vpcDNSTargets = Prelude.mempty+      }++-- | The response's http status code.+disassociateCustomDomainResponse_httpStatus :: Lens.Lens' DisassociateCustomDomainResponse Prelude.Int+disassociateCustomDomainResponse_httpStatus = Lens.lens (\DisassociateCustomDomainResponse' {httpStatus} -> httpStatus) (\s@DisassociateCustomDomainResponse' {} a -> s {httpStatus = a} :: DisassociateCustomDomainResponse)++-- | The App Runner subdomain of the App Runner service. The disassociated+-- custom domain name was mapped to this target name.+disassociateCustomDomainResponse_dNSTarget :: Lens.Lens' DisassociateCustomDomainResponse Prelude.Text+disassociateCustomDomainResponse_dNSTarget = Lens.lens (\DisassociateCustomDomainResponse' {dNSTarget} -> dNSTarget) (\s@DisassociateCustomDomainResponse' {} a -> s {dNSTarget = a} :: DisassociateCustomDomainResponse)++-- | The Amazon Resource Name (ARN) of the App Runner service that a custom+-- domain name is disassociated from.+disassociateCustomDomainResponse_serviceArn :: Lens.Lens' DisassociateCustomDomainResponse Prelude.Text+disassociateCustomDomainResponse_serviceArn = Lens.lens (\DisassociateCustomDomainResponse' {serviceArn} -> serviceArn) (\s@DisassociateCustomDomainResponse' {} a -> s {serviceArn = a} :: DisassociateCustomDomainResponse)++-- | A description of the domain name that\'s being disassociated.+disassociateCustomDomainResponse_customDomain :: Lens.Lens' DisassociateCustomDomainResponse CustomDomain+disassociateCustomDomainResponse_customDomain = Lens.lens (\DisassociateCustomDomainResponse' {customDomain} -> customDomain) (\s@DisassociateCustomDomainResponse' {} a -> s {customDomain = a} :: DisassociateCustomDomainResponse)++-- | DNS Target records for the custom domains of this Amazon VPC.+disassociateCustomDomainResponse_vpcDNSTargets :: Lens.Lens' DisassociateCustomDomainResponse [VpcDNSTarget]+disassociateCustomDomainResponse_vpcDNSTargets = Lens.lens (\DisassociateCustomDomainResponse' {vpcDNSTargets} -> vpcDNSTargets) (\s@DisassociateCustomDomainResponse' {} a -> s {vpcDNSTargets = a} :: DisassociateCustomDomainResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    DisassociateCustomDomainResponse+  where+  rnf DisassociateCustomDomainResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf dNSTarget+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf customDomain+      `Prelude.seq` Prelude.rnf vpcDNSTargets
+ gen/Amazonka/AppRunner/Lens.hs view
@@ -0,0 +1,545 @@+{-# 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.AppRunner.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.AppRunner.Lens+  ( -- * Operations++    -- ** AssociateCustomDomain+    associateCustomDomain_enableWWWSubdomain,+    associateCustomDomain_serviceArn,+    associateCustomDomain_domainName,+    associateCustomDomainResponse_httpStatus,+    associateCustomDomainResponse_dNSTarget,+    associateCustomDomainResponse_serviceArn,+    associateCustomDomainResponse_customDomain,+    associateCustomDomainResponse_vpcDNSTargets,++    -- ** CreateAutoScalingConfiguration+    createAutoScalingConfiguration_maxConcurrency,+    createAutoScalingConfiguration_maxSize,+    createAutoScalingConfiguration_minSize,+    createAutoScalingConfiguration_tags,+    createAutoScalingConfiguration_autoScalingConfigurationName,+    createAutoScalingConfigurationResponse_httpStatus,+    createAutoScalingConfigurationResponse_autoScalingConfiguration,++    -- ** CreateConnection+    createConnection_tags,+    createConnection_connectionName,+    createConnection_providerType,+    createConnectionResponse_httpStatus,+    createConnectionResponse_connection,++    -- ** CreateObservabilityConfiguration+    createObservabilityConfiguration_tags,+    createObservabilityConfiguration_traceConfiguration,+    createObservabilityConfiguration_observabilityConfigurationName,+    createObservabilityConfigurationResponse_httpStatus,+    createObservabilityConfigurationResponse_observabilityConfiguration,++    -- ** CreateService+    createService_autoScalingConfigurationArn,+    createService_encryptionConfiguration,+    createService_healthCheckConfiguration,+    createService_instanceConfiguration,+    createService_networkConfiguration,+    createService_observabilityConfiguration,+    createService_tags,+    createService_serviceName,+    createService_sourceConfiguration,+    createServiceResponse_httpStatus,+    createServiceResponse_service,+    createServiceResponse_operationId,++    -- ** CreateVpcConnector+    createVpcConnector_securityGroups,+    createVpcConnector_tags,+    createVpcConnector_vpcConnectorName,+    createVpcConnector_subnets,+    createVpcConnectorResponse_httpStatus,+    createVpcConnectorResponse_vpcConnector,++    -- ** CreateVpcIngressConnection+    createVpcIngressConnection_tags,+    createVpcIngressConnection_serviceArn,+    createVpcIngressConnection_vpcIngressConnectionName,+    createVpcIngressConnection_ingressVpcConfiguration,+    createVpcIngressConnectionResponse_httpStatus,+    createVpcIngressConnectionResponse_vpcIngressConnection,++    -- ** DeleteAutoScalingConfiguration+    deleteAutoScalingConfiguration_autoScalingConfigurationArn,+    deleteAutoScalingConfigurationResponse_httpStatus,+    deleteAutoScalingConfigurationResponse_autoScalingConfiguration,++    -- ** DeleteConnection+    deleteConnection_connectionArn,+    deleteConnectionResponse_connection,+    deleteConnectionResponse_httpStatus,++    -- ** DeleteObservabilityConfiguration+    deleteObservabilityConfiguration_observabilityConfigurationArn,+    deleteObservabilityConfigurationResponse_httpStatus,+    deleteObservabilityConfigurationResponse_observabilityConfiguration,++    -- ** DeleteService+    deleteService_serviceArn,+    deleteServiceResponse_httpStatus,+    deleteServiceResponse_service,+    deleteServiceResponse_operationId,++    -- ** DeleteVpcConnector+    deleteVpcConnector_vpcConnectorArn,+    deleteVpcConnectorResponse_httpStatus,+    deleteVpcConnectorResponse_vpcConnector,++    -- ** DeleteVpcIngressConnection+    deleteVpcIngressConnection_vpcIngressConnectionArn,+    deleteVpcIngressConnectionResponse_httpStatus,+    deleteVpcIngressConnectionResponse_vpcIngressConnection,++    -- ** DescribeAutoScalingConfiguration+    describeAutoScalingConfiguration_autoScalingConfigurationArn,+    describeAutoScalingConfigurationResponse_httpStatus,+    describeAutoScalingConfigurationResponse_autoScalingConfiguration,++    -- ** DescribeCustomDomains+    describeCustomDomains_maxResults,+    describeCustomDomains_nextToken,+    describeCustomDomains_serviceArn,+    describeCustomDomainsResponse_nextToken,+    describeCustomDomainsResponse_httpStatus,+    describeCustomDomainsResponse_dNSTarget,+    describeCustomDomainsResponse_serviceArn,+    describeCustomDomainsResponse_customDomains,+    describeCustomDomainsResponse_vpcDNSTargets,++    -- ** DescribeObservabilityConfiguration+    describeObservabilityConfiguration_observabilityConfigurationArn,+    describeObservabilityConfigurationResponse_httpStatus,+    describeObservabilityConfigurationResponse_observabilityConfiguration,++    -- ** DescribeService+    describeService_serviceArn,+    describeServiceResponse_httpStatus,+    describeServiceResponse_service,++    -- ** DescribeVpcConnector+    describeVpcConnector_vpcConnectorArn,+    describeVpcConnectorResponse_httpStatus,+    describeVpcConnectorResponse_vpcConnector,++    -- ** DescribeVpcIngressConnection+    describeVpcIngressConnection_vpcIngressConnectionArn,+    describeVpcIngressConnectionResponse_httpStatus,+    describeVpcIngressConnectionResponse_vpcIngressConnection,++    -- ** DisassociateCustomDomain+    disassociateCustomDomain_serviceArn,+    disassociateCustomDomain_domainName,+    disassociateCustomDomainResponse_httpStatus,+    disassociateCustomDomainResponse_dNSTarget,+    disassociateCustomDomainResponse_serviceArn,+    disassociateCustomDomainResponse_customDomain,+    disassociateCustomDomainResponse_vpcDNSTargets,++    -- ** ListAutoScalingConfigurations+    listAutoScalingConfigurations_autoScalingConfigurationName,+    listAutoScalingConfigurations_latestOnly,+    listAutoScalingConfigurations_maxResults,+    listAutoScalingConfigurations_nextToken,+    listAutoScalingConfigurationsResponse_nextToken,+    listAutoScalingConfigurationsResponse_httpStatus,+    listAutoScalingConfigurationsResponse_autoScalingConfigurationSummaryList,++    -- ** ListConnections+    listConnections_connectionName,+    listConnections_maxResults,+    listConnections_nextToken,+    listConnectionsResponse_nextToken,+    listConnectionsResponse_httpStatus,+    listConnectionsResponse_connectionSummaryList,++    -- ** ListObservabilityConfigurations+    listObservabilityConfigurations_latestOnly,+    listObservabilityConfigurations_maxResults,+    listObservabilityConfigurations_nextToken,+    listObservabilityConfigurations_observabilityConfigurationName,+    listObservabilityConfigurationsResponse_nextToken,+    listObservabilityConfigurationsResponse_httpStatus,+    listObservabilityConfigurationsResponse_observabilityConfigurationSummaryList,++    -- ** ListOperations+    listOperations_maxResults,+    listOperations_nextToken,+    listOperations_serviceArn,+    listOperationsResponse_nextToken,+    listOperationsResponse_operationSummaryList,+    listOperationsResponse_httpStatus,++    -- ** ListServices+    listServices_maxResults,+    listServices_nextToken,+    listServicesResponse_nextToken,+    listServicesResponse_httpStatus,+    listServicesResponse_serviceSummaryList,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListVpcConnectors+    listVpcConnectors_maxResults,+    listVpcConnectors_nextToken,+    listVpcConnectorsResponse_nextToken,+    listVpcConnectorsResponse_httpStatus,+    listVpcConnectorsResponse_vpcConnectors,++    -- ** ListVpcIngressConnections+    listVpcIngressConnections_filter,+    listVpcIngressConnections_maxResults,+    listVpcIngressConnections_nextToken,+    listVpcIngressConnectionsResponse_nextToken,+    listVpcIngressConnectionsResponse_httpStatus,+    listVpcIngressConnectionsResponse_vpcIngressConnectionSummaryList,++    -- ** PauseService+    pauseService_serviceArn,+    pauseServiceResponse_operationId,+    pauseServiceResponse_httpStatus,+    pauseServiceResponse_service,++    -- ** ResumeService+    resumeService_serviceArn,+    resumeServiceResponse_operationId,+    resumeServiceResponse_httpStatus,+    resumeServiceResponse_service,++    -- ** StartDeployment+    startDeployment_serviceArn,+    startDeploymentResponse_httpStatus,+    startDeploymentResponse_operationId,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateService+    updateService_autoScalingConfigurationArn,+    updateService_healthCheckConfiguration,+    updateService_instanceConfiguration,+    updateService_networkConfiguration,+    updateService_observabilityConfiguration,+    updateService_sourceConfiguration,+    updateService_serviceArn,+    updateServiceResponse_httpStatus,+    updateServiceResponse_service,+    updateServiceResponse_operationId,++    -- ** UpdateVpcIngressConnection+    updateVpcIngressConnection_vpcIngressConnectionArn,+    updateVpcIngressConnection_ingressVpcConfiguration,+    updateVpcIngressConnectionResponse_httpStatus,+    updateVpcIngressConnectionResponse_vpcIngressConnection,++    -- * Types++    -- ** AuthenticationConfiguration+    authenticationConfiguration_accessRoleArn,+    authenticationConfiguration_connectionArn,++    -- ** AutoScalingConfiguration+    autoScalingConfiguration_autoScalingConfigurationArn,+    autoScalingConfiguration_autoScalingConfigurationName,+    autoScalingConfiguration_autoScalingConfigurationRevision,+    autoScalingConfiguration_createdAt,+    autoScalingConfiguration_deletedAt,+    autoScalingConfiguration_latest,+    autoScalingConfiguration_maxConcurrency,+    autoScalingConfiguration_maxSize,+    autoScalingConfiguration_minSize,+    autoScalingConfiguration_status,++    -- ** AutoScalingConfigurationSummary+    autoScalingConfigurationSummary_autoScalingConfigurationArn,+    autoScalingConfigurationSummary_autoScalingConfigurationName,+    autoScalingConfigurationSummary_autoScalingConfigurationRevision,++    -- ** CertificateValidationRecord+    certificateValidationRecord_name,+    certificateValidationRecord_status,+    certificateValidationRecord_type,+    certificateValidationRecord_value,++    -- ** CodeConfiguration+    codeConfiguration_codeConfigurationValues,+    codeConfiguration_configurationSource,++    -- ** CodeConfigurationValues+    codeConfigurationValues_buildCommand,+    codeConfigurationValues_port,+    codeConfigurationValues_runtimeEnvironmentSecrets,+    codeConfigurationValues_runtimeEnvironmentVariables,+    codeConfigurationValues_startCommand,+    codeConfigurationValues_runtime,++    -- ** CodeRepository+    codeRepository_codeConfiguration,+    codeRepository_repositoryUrl,+    codeRepository_sourceCodeVersion,++    -- ** Connection+    connection_connectionArn,+    connection_connectionName,+    connection_createdAt,+    connection_providerType,+    connection_status,++    -- ** ConnectionSummary+    connectionSummary_connectionArn,+    connectionSummary_connectionName,+    connectionSummary_createdAt,+    connectionSummary_providerType,+    connectionSummary_status,++    -- ** CustomDomain+    customDomain_certificateValidationRecords,+    customDomain_domainName,+    customDomain_enableWWWSubdomain,+    customDomain_status,++    -- ** EgressConfiguration+    egressConfiguration_egressType,+    egressConfiguration_vpcConnectorArn,++    -- ** EncryptionConfiguration+    encryptionConfiguration_kmsKey,++    -- ** HealthCheckConfiguration+    healthCheckConfiguration_healthyThreshold,+    healthCheckConfiguration_interval,+    healthCheckConfiguration_path,+    healthCheckConfiguration_protocol,+    healthCheckConfiguration_timeout,+    healthCheckConfiguration_unhealthyThreshold,++    -- ** ImageConfiguration+    imageConfiguration_port,+    imageConfiguration_runtimeEnvironmentSecrets,+    imageConfiguration_runtimeEnvironmentVariables,+    imageConfiguration_startCommand,++    -- ** ImageRepository+    imageRepository_imageConfiguration,+    imageRepository_imageIdentifier,+    imageRepository_imageRepositoryType,++    -- ** IngressConfiguration+    ingressConfiguration_isPubliclyAccessible,++    -- ** IngressVpcConfiguration+    ingressVpcConfiguration_vpcEndpointId,+    ingressVpcConfiguration_vpcId,++    -- ** InstanceConfiguration+    instanceConfiguration_cpu,+    instanceConfiguration_instanceRoleArn,+    instanceConfiguration_memory,++    -- ** ListVpcIngressConnectionsFilter+    listVpcIngressConnectionsFilter_serviceArn,+    listVpcIngressConnectionsFilter_vpcEndpointId,++    -- ** NetworkConfiguration+    networkConfiguration_egressConfiguration,+    networkConfiguration_ingressConfiguration,++    -- ** ObservabilityConfiguration+    observabilityConfiguration_createdAt,+    observabilityConfiguration_deletedAt,+    observabilityConfiguration_latest,+    observabilityConfiguration_observabilityConfigurationArn,+    observabilityConfiguration_observabilityConfigurationName,+    observabilityConfiguration_observabilityConfigurationRevision,+    observabilityConfiguration_status,+    observabilityConfiguration_traceConfiguration,++    -- ** ObservabilityConfigurationSummary+    observabilityConfigurationSummary_observabilityConfigurationArn,+    observabilityConfigurationSummary_observabilityConfigurationName,+    observabilityConfigurationSummary_observabilityConfigurationRevision,++    -- ** OperationSummary+    operationSummary_endedAt,+    operationSummary_id,+    operationSummary_startedAt,+    operationSummary_status,+    operationSummary_targetArn,+    operationSummary_type,+    operationSummary_updatedAt,++    -- ** Service+    service_deletedAt,+    service_encryptionConfiguration,+    service_healthCheckConfiguration,+    service_observabilityConfiguration,+    service_serviceUrl,+    service_serviceName,+    service_serviceId,+    service_serviceArn,+    service_createdAt,+    service_updatedAt,+    service_status,+    service_sourceConfiguration,+    service_instanceConfiguration,+    service_autoScalingConfigurationSummary,+    service_networkConfiguration,++    -- ** ServiceObservabilityConfiguration+    serviceObservabilityConfiguration_observabilityConfigurationArn,+    serviceObservabilityConfiguration_observabilityEnabled,++    -- ** ServiceSummary+    serviceSummary_createdAt,+    serviceSummary_serviceArn,+    serviceSummary_serviceId,+    serviceSummary_serviceName,+    serviceSummary_serviceUrl,+    serviceSummary_status,+    serviceSummary_updatedAt,++    -- ** SourceCodeVersion+    sourceCodeVersion_type,+    sourceCodeVersion_value,++    -- ** SourceConfiguration+    sourceConfiguration_authenticationConfiguration,+    sourceConfiguration_autoDeploymentsEnabled,+    sourceConfiguration_codeRepository,+    sourceConfiguration_imageRepository,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TraceConfiguration+    traceConfiguration_vendor,++    -- ** VpcConnector+    vpcConnector_createdAt,+    vpcConnector_deletedAt,+    vpcConnector_securityGroups,+    vpcConnector_status,+    vpcConnector_subnets,+    vpcConnector_vpcConnectorArn,+    vpcConnector_vpcConnectorName,+    vpcConnector_vpcConnectorRevision,++    -- ** VpcDNSTarget+    vpcDNSTarget_domainName,+    vpcDNSTarget_vpcId,+    vpcDNSTarget_vpcIngressConnectionArn,++    -- ** VpcIngressConnection+    vpcIngressConnection_accountId,+    vpcIngressConnection_createdAt,+    vpcIngressConnection_deletedAt,+    vpcIngressConnection_domainName,+    vpcIngressConnection_ingressVpcConfiguration,+    vpcIngressConnection_serviceArn,+    vpcIngressConnection_status,+    vpcIngressConnection_vpcIngressConnectionArn,+    vpcIngressConnection_vpcIngressConnectionName,++    -- ** VpcIngressConnectionSummary+    vpcIngressConnectionSummary_serviceArn,+    vpcIngressConnectionSummary_vpcIngressConnectionArn,+  )+where++import Amazonka.AppRunner.AssociateCustomDomain+import Amazonka.AppRunner.CreateAutoScalingConfiguration+import Amazonka.AppRunner.CreateConnection+import Amazonka.AppRunner.CreateObservabilityConfiguration+import Amazonka.AppRunner.CreateService+import Amazonka.AppRunner.CreateVpcConnector+import Amazonka.AppRunner.CreateVpcIngressConnection+import Amazonka.AppRunner.DeleteAutoScalingConfiguration+import Amazonka.AppRunner.DeleteConnection+import Amazonka.AppRunner.DeleteObservabilityConfiguration+import Amazonka.AppRunner.DeleteService+import Amazonka.AppRunner.DeleteVpcConnector+import Amazonka.AppRunner.DeleteVpcIngressConnection+import Amazonka.AppRunner.DescribeAutoScalingConfiguration+import Amazonka.AppRunner.DescribeCustomDomains+import Amazonka.AppRunner.DescribeObservabilityConfiguration+import Amazonka.AppRunner.DescribeService+import Amazonka.AppRunner.DescribeVpcConnector+import Amazonka.AppRunner.DescribeVpcIngressConnection+import Amazonka.AppRunner.DisassociateCustomDomain+import Amazonka.AppRunner.ListAutoScalingConfigurations+import Amazonka.AppRunner.ListConnections+import Amazonka.AppRunner.ListObservabilityConfigurations+import Amazonka.AppRunner.ListOperations+import Amazonka.AppRunner.ListServices+import Amazonka.AppRunner.ListTagsForResource+import Amazonka.AppRunner.ListVpcConnectors+import Amazonka.AppRunner.ListVpcIngressConnections+import Amazonka.AppRunner.PauseService+import Amazonka.AppRunner.ResumeService+import Amazonka.AppRunner.StartDeployment+import Amazonka.AppRunner.TagResource+import Amazonka.AppRunner.Types.AuthenticationConfiguration+import Amazonka.AppRunner.Types.AutoScalingConfiguration+import Amazonka.AppRunner.Types.AutoScalingConfigurationSummary+import Amazonka.AppRunner.Types.CertificateValidationRecord+import Amazonka.AppRunner.Types.CodeConfiguration+import Amazonka.AppRunner.Types.CodeConfigurationValues+import Amazonka.AppRunner.Types.CodeRepository+import Amazonka.AppRunner.Types.Connection+import Amazonka.AppRunner.Types.ConnectionSummary+import Amazonka.AppRunner.Types.CustomDomain+import Amazonka.AppRunner.Types.EgressConfiguration+import Amazonka.AppRunner.Types.EncryptionConfiguration+import Amazonka.AppRunner.Types.HealthCheckConfiguration+import Amazonka.AppRunner.Types.ImageConfiguration+import Amazonka.AppRunner.Types.ImageRepository+import Amazonka.AppRunner.Types.IngressConfiguration+import Amazonka.AppRunner.Types.IngressVpcConfiguration+import Amazonka.AppRunner.Types.InstanceConfiguration+import Amazonka.AppRunner.Types.ListVpcIngressConnectionsFilter+import Amazonka.AppRunner.Types.NetworkConfiguration+import Amazonka.AppRunner.Types.ObservabilityConfiguration+import Amazonka.AppRunner.Types.ObservabilityConfigurationSummary+import Amazonka.AppRunner.Types.OperationSummary+import Amazonka.AppRunner.Types.Service+import Amazonka.AppRunner.Types.ServiceObservabilityConfiguration+import Amazonka.AppRunner.Types.ServiceSummary+import Amazonka.AppRunner.Types.SourceCodeVersion+import Amazonka.AppRunner.Types.SourceConfiguration+import Amazonka.AppRunner.Types.Tag+import Amazonka.AppRunner.Types.TraceConfiguration+import Amazonka.AppRunner.Types.VpcConnector+import Amazonka.AppRunner.Types.VpcDNSTarget+import Amazonka.AppRunner.Types.VpcIngressConnection+import Amazonka.AppRunner.Types.VpcIngressConnectionSummary+import Amazonka.AppRunner.UntagResource+import Amazonka.AppRunner.UpdateService+import Amazonka.AppRunner.UpdateVpcIngressConnection
+ gen/Amazonka/AppRunner/ListAutoScalingConfigurations.hs view
@@ -0,0 +1,308 @@+{-# 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.AppRunner.ListAutoScalingConfigurations+-- 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 active App Runner automatic scaling configurations in+-- your Amazon Web Services account. You can query the revisions for a+-- specific configuration name or the revisions for all active+-- configurations in your account. You can optionally query only the latest+-- revision of each requested name.+--+-- To retrieve a full description of a particular configuration revision,+-- call and provide one of the ARNs returned by+-- @ListAutoScalingConfigurations@.+module Amazonka.AppRunner.ListAutoScalingConfigurations+  ( -- * Creating a Request+    ListAutoScalingConfigurations (..),+    newListAutoScalingConfigurations,++    -- * Request Lenses+    listAutoScalingConfigurations_autoScalingConfigurationName,+    listAutoScalingConfigurations_latestOnly,+    listAutoScalingConfigurations_maxResults,+    listAutoScalingConfigurations_nextToken,++    -- * Destructuring the Response+    ListAutoScalingConfigurationsResponse (..),+    newListAutoScalingConfigurationsResponse,++    -- * Response Lenses+    listAutoScalingConfigurationsResponse_nextToken,+    listAutoScalingConfigurationsResponse_httpStatus,+    listAutoScalingConfigurationsResponse_autoScalingConfigurationSummaryList,+  )+where++import Amazonka.AppRunner.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:/ 'newListAutoScalingConfigurations' smart constructor.+data ListAutoScalingConfigurations = ListAutoScalingConfigurations'+  { -- | The name of the App Runner auto scaling configuration that you want to+    -- list. If specified, App Runner lists revisions that share this name. If+    -- not specified, App Runner returns revisions of all active+    -- configurations.+    autoScalingConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | Set to @true@ to list only the latest revision for each requested+    -- configuration name.+    --+    -- Set to @false@ to list all revisions for each requested configuration+    -- name.+    --+    -- Default: @true@+    latestOnly :: Prelude.Maybe Prelude.Bool,+    -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones that are specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAutoScalingConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationName', 'listAutoScalingConfigurations_autoScalingConfigurationName' - The name of the App Runner auto scaling configuration that you want to+-- list. If specified, App Runner lists revisions that share this name. If+-- not specified, App Runner returns revisions of all active+-- configurations.+--+-- 'latestOnly', 'listAutoScalingConfigurations_latestOnly' - Set to @true@ to list only the latest revision for each requested+-- configuration name.+--+-- Set to @false@ to list all revisions for each requested configuration+-- name.+--+-- Default: @true@+--+-- 'maxResults', 'listAutoScalingConfigurations_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listAutoScalingConfigurations_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+newListAutoScalingConfigurations ::+  ListAutoScalingConfigurations+newListAutoScalingConfigurations =+  ListAutoScalingConfigurations'+    { autoScalingConfigurationName =+        Prelude.Nothing,+      latestOnly = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The name of the App Runner auto scaling configuration that you want to+-- list. If specified, App Runner lists revisions that share this name. If+-- not specified, App Runner returns revisions of all active+-- configurations.+listAutoScalingConfigurations_autoScalingConfigurationName :: Lens.Lens' ListAutoScalingConfigurations (Prelude.Maybe Prelude.Text)+listAutoScalingConfigurations_autoScalingConfigurationName = Lens.lens (\ListAutoScalingConfigurations' {autoScalingConfigurationName} -> autoScalingConfigurationName) (\s@ListAutoScalingConfigurations' {} a -> s {autoScalingConfigurationName = a} :: ListAutoScalingConfigurations)++-- | Set to @true@ to list only the latest revision for each requested+-- configuration name.+--+-- Set to @false@ to list all revisions for each requested configuration+-- name.+--+-- Default: @true@+listAutoScalingConfigurations_latestOnly :: Lens.Lens' ListAutoScalingConfigurations (Prelude.Maybe Prelude.Bool)+listAutoScalingConfigurations_latestOnly = Lens.lens (\ListAutoScalingConfigurations' {latestOnly} -> latestOnly) (\s@ListAutoScalingConfigurations' {} a -> s {latestOnly = a} :: ListAutoScalingConfigurations)++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listAutoScalingConfigurations_maxResults :: Lens.Lens' ListAutoScalingConfigurations (Prelude.Maybe Prelude.Natural)+listAutoScalingConfigurations_maxResults = Lens.lens (\ListAutoScalingConfigurations' {maxResults} -> maxResults) (\s@ListAutoScalingConfigurations' {} a -> s {maxResults = a} :: ListAutoScalingConfigurations)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listAutoScalingConfigurations_nextToken :: Lens.Lens' ListAutoScalingConfigurations (Prelude.Maybe Prelude.Text)+listAutoScalingConfigurations_nextToken = Lens.lens (\ListAutoScalingConfigurations' {nextToken} -> nextToken) (\s@ListAutoScalingConfigurations' {} a -> s {nextToken = a} :: ListAutoScalingConfigurations)++instance+  Core.AWSRequest+    ListAutoScalingConfigurations+  where+  type+    AWSResponse ListAutoScalingConfigurations =+      ListAutoScalingConfigurationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAutoScalingConfigurationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "AutoScalingConfigurationSummaryList"+                            Core..!@ Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    ListAutoScalingConfigurations+  where+  hashWithSalt _salt ListAutoScalingConfigurations' {..} =+    _salt+      `Prelude.hashWithSalt` autoScalingConfigurationName+      `Prelude.hashWithSalt` latestOnly+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAutoScalingConfigurations where+  rnf ListAutoScalingConfigurations' {..} =+    Prelude.rnf autoScalingConfigurationName+      `Prelude.seq` Prelude.rnf latestOnly+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAutoScalingConfigurations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.ListAutoScalingConfigurations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListAutoScalingConfigurations where+  toJSON ListAutoScalingConfigurations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoScalingConfigurationName" Data..=)+              Prelude.<$> autoScalingConfigurationName,+            ("LatestOnly" Data..=) Prelude.<$> latestOnly,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListAutoScalingConfigurations where+  toPath = Prelude.const "/"++instance Data.ToQuery ListAutoScalingConfigurations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAutoScalingConfigurationsResponse' smart constructor.+data ListAutoScalingConfigurationsResponse = ListAutoScalingConfigurationsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of summary information records for auto scaling configurations.+    -- In a paginated request, the request returns up to @MaxResults@ records+    -- for each call.+    autoScalingConfigurationSummaryList :: [AutoScalingConfigurationSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAutoScalingConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listAutoScalingConfigurationsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'listAutoScalingConfigurationsResponse_httpStatus' - The response's http status code.+--+-- 'autoScalingConfigurationSummaryList', 'listAutoScalingConfigurationsResponse_autoScalingConfigurationSummaryList' - A list of summary information records for auto scaling configurations.+-- In a paginated request, the request returns up to @MaxResults@ records+-- for each call.+newListAutoScalingConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAutoScalingConfigurationsResponse+newListAutoScalingConfigurationsResponse pHttpStatus_ =+  ListAutoScalingConfigurationsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      autoScalingConfigurationSummaryList =+        Prelude.mempty+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listAutoScalingConfigurationsResponse_nextToken :: Lens.Lens' ListAutoScalingConfigurationsResponse (Prelude.Maybe Prelude.Text)+listAutoScalingConfigurationsResponse_nextToken = Lens.lens (\ListAutoScalingConfigurationsResponse' {nextToken} -> nextToken) (\s@ListAutoScalingConfigurationsResponse' {} a -> s {nextToken = a} :: ListAutoScalingConfigurationsResponse)++-- | The response's http status code.+listAutoScalingConfigurationsResponse_httpStatus :: Lens.Lens' ListAutoScalingConfigurationsResponse Prelude.Int+listAutoScalingConfigurationsResponse_httpStatus = Lens.lens (\ListAutoScalingConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListAutoScalingConfigurationsResponse' {} a -> s {httpStatus = a} :: ListAutoScalingConfigurationsResponse)++-- | A list of summary information records for auto scaling configurations.+-- In a paginated request, the request returns up to @MaxResults@ records+-- for each call.+listAutoScalingConfigurationsResponse_autoScalingConfigurationSummaryList :: Lens.Lens' ListAutoScalingConfigurationsResponse [AutoScalingConfigurationSummary]+listAutoScalingConfigurationsResponse_autoScalingConfigurationSummaryList = Lens.lens (\ListAutoScalingConfigurationsResponse' {autoScalingConfigurationSummaryList} -> autoScalingConfigurationSummaryList) (\s@ListAutoScalingConfigurationsResponse' {} a -> s {autoScalingConfigurationSummaryList = a} :: ListAutoScalingConfigurationsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListAutoScalingConfigurationsResponse+  where+  rnf ListAutoScalingConfigurationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf autoScalingConfigurationSummaryList
+ gen/Amazonka/AppRunner/ListConnections.hs view
@@ -0,0 +1,248 @@+{-# 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.AppRunner.ListConnections+-- 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 App Runner connections that are associated with your+-- Amazon Web Services account.+module Amazonka.AppRunner.ListConnections+  ( -- * Creating a Request+    ListConnections (..),+    newListConnections,++    -- * Request Lenses+    listConnections_connectionName,+    listConnections_maxResults,+    listConnections_nextToken,++    -- * Destructuring the Response+    ListConnectionsResponse (..),+    newListConnectionsResponse,++    -- * Response Lenses+    listConnectionsResponse_nextToken,+    listConnectionsResponse_httpStatus,+    listConnectionsResponse_connectionSummaryList,+  )+where++import Amazonka.AppRunner.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:/ 'newListConnections' smart constructor.+data ListConnections = ListConnections'+  { -- | If specified, only this connection is returned. If not specified, the+    -- result isn\'t filtered by name.+    connectionName :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to include in each response (result page).+    -- Used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. Used for a paginated request. The+    -- request retrieves the next result page. All other parameter values must+    -- be identical to the ones specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionName', 'listConnections_connectionName' - If specified, only this connection is returned. If not specified, the+-- result isn\'t filtered by name.+--+-- 'maxResults', 'listConnections_maxResults' - The maximum number of results to include in each response (result page).+-- Used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listConnections_nextToken' - A token from a previous result page. Used for a paginated request. The+-- request retrieves the next result page. All other parameter values must+-- be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+newListConnections ::+  ListConnections+newListConnections =+  ListConnections'+    { connectionName = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | If specified, only this connection is returned. If not specified, the+-- result isn\'t filtered by name.+listConnections_connectionName :: Lens.Lens' ListConnections (Prelude.Maybe Prelude.Text)+listConnections_connectionName = Lens.lens (\ListConnections' {connectionName} -> connectionName) (\s@ListConnections' {} a -> s {connectionName = a} :: ListConnections)++-- | The maximum number of results to include in each response (result page).+-- Used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listConnections_maxResults :: Lens.Lens' ListConnections (Prelude.Maybe Prelude.Natural)+listConnections_maxResults = Lens.lens (\ListConnections' {maxResults} -> maxResults) (\s@ListConnections' {} a -> s {maxResults = a} :: ListConnections)++-- | A token from a previous result page. Used for a paginated request. The+-- request retrieves the next result page. All other parameter values must+-- be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listConnections_nextToken :: Lens.Lens' ListConnections (Prelude.Maybe Prelude.Text)+listConnections_nextToken = Lens.lens (\ListConnections' {nextToken} -> nextToken) (\s@ListConnections' {} a -> s {nextToken = a} :: ListConnections)++instance Core.AWSRequest ListConnections where+  type+    AWSResponse ListConnections =+      ListConnectionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConnectionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "ConnectionSummaryList"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListConnections where+  hashWithSalt _salt ListConnections' {..} =+    _salt+      `Prelude.hashWithSalt` connectionName+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConnections where+  rnf ListConnections' {..} =+    Prelude.rnf connectionName+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConnections where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.ListConnections" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListConnections where+  toJSON ListConnections' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConnectionName" Data..=)+              Prelude.<$> connectionName,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListConnections where+  toPath = Prelude.const "/"++instance Data.ToQuery ListConnections where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListConnectionsResponse' smart constructor.+data ListConnectionsResponse = ListConnectionsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. Returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of summary information records for connections. In a paginated+    -- request, the request returns up to @MaxResults@ records for each call.+    connectionSummaryList :: [ConnectionSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listConnectionsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. Returned in a paginated request.+--+-- 'httpStatus', 'listConnectionsResponse_httpStatus' - The response's http status code.+--+-- 'connectionSummaryList', 'listConnectionsResponse_connectionSummaryList' - A list of summary information records for connections. In a paginated+-- request, the request returns up to @MaxResults@ records for each call.+newListConnectionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConnectionsResponse+newListConnectionsResponse pHttpStatus_ =+  ListConnectionsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      connectionSummaryList = Prelude.mempty+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. Returned in a paginated request.+listConnectionsResponse_nextToken :: Lens.Lens' ListConnectionsResponse (Prelude.Maybe Prelude.Text)+listConnectionsResponse_nextToken = Lens.lens (\ListConnectionsResponse' {nextToken} -> nextToken) (\s@ListConnectionsResponse' {} a -> s {nextToken = a} :: ListConnectionsResponse)++-- | The response's http status code.+listConnectionsResponse_httpStatus :: Lens.Lens' ListConnectionsResponse Prelude.Int+listConnectionsResponse_httpStatus = Lens.lens (\ListConnectionsResponse' {httpStatus} -> httpStatus) (\s@ListConnectionsResponse' {} a -> s {httpStatus = a} :: ListConnectionsResponse)++-- | A list of summary information records for connections. In a paginated+-- request, the request returns up to @MaxResults@ records for each call.+listConnectionsResponse_connectionSummaryList :: Lens.Lens' ListConnectionsResponse [ConnectionSummary]+listConnectionsResponse_connectionSummaryList = Lens.lens (\ListConnectionsResponse' {connectionSummaryList} -> connectionSummaryList) (\s@ListConnectionsResponse' {} a -> s {connectionSummaryList = a} :: ListConnectionsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListConnectionsResponse where+  rnf ListConnectionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf connectionSummaryList
+ gen/Amazonka/AppRunner/ListObservabilityConfigurations.hs view
@@ -0,0 +1,318 @@+{-# 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.AppRunner.ListObservabilityConfigurations+-- 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 active App Runner observability configurations in your+-- Amazon Web Services account. You can query the revisions for a specific+-- configuration name or the revisions for all active configurations in+-- your account. You can optionally query only the latest revision of each+-- requested name.+--+-- To retrieve a full description of a particular configuration revision,+-- call and provide one of the ARNs returned by+-- @ListObservabilityConfigurations@.+module Amazonka.AppRunner.ListObservabilityConfigurations+  ( -- * Creating a Request+    ListObservabilityConfigurations (..),+    newListObservabilityConfigurations,++    -- * Request Lenses+    listObservabilityConfigurations_latestOnly,+    listObservabilityConfigurations_maxResults,+    listObservabilityConfigurations_nextToken,+    listObservabilityConfigurations_observabilityConfigurationName,++    -- * Destructuring the Response+    ListObservabilityConfigurationsResponse (..),+    newListObservabilityConfigurationsResponse,++    -- * Response Lenses+    listObservabilityConfigurationsResponse_nextToken,+    listObservabilityConfigurationsResponse_httpStatus,+    listObservabilityConfigurationsResponse_observabilityConfigurationSummaryList,+  )+where++import Amazonka.AppRunner.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:/ 'newListObservabilityConfigurations' smart constructor.+data ListObservabilityConfigurations = ListObservabilityConfigurations'+  { -- | Set to @true@ to list only the latest revision for each requested+    -- configuration name.+    --+    -- Set to @false@ to list all revisions for each requested configuration+    -- name.+    --+    -- Default: @true@+    latestOnly :: Prelude.Maybe Prelude.Bool,+    -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones that are specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the App Runner observability configuration that you want to+    -- list. If specified, App Runner lists revisions that share this name. If+    -- not specified, App Runner returns revisions of all active+    -- configurations.+    observabilityConfigurationName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObservabilityConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'latestOnly', 'listObservabilityConfigurations_latestOnly' - Set to @true@ to list only the latest revision for each requested+-- configuration name.+--+-- Set to @false@ to list all revisions for each requested configuration+-- name.+--+-- Default: @true@+--+-- 'maxResults', 'listObservabilityConfigurations_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listObservabilityConfigurations_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+--+-- 'observabilityConfigurationName', 'listObservabilityConfigurations_observabilityConfigurationName' - The name of the App Runner observability configuration that you want to+-- list. If specified, App Runner lists revisions that share this name. If+-- not specified, App Runner returns revisions of all active+-- configurations.+newListObservabilityConfigurations ::+  ListObservabilityConfigurations+newListObservabilityConfigurations =+  ListObservabilityConfigurations'+    { latestOnly =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      observabilityConfigurationName =+        Prelude.Nothing+    }++-- | Set to @true@ to list only the latest revision for each requested+-- configuration name.+--+-- Set to @false@ to list all revisions for each requested configuration+-- name.+--+-- Default: @true@+listObservabilityConfigurations_latestOnly :: Lens.Lens' ListObservabilityConfigurations (Prelude.Maybe Prelude.Bool)+listObservabilityConfigurations_latestOnly = Lens.lens (\ListObservabilityConfigurations' {latestOnly} -> latestOnly) (\s@ListObservabilityConfigurations' {} a -> s {latestOnly = a} :: ListObservabilityConfigurations)++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listObservabilityConfigurations_maxResults :: Lens.Lens' ListObservabilityConfigurations (Prelude.Maybe Prelude.Natural)+listObservabilityConfigurations_maxResults = Lens.lens (\ListObservabilityConfigurations' {maxResults} -> maxResults) (\s@ListObservabilityConfigurations' {} a -> s {maxResults = a} :: ListObservabilityConfigurations)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listObservabilityConfigurations_nextToken :: Lens.Lens' ListObservabilityConfigurations (Prelude.Maybe Prelude.Text)+listObservabilityConfigurations_nextToken = Lens.lens (\ListObservabilityConfigurations' {nextToken} -> nextToken) (\s@ListObservabilityConfigurations' {} a -> s {nextToken = a} :: ListObservabilityConfigurations)++-- | The name of the App Runner observability configuration that you want to+-- list. If specified, App Runner lists revisions that share this name. If+-- not specified, App Runner returns revisions of all active+-- configurations.+listObservabilityConfigurations_observabilityConfigurationName :: Lens.Lens' ListObservabilityConfigurations (Prelude.Maybe Prelude.Text)+listObservabilityConfigurations_observabilityConfigurationName = Lens.lens (\ListObservabilityConfigurations' {observabilityConfigurationName} -> observabilityConfigurationName) (\s@ListObservabilityConfigurations' {} a -> s {observabilityConfigurationName = a} :: ListObservabilityConfigurations)++instance+  Core.AWSRequest+    ListObservabilityConfigurations+  where+  type+    AWSResponse ListObservabilityConfigurations =+      ListObservabilityConfigurationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListObservabilityConfigurationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "ObservabilityConfigurationSummaryList"+                            Core..!@ Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    ListObservabilityConfigurations+  where+  hashWithSalt+    _salt+    ListObservabilityConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` latestOnly+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` observabilityConfigurationName++instance+  Prelude.NFData+    ListObservabilityConfigurations+  where+  rnf ListObservabilityConfigurations' {..} =+    Prelude.rnf latestOnly+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf observabilityConfigurationName++instance+  Data.ToHeaders+    ListObservabilityConfigurations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.ListObservabilityConfigurations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListObservabilityConfigurations where+  toJSON ListObservabilityConfigurations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LatestOnly" Data..=) Prelude.<$> latestOnly,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("ObservabilityConfigurationName" Data..=)+              Prelude.<$> observabilityConfigurationName+          ]+      )++instance Data.ToPath ListObservabilityConfigurations where+  toPath = Prelude.const "/"++instance Data.ToQuery ListObservabilityConfigurations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListObservabilityConfigurationsResponse' smart constructor.+data ListObservabilityConfigurationsResponse = ListObservabilityConfigurationsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of summary information records for observability configurations.+    -- In a paginated request, the request returns up to @MaxResults@ records+    -- for each call.+    observabilityConfigurationSummaryList :: [ObservabilityConfigurationSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObservabilityConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listObservabilityConfigurationsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'listObservabilityConfigurationsResponse_httpStatus' - The response's http status code.+--+-- 'observabilityConfigurationSummaryList', 'listObservabilityConfigurationsResponse_observabilityConfigurationSummaryList' - A list of summary information records for observability configurations.+-- In a paginated request, the request returns up to @MaxResults@ records+-- for each call.+newListObservabilityConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListObservabilityConfigurationsResponse+newListObservabilityConfigurationsResponse+  pHttpStatus_ =+    ListObservabilityConfigurationsResponse'+      { nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        observabilityConfigurationSummaryList =+          Prelude.mempty+      }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listObservabilityConfigurationsResponse_nextToken :: Lens.Lens' ListObservabilityConfigurationsResponse (Prelude.Maybe Prelude.Text)+listObservabilityConfigurationsResponse_nextToken = Lens.lens (\ListObservabilityConfigurationsResponse' {nextToken} -> nextToken) (\s@ListObservabilityConfigurationsResponse' {} a -> s {nextToken = a} :: ListObservabilityConfigurationsResponse)++-- | The response's http status code.+listObservabilityConfigurationsResponse_httpStatus :: Lens.Lens' ListObservabilityConfigurationsResponse Prelude.Int+listObservabilityConfigurationsResponse_httpStatus = Lens.lens (\ListObservabilityConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListObservabilityConfigurationsResponse' {} a -> s {httpStatus = a} :: ListObservabilityConfigurationsResponse)++-- | A list of summary information records for observability configurations.+-- In a paginated request, the request returns up to @MaxResults@ records+-- for each call.+listObservabilityConfigurationsResponse_observabilityConfigurationSummaryList :: Lens.Lens' ListObservabilityConfigurationsResponse [ObservabilityConfigurationSummary]+listObservabilityConfigurationsResponse_observabilityConfigurationSummaryList = Lens.lens (\ListObservabilityConfigurationsResponse' {observabilityConfigurationSummaryList} -> observabilityConfigurationSummaryList) (\s@ListObservabilityConfigurationsResponse' {} a -> s {observabilityConfigurationSummaryList = a} :: ListObservabilityConfigurationsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListObservabilityConfigurationsResponse+  where+  rnf ListObservabilityConfigurationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf observabilityConfigurationSummaryList
+ gen/Amazonka/AppRunner/ListOperations.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.ListOperations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a list of operations that occurred on an App Runner service.+--+-- The resulting list of OperationSummary objects is sorted in reverse+-- chronological order. The first object on the list represents the last+-- started operation.+module Amazonka.AppRunner.ListOperations+  ( -- * Creating a Request+    ListOperations (..),+    newListOperations,++    -- * Request Lenses+    listOperations_maxResults,+    listOperations_nextToken,+    listOperations_serviceArn,++    -- * Destructuring the Response+    ListOperationsResponse (..),+    newListOperationsResponse,++    -- * Response Lenses+    listOperationsResponse_nextToken,+    listOperationsResponse_operationSummaryList,+    listOperationsResponse_httpStatus,+  )+where++import Amazonka.AppRunner.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:/ 'newListOperations' smart constructor.+data ListOperations = ListOperations'+  { -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner service that you want a+    -- list of operations for.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOperations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOperations_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listOperations_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+--+-- 'serviceArn', 'listOperations_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want a+-- list of operations for.+newListOperations ::+  -- | 'serviceArn'+  Prelude.Text ->+  ListOperations+newListOperations pServiceArn_ =+  ListOperations'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      serviceArn = pServiceArn_+    }++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listOperations_maxResults :: Lens.Lens' ListOperations (Prelude.Maybe Prelude.Natural)+listOperations_maxResults = Lens.lens (\ListOperations' {maxResults} -> maxResults) (\s@ListOperations' {} a -> s {maxResults = a} :: ListOperations)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listOperations_nextToken :: Lens.Lens' ListOperations (Prelude.Maybe Prelude.Text)+listOperations_nextToken = Lens.lens (\ListOperations' {nextToken} -> nextToken) (\s@ListOperations' {} a -> s {nextToken = a} :: ListOperations)++-- | The Amazon Resource Name (ARN) of the App Runner service that you want a+-- list of operations for.+listOperations_serviceArn :: Lens.Lens' ListOperations Prelude.Text+listOperations_serviceArn = Lens.lens (\ListOperations' {serviceArn} -> serviceArn) (\s@ListOperations' {} a -> s {serviceArn = a} :: ListOperations)++instance Core.AWSRequest ListOperations where+  type+    AWSResponse ListOperations =+      ListOperationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListOperationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "OperationSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListOperations where+  hashWithSalt _salt ListOperations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData ListOperations where+  rnf ListOperations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceArn++instance Data.ToHeaders ListOperations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.ListOperations" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListOperations where+  toJSON ListOperations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("ServiceArn" Data..= serviceArn)+          ]+      )++instance Data.ToPath ListOperations where+  toPath = Prelude.const "/"++instance Data.ToQuery ListOperations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of operation summary information records. In a paginated request,+    -- the request returns up to @MaxResults@ records for each call.+    operationSummaryList :: Prelude.Maybe [OperationSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOperationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOperationsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'operationSummaryList', 'listOperationsResponse_operationSummaryList' - A list of operation summary information records. In a paginated request,+-- the request returns up to @MaxResults@ records for each call.+--+-- 'httpStatus', 'listOperationsResponse_httpStatus' - The response's http status code.+newListOperationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListOperationsResponse+newListOperationsResponse pHttpStatus_ =+  ListOperationsResponse'+    { nextToken =+        Prelude.Nothing,+      operationSummaryList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listOperationsResponse_nextToken :: Lens.Lens' ListOperationsResponse (Prelude.Maybe Prelude.Text)+listOperationsResponse_nextToken = Lens.lens (\ListOperationsResponse' {nextToken} -> nextToken) (\s@ListOperationsResponse' {} a -> s {nextToken = a} :: ListOperationsResponse)++-- | A list of operation summary information records. In a paginated request,+-- the request returns up to @MaxResults@ records for each call.+listOperationsResponse_operationSummaryList :: Lens.Lens' ListOperationsResponse (Prelude.Maybe [OperationSummary])+listOperationsResponse_operationSummaryList = Lens.lens (\ListOperationsResponse' {operationSummaryList} -> operationSummaryList) (\s@ListOperationsResponse' {} a -> s {operationSummaryList = a} :: ListOperationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listOperationsResponse_httpStatus :: Lens.Lens' ListOperationsResponse Prelude.Int+listOperationsResponse_httpStatus = Lens.lens (\ListOperationsResponse' {httpStatus} -> httpStatus) (\s@ListOperationsResponse' {} a -> s {httpStatus = a} :: ListOperationsResponse)++instance Prelude.NFData ListOperationsResponse where+  rnf ListOperationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf operationSummaryList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppRunner/ListServices.hs view
@@ -0,0 +1,228 @@+{-# 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.AppRunner.ListServices+-- 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 running App Runner services in your Amazon Web+-- Services account.+module Amazonka.AppRunner.ListServices+  ( -- * Creating a Request+    ListServices (..),+    newListServices,++    -- * Request Lenses+    listServices_maxResults,+    listServices_nextToken,++    -- * Destructuring the Response+    ListServicesResponse (..),+    newListServicesResponse,++    -- * Response Lenses+    listServicesResponse_nextToken,+    listServicesResponse_httpStatus,+    listServicesResponse_serviceSummaryList,+  )+where++import Amazonka.AppRunner.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:/ 'newListServices' smart constructor.+data ListServices = ListServices'+  { -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. Used for a paginated request. The+    -- request retrieves the next result page. All other parameter values must+    -- be identical to the ones specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listServices_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listServices_nextToken' - A token from a previous result page. Used for a paginated request. The+-- request retrieves the next result page. All other parameter values must+-- be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+newListServices ::+  ListServices+newListServices =+  ListServices'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listServices_maxResults :: Lens.Lens' ListServices (Prelude.Maybe Prelude.Natural)+listServices_maxResults = Lens.lens (\ListServices' {maxResults} -> maxResults) (\s@ListServices' {} a -> s {maxResults = a} :: ListServices)++-- | A token from a previous result page. Used for a paginated request. The+-- request retrieves the next result page. All other parameter values must+-- be identical to the ones specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listServices_nextToken :: Lens.Lens' ListServices (Prelude.Maybe Prelude.Text)+listServices_nextToken = Lens.lens (\ListServices' {nextToken} -> nextToken) (\s@ListServices' {} a -> s {nextToken = a} :: ListServices)++instance Core.AWSRequest ListServices where+  type AWSResponse ListServices = ListServicesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListServicesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "ServiceSummaryList"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListServices where+  hashWithSalt _salt ListServices' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListServices where+  rnf ListServices' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListServices where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.ListServices" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListServices where+  toJSON ListServices' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListServices where+  toPath = Prelude.const "/"++instance Data.ToQuery ListServices where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListServicesResponse' smart constructor.+data ListServicesResponse = ListServicesResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of service summary information records. In a paginated request,+    -- the request returns up to @MaxResults@ records for each call.+    serviceSummaryList :: [ServiceSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServicesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listServicesResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'listServicesResponse_httpStatus' - The response's http status code.+--+-- 'serviceSummaryList', 'listServicesResponse_serviceSummaryList' - A list of service summary information records. In a paginated request,+-- the request returns up to @MaxResults@ records for each call.+newListServicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListServicesResponse+newListServicesResponse pHttpStatus_ =+  ListServicesResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      serviceSummaryList = Prelude.mempty+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listServicesResponse_nextToken :: Lens.Lens' ListServicesResponse (Prelude.Maybe Prelude.Text)+listServicesResponse_nextToken = Lens.lens (\ListServicesResponse' {nextToken} -> nextToken) (\s@ListServicesResponse' {} a -> s {nextToken = a} :: ListServicesResponse)++-- | The response's http status code.+listServicesResponse_httpStatus :: Lens.Lens' ListServicesResponse Prelude.Int+listServicesResponse_httpStatus = Lens.lens (\ListServicesResponse' {httpStatus} -> httpStatus) (\s@ListServicesResponse' {} a -> s {httpStatus = a} :: ListServicesResponse)++-- | A list of service summary information records. In a paginated request,+-- the request returns up to @MaxResults@ records for each call.+listServicesResponse_serviceSummaryList :: Lens.Lens' ListServicesResponse [ServiceSummary]+listServicesResponse_serviceSummaryList = Lens.lens (\ListServicesResponse' {serviceSummaryList} -> serviceSummaryList) (\s@ListServicesResponse' {} a -> s {serviceSummaryList = a} :: ListServicesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListServicesResponse where+  rnf ListServicesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf serviceSummaryList
+ gen/Amazonka/AppRunner/ListTagsForResource.hs view
@@ -0,0 +1,179 @@+{-# 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.AppRunner.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)+--+-- List tags that are associated with for an App Runner resource. The+-- response contains a list of tag key-value pairs.+module Amazonka.AppRunner.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.AppRunner.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 that a tag list is+    -- requested for.+    --+    -- It must be the ARN of an App Runner resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that a tag list is+-- requested for.+--+-- It must be the ARN of an App Runner resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource that a tag list is+-- requested for.+--+-- It must be the ARN of an App Runner resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.ListTagsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | A list of the tag key-value pairs that are associated with the 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 the tag key-value pairs that are associated with the 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 the tag key-value pairs that are associated with the 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/AppRunner/ListVpcConnectors.hs view
@@ -0,0 +1,230 @@+{-# 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.AppRunner.ListVpcConnectors+-- 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 App Runner VPC connectors in your Amazon Web Services+-- account.+module Amazonka.AppRunner.ListVpcConnectors+  ( -- * Creating a Request+    ListVpcConnectors (..),+    newListVpcConnectors,++    -- * Request Lenses+    listVpcConnectors_maxResults,+    listVpcConnectors_nextToken,++    -- * Destructuring the Response+    ListVpcConnectorsResponse (..),+    newListVpcConnectorsResponse,++    -- * Response Lenses+    listVpcConnectorsResponse_nextToken,+    listVpcConnectorsResponse_httpStatus,+    listVpcConnectorsResponse_vpcConnectors,+  )+where++import Amazonka.AppRunner.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:/ 'newListVpcConnectors' smart constructor.+data ListVpcConnectors = ListVpcConnectors'+  { -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones that are specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcConnectors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVpcConnectors_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listVpcConnectors_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+newListVpcConnectors ::+  ListVpcConnectors+newListVpcConnectors =+  ListVpcConnectors'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listVpcConnectors_maxResults :: Lens.Lens' ListVpcConnectors (Prelude.Maybe Prelude.Natural)+listVpcConnectors_maxResults = Lens.lens (\ListVpcConnectors' {maxResults} -> maxResults) (\s@ListVpcConnectors' {} a -> s {maxResults = a} :: ListVpcConnectors)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listVpcConnectors_nextToken :: Lens.Lens' ListVpcConnectors (Prelude.Maybe Prelude.Text)+listVpcConnectors_nextToken = Lens.lens (\ListVpcConnectors' {nextToken} -> nextToken) (\s@ListVpcConnectors' {} a -> s {nextToken = a} :: ListVpcConnectors)++instance Core.AWSRequest ListVpcConnectors where+  type+    AWSResponse ListVpcConnectors =+      ListVpcConnectorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVpcConnectorsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "VpcConnectors" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListVpcConnectors where+  hashWithSalt _salt ListVpcConnectors' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListVpcConnectors where+  rnf ListVpcConnectors' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListVpcConnectors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.ListVpcConnectors" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListVpcConnectors where+  toJSON ListVpcConnectors' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListVpcConnectors where+  toPath = Prelude.const "/"++instance Data.ToQuery ListVpcConnectors where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVpcConnectorsResponse' smart constructor.+data ListVpcConnectorsResponse = ListVpcConnectorsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of information records for VPC connectors. In a paginated+    -- request, the request returns up to @MaxResults@ records for each call.+    vpcConnectors :: [VpcConnector]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcConnectorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVpcConnectorsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'listVpcConnectorsResponse_httpStatus' - The response's http status code.+--+-- 'vpcConnectors', 'listVpcConnectorsResponse_vpcConnectors' - A list of information records for VPC connectors. In a paginated+-- request, the request returns up to @MaxResults@ records for each call.+newListVpcConnectorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVpcConnectorsResponse+newListVpcConnectorsResponse pHttpStatus_ =+  ListVpcConnectorsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      vpcConnectors = Prelude.mempty+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listVpcConnectorsResponse_nextToken :: Lens.Lens' ListVpcConnectorsResponse (Prelude.Maybe Prelude.Text)+listVpcConnectorsResponse_nextToken = Lens.lens (\ListVpcConnectorsResponse' {nextToken} -> nextToken) (\s@ListVpcConnectorsResponse' {} a -> s {nextToken = a} :: ListVpcConnectorsResponse)++-- | The response's http status code.+listVpcConnectorsResponse_httpStatus :: Lens.Lens' ListVpcConnectorsResponse Prelude.Int+listVpcConnectorsResponse_httpStatus = Lens.lens (\ListVpcConnectorsResponse' {httpStatus} -> httpStatus) (\s@ListVpcConnectorsResponse' {} a -> s {httpStatus = a} :: ListVpcConnectorsResponse)++-- | A list of information records for VPC connectors. In a paginated+-- request, the request returns up to @MaxResults@ records for each call.+listVpcConnectorsResponse_vpcConnectors :: Lens.Lens' ListVpcConnectorsResponse [VpcConnector]+listVpcConnectorsResponse_vpcConnectors = Lens.lens (\ListVpcConnectorsResponse' {vpcConnectors} -> vpcConnectors) (\s@ListVpcConnectorsResponse' {} a -> s {vpcConnectors = a} :: ListVpcConnectorsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListVpcConnectorsResponse where+  rnf ListVpcConnectorsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcConnectors
+ gen/Amazonka/AppRunner/ListVpcIngressConnections.hs view
@@ -0,0 +1,257 @@+{-# 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.AppRunner.ListVpcIngressConnections+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Return a list of App Runner VPC Ingress Connections in your Amazon Web+-- Services account.+module Amazonka.AppRunner.ListVpcIngressConnections+  ( -- * Creating a Request+    ListVpcIngressConnections (..),+    newListVpcIngressConnections,++    -- * Request Lenses+    listVpcIngressConnections_filter,+    listVpcIngressConnections_maxResults,+    listVpcIngressConnections_nextToken,++    -- * Destructuring the Response+    ListVpcIngressConnectionsResponse (..),+    newListVpcIngressConnectionsResponse,++    -- * Response Lenses+    listVpcIngressConnectionsResponse_nextToken,+    listVpcIngressConnectionsResponse_httpStatus,+    listVpcIngressConnectionsResponse_vpcIngressConnectionSummaryList,+  )+where++import Amazonka.AppRunner.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:/ 'newListVpcIngressConnections' smart constructor.+data ListVpcIngressConnections = ListVpcIngressConnections'+  { -- | The VPC Ingress Connections to be listed based on either the Service Arn+    -- or Vpc Endpoint Id, or both.+    filter' :: Prelude.Maybe ListVpcIngressConnectionsFilter,+    -- | The maximum number of results to include in each response (result page).+    -- It\'s used for a paginated request.+    --+    -- If you don\'t specify @MaxResults@, the request retrieves all available+    -- results in a single response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token from a previous result page. It\'s used for a paginated request.+    -- The request retrieves the next result page. All other parameter values+    -- must be identical to the ones that are specified in the initial request.+    --+    -- If you don\'t specify @NextToken@, the request retrieves the first+    -- result page.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcIngressConnections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listVpcIngressConnections_filter' - The VPC Ingress Connections to be listed based on either the Service Arn+-- or Vpc Endpoint Id, or both.+--+-- 'maxResults', 'listVpcIngressConnections_maxResults' - The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+--+-- 'nextToken', 'listVpcIngressConnections_nextToken' - A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+newListVpcIngressConnections ::+  ListVpcIngressConnections+newListVpcIngressConnections =+  ListVpcIngressConnections'+    { filter' =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The VPC Ingress Connections to be listed based on either the Service Arn+-- or Vpc Endpoint Id, or both.+listVpcIngressConnections_filter :: Lens.Lens' ListVpcIngressConnections (Prelude.Maybe ListVpcIngressConnectionsFilter)+listVpcIngressConnections_filter = Lens.lens (\ListVpcIngressConnections' {filter'} -> filter') (\s@ListVpcIngressConnections' {} a -> s {filter' = a} :: ListVpcIngressConnections)++-- | The maximum number of results to include in each response (result page).+-- It\'s used for a paginated request.+--+-- If you don\'t specify @MaxResults@, the request retrieves all available+-- results in a single response.+listVpcIngressConnections_maxResults :: Lens.Lens' ListVpcIngressConnections (Prelude.Maybe Prelude.Natural)+listVpcIngressConnections_maxResults = Lens.lens (\ListVpcIngressConnections' {maxResults} -> maxResults) (\s@ListVpcIngressConnections' {} a -> s {maxResults = a} :: ListVpcIngressConnections)++-- | A token from a previous result page. It\'s used for a paginated request.+-- The request retrieves the next result page. All other parameter values+-- must be identical to the ones that are specified in the initial request.+--+-- If you don\'t specify @NextToken@, the request retrieves the first+-- result page.+listVpcIngressConnections_nextToken :: Lens.Lens' ListVpcIngressConnections (Prelude.Maybe Prelude.Text)+listVpcIngressConnections_nextToken = Lens.lens (\ListVpcIngressConnections' {nextToken} -> nextToken) (\s@ListVpcIngressConnections' {} a -> s {nextToken = a} :: ListVpcIngressConnections)++instance Core.AWSRequest ListVpcIngressConnections where+  type+    AWSResponse ListVpcIngressConnections =+      ListVpcIngressConnectionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVpcIngressConnectionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "VpcIngressConnectionSummaryList"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListVpcIngressConnections where+  hashWithSalt _salt ListVpcIngressConnections' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListVpcIngressConnections where+  rnf ListVpcIngressConnections' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListVpcIngressConnections where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.ListVpcIngressConnections" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListVpcIngressConnections where+  toJSON ListVpcIngressConnections' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListVpcIngressConnections where+  toPath = Prelude.const "/"++instance Data.ToQuery ListVpcIngressConnections where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVpcIngressConnectionsResponse' smart constructor.+data ListVpcIngressConnectionsResponse = ListVpcIngressConnectionsResponse'+  { -- | The token that you can pass in a subsequent request to get the next+    -- result page. It\'s returned in a paginated request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of summary information records for VPC Ingress Connections. In a+    -- paginated request, the request returns up to @MaxResults@ records for+    -- each call.+    vpcIngressConnectionSummaryList :: [VpcIngressConnectionSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcIngressConnectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVpcIngressConnectionsResponse_nextToken' - The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+--+-- 'httpStatus', 'listVpcIngressConnectionsResponse_httpStatus' - The response's http status code.+--+-- 'vpcIngressConnectionSummaryList', 'listVpcIngressConnectionsResponse_vpcIngressConnectionSummaryList' - A list of summary information records for VPC Ingress Connections. In a+-- paginated request, the request returns up to @MaxResults@ records for+-- each call.+newListVpcIngressConnectionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVpcIngressConnectionsResponse+newListVpcIngressConnectionsResponse pHttpStatus_ =+  ListVpcIngressConnectionsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      vpcIngressConnectionSummaryList =+        Prelude.mempty+    }++-- | The token that you can pass in a subsequent request to get the next+-- result page. It\'s returned in a paginated request.+listVpcIngressConnectionsResponse_nextToken :: Lens.Lens' ListVpcIngressConnectionsResponse (Prelude.Maybe Prelude.Text)+listVpcIngressConnectionsResponse_nextToken = Lens.lens (\ListVpcIngressConnectionsResponse' {nextToken} -> nextToken) (\s@ListVpcIngressConnectionsResponse' {} a -> s {nextToken = a} :: ListVpcIngressConnectionsResponse)++-- | The response's http status code.+listVpcIngressConnectionsResponse_httpStatus :: Lens.Lens' ListVpcIngressConnectionsResponse Prelude.Int+listVpcIngressConnectionsResponse_httpStatus = Lens.lens (\ListVpcIngressConnectionsResponse' {httpStatus} -> httpStatus) (\s@ListVpcIngressConnectionsResponse' {} a -> s {httpStatus = a} :: ListVpcIngressConnectionsResponse)++-- | A list of summary information records for VPC Ingress Connections. In a+-- paginated request, the request returns up to @MaxResults@ records for+-- each call.+listVpcIngressConnectionsResponse_vpcIngressConnectionSummaryList :: Lens.Lens' ListVpcIngressConnectionsResponse [VpcIngressConnectionSummary]+listVpcIngressConnectionsResponse_vpcIngressConnectionSummaryList = Lens.lens (\ListVpcIngressConnectionsResponse' {vpcIngressConnectionSummaryList} -> vpcIngressConnectionSummaryList) (\s@ListVpcIngressConnectionsResponse' {} a -> s {vpcIngressConnectionSummaryList = a} :: ListVpcIngressConnectionsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListVpcIngressConnectionsResponse+  where+  rnf ListVpcIngressConnectionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcIngressConnectionSummaryList
+ gen/Amazonka/AppRunner/PauseService.hs view
@@ -0,0 +1,193 @@+{-# 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.AppRunner.PauseService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Pause an active App Runner service. App Runner reduces compute capacity+-- for the service to zero and loses state (for example, ephemeral storage+-- is removed).+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the ListOperations call to track the+-- operation\'s progress.+module Amazonka.AppRunner.PauseService+  ( -- * Creating a Request+    PauseService (..),+    newPauseService,++    -- * Request Lenses+    pauseService_serviceArn,++    -- * Destructuring the Response+    PauseServiceResponse (..),+    newPauseServiceResponse,++    -- * Response Lenses+    pauseServiceResponse_operationId,+    pauseServiceResponse_httpStatus,+    pauseServiceResponse_service,+  )+where++import Amazonka.AppRunner.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:/ 'newPauseService' smart constructor.+data PauseService = PauseService'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to pause.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PauseService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'pauseService_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to pause.+newPauseService ::+  -- | 'serviceArn'+  Prelude.Text ->+  PauseService+newPauseService pServiceArn_ =+  PauseService' {serviceArn = pServiceArn_}++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to pause.+pauseService_serviceArn :: Lens.Lens' PauseService Prelude.Text+pauseService_serviceArn = Lens.lens (\PauseService' {serviceArn} -> serviceArn) (\s@PauseService' {} a -> s {serviceArn = a} :: PauseService)++instance Core.AWSRequest PauseService where+  type AWSResponse PauseService = PauseServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PauseServiceResponse'+            Prelude.<$> (x Data..?> "OperationId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+      )++instance Prelude.Hashable PauseService where+  hashWithSalt _salt PauseService' {..} =+    _salt `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData PauseService where+  rnf PauseService' {..} = Prelude.rnf serviceArn++instance Data.ToHeaders PauseService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.PauseService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PauseService where+  toJSON PauseService' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ServiceArn" Data..= serviceArn)]+      )++instance Data.ToPath PauseService where+  toPath = Prelude.const "/"++instance Data.ToQuery PauseService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPauseServiceResponse' smart constructor.+data PauseServiceResponse = PauseServiceResponse'+  { -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the ListOperations call to track the+    -- operation\'s progress.+    operationId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner service that this request just paused.+    service :: Service+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PauseServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operationId', 'pauseServiceResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+--+-- 'httpStatus', 'pauseServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'pauseServiceResponse_service' - A description of the App Runner service that this request just paused.+newPauseServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  PauseServiceResponse+newPauseServiceResponse pHttpStatus_ pService_ =+  PauseServiceResponse'+    { operationId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      service = pService_+    }++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+pauseServiceResponse_operationId :: Lens.Lens' PauseServiceResponse (Prelude.Maybe Prelude.Text)+pauseServiceResponse_operationId = Lens.lens (\PauseServiceResponse' {operationId} -> operationId) (\s@PauseServiceResponse' {} a -> s {operationId = a} :: PauseServiceResponse)++-- | The response's http status code.+pauseServiceResponse_httpStatus :: Lens.Lens' PauseServiceResponse Prelude.Int+pauseServiceResponse_httpStatus = Lens.lens (\PauseServiceResponse' {httpStatus} -> httpStatus) (\s@PauseServiceResponse' {} a -> s {httpStatus = a} :: PauseServiceResponse)++-- | A description of the App Runner service that this request just paused.+pauseServiceResponse_service :: Lens.Lens' PauseServiceResponse Service+pauseServiceResponse_service = Lens.lens (\PauseServiceResponse' {service} -> service) (\s@PauseServiceResponse' {} a -> s {service = a} :: PauseServiceResponse)++instance Prelude.NFData PauseServiceResponse where+  rnf PauseServiceResponse' {..} =+    Prelude.rnf operationId+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service
+ gen/Amazonka/AppRunner/ResumeService.hs view
@@ -0,0 +1,194 @@+{-# 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.AppRunner.ResumeService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resume an active App Runner service. App Runner provisions compute+-- capacity for the service.+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the ListOperations call to track the+-- operation\'s progress.+module Amazonka.AppRunner.ResumeService+  ( -- * Creating a Request+    ResumeService (..),+    newResumeService,++    -- * Request Lenses+    resumeService_serviceArn,++    -- * Destructuring the Response+    ResumeServiceResponse (..),+    newResumeServiceResponse,++    -- * Response Lenses+    resumeServiceResponse_operationId,+    resumeServiceResponse_httpStatus,+    resumeServiceResponse_service,+  )+where++import Amazonka.AppRunner.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:/ 'newResumeService' smart constructor.+data ResumeService = ResumeService'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to resume.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResumeService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'resumeService_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to resume.+newResumeService ::+  -- | 'serviceArn'+  Prelude.Text ->+  ResumeService+newResumeService pServiceArn_ =+  ResumeService' {serviceArn = pServiceArn_}++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to resume.+resumeService_serviceArn :: Lens.Lens' ResumeService Prelude.Text+resumeService_serviceArn = Lens.lens (\ResumeService' {serviceArn} -> serviceArn) (\s@ResumeService' {} a -> s {serviceArn = a} :: ResumeService)++instance Core.AWSRequest ResumeService where+  type+    AWSResponse ResumeService =+      ResumeServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ResumeServiceResponse'+            Prelude.<$> (x Data..?> "OperationId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+      )++instance Prelude.Hashable ResumeService where+  hashWithSalt _salt ResumeService' {..} =+    _salt `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData ResumeService where+  rnf ResumeService' {..} = Prelude.rnf serviceArn++instance Data.ToHeaders ResumeService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.ResumeService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ResumeService where+  toJSON ResumeService' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ServiceArn" Data..= serviceArn)]+      )++instance Data.ToPath ResumeService where+  toPath = Prelude.const "/"++instance Data.ToQuery ResumeService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newResumeServiceResponse' smart constructor.+data ResumeServiceResponse = ResumeServiceResponse'+  { -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the ListOperations call to track the+    -- operation\'s progress.+    operationId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner service that this request just resumed.+    service :: Service+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResumeServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operationId', 'resumeServiceResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+--+-- 'httpStatus', 'resumeServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'resumeServiceResponse_service' - A description of the App Runner service that this request just resumed.+newResumeServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  ResumeServiceResponse+newResumeServiceResponse pHttpStatus_ pService_ =+  ResumeServiceResponse'+    { operationId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      service = pService_+    }++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+resumeServiceResponse_operationId :: Lens.Lens' ResumeServiceResponse (Prelude.Maybe Prelude.Text)+resumeServiceResponse_operationId = Lens.lens (\ResumeServiceResponse' {operationId} -> operationId) (\s@ResumeServiceResponse' {} a -> s {operationId = a} :: ResumeServiceResponse)++-- | The response's http status code.+resumeServiceResponse_httpStatus :: Lens.Lens' ResumeServiceResponse Prelude.Int+resumeServiceResponse_httpStatus = Lens.lens (\ResumeServiceResponse' {httpStatus} -> httpStatus) (\s@ResumeServiceResponse' {} a -> s {httpStatus = a} :: ResumeServiceResponse)++-- | A description of the App Runner service that this request just resumed.+resumeServiceResponse_service :: Lens.Lens' ResumeServiceResponse Service+resumeServiceResponse_service = Lens.lens (\ResumeServiceResponse' {service} -> service) (\s@ResumeServiceResponse' {} a -> s {service = a} :: ResumeServiceResponse)++instance Prelude.NFData ResumeServiceResponse where+  rnf ResumeServiceResponse' {..} =+    Prelude.rnf operationId+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service
+ gen/Amazonka/AppRunner/StartDeployment.hs view
@@ -0,0 +1,187 @@+{-# 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.AppRunner.StartDeployment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initiate a manual deployment of the latest commit in a source code+-- repository or the latest image in a source image repository to an App+-- Runner service.+--+-- For a source code repository, App Runner retrieves the commit and builds+-- a Docker image. For a source image repository, App Runner retrieves the+-- latest Docker image. In both cases, App Runner then deploys the new+-- image to your service and starts a new container instance.+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the ListOperations call to track the+-- operation\'s progress.+module Amazonka.AppRunner.StartDeployment+  ( -- * Creating a Request+    StartDeployment (..),+    newStartDeployment,++    -- * Request Lenses+    startDeployment_serviceArn,++    -- * Destructuring the Response+    StartDeploymentResponse (..),+    newStartDeploymentResponse,++    -- * Response Lenses+    startDeploymentResponse_httpStatus,+    startDeploymentResponse_operationId,+  )+where++import Amazonka.AppRunner.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:/ 'newStartDeployment' smart constructor.+data StartDeployment = StartDeployment'+  { -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to manually deploy to.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'startDeployment_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to manually deploy to.+newStartDeployment ::+  -- | 'serviceArn'+  Prelude.Text ->+  StartDeployment+newStartDeployment pServiceArn_ =+  StartDeployment' {serviceArn = pServiceArn_}++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to manually deploy to.+startDeployment_serviceArn :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_serviceArn = Lens.lens (\StartDeployment' {serviceArn} -> serviceArn) (\s@StartDeployment' {} a -> s {serviceArn = a} :: StartDeployment)++instance Core.AWSRequest StartDeployment where+  type+    AWSResponse StartDeployment =+      StartDeploymentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartDeploymentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "OperationId")+      )++instance Prelude.Hashable StartDeployment where+  hashWithSalt _salt StartDeployment' {..} =+    _salt `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData StartDeployment where+  rnf StartDeployment' {..} = Prelude.rnf serviceArn++instance Data.ToHeaders StartDeployment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.StartDeployment" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartDeployment where+  toJSON StartDeployment' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ServiceArn" Data..= serviceArn)]+      )++instance Data.ToPath StartDeployment where+  toPath = Prelude.const "/"++instance Data.ToQuery StartDeployment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartDeploymentResponse' smart constructor.+data StartDeploymentResponse = StartDeploymentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the ListOperations call to track the+    -- operation\'s progress.+    operationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDeploymentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startDeploymentResponse_httpStatus' - The response's http status code.+--+-- 'operationId', 'startDeploymentResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+newStartDeploymentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'operationId'+  Prelude.Text ->+  StartDeploymentResponse+newStartDeploymentResponse pHttpStatus_ pOperationId_ =+  StartDeploymentResponse'+    { httpStatus = pHttpStatus_,+      operationId = pOperationId_+    }++-- | The response's http status code.+startDeploymentResponse_httpStatus :: Lens.Lens' StartDeploymentResponse Prelude.Int+startDeploymentResponse_httpStatus = Lens.lens (\StartDeploymentResponse' {httpStatus} -> httpStatus) (\s@StartDeploymentResponse' {} a -> s {httpStatus = a} :: StartDeploymentResponse)++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+startDeploymentResponse_operationId :: Lens.Lens' StartDeploymentResponse Prelude.Text+startDeploymentResponse_operationId = Lens.lens (\StartDeploymentResponse' {operationId} -> operationId) (\s@StartDeploymentResponse' {} a -> s {operationId = a} :: StartDeploymentResponse)++instance Prelude.NFData StartDeploymentResponse where+  rnf StartDeploymentResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf operationId
+ gen/Amazonka/AppRunner/TagResource.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.AppRunner.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)+--+-- Add tags to, or update the tag values of, an App Runner resource. A tag+-- is a key-value pair.+module Amazonka.AppRunner.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.AppRunner.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 update+    -- tags for.+    --+    -- It must be the ARN of an App Runner resource.+    resourceArn :: Prelude.Text,+    -- | A list of tag key-value pairs to add or update. If a key is new to the+    -- resource, the tag is added with the provided value. If a key is already+    -- associated with the resource, the value of the tag is updated.+    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 update+-- tags for.+--+-- It must be the ARN of an App Runner resource.+--+-- 'tags', 'tagResource_tags' - A list of tag key-value pairs to add or update. If a key is new to the+-- resource, the tag is added with the provided value. If a key is already+-- associated with the resource, the value of the tag is updated.+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 update+-- tags for.+--+-- It must be the ARN of an App Runner resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of tag key-value pairs to add or update. If a key is new to the+-- resource, the tag is added with the provided value. If a key is already+-- associated with the resource, the value of the tag is updated.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.TagResource" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/AppRunner/Types.hs view
@@ -0,0 +1,530 @@+{-# 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.AppRunner.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.AppRunner.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _InternalServiceErrorException,+    _InvalidRequestException,+    _InvalidStateException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,++    -- * AutoScalingConfigurationStatus+    AutoScalingConfigurationStatus (..),++    -- * CertificateValidationRecordStatus+    CertificateValidationRecordStatus (..),++    -- * ConfigurationSource+    ConfigurationSource (..),++    -- * ConnectionStatus+    ConnectionStatus (..),++    -- * CustomDomainAssociationStatus+    CustomDomainAssociationStatus (..),++    -- * EgressType+    EgressType (..),++    -- * HealthCheckProtocol+    HealthCheckProtocol (..),++    -- * ImageRepositoryType+    ImageRepositoryType (..),++    -- * ObservabilityConfigurationStatus+    ObservabilityConfigurationStatus (..),++    -- * OperationStatus+    OperationStatus (..),++    -- * OperationType+    OperationType (..),++    -- * ProviderType+    ProviderType (..),++    -- * Runtime+    Runtime (..),++    -- * ServiceStatus+    ServiceStatus (..),++    -- * SourceCodeVersionType+    SourceCodeVersionType (..),++    -- * TracingVendor+    TracingVendor (..),++    -- * VpcConnectorStatus+    VpcConnectorStatus (..),++    -- * VpcIngressConnectionStatus+    VpcIngressConnectionStatus (..),++    -- * AuthenticationConfiguration+    AuthenticationConfiguration (..),+    newAuthenticationConfiguration,+    authenticationConfiguration_accessRoleArn,+    authenticationConfiguration_connectionArn,++    -- * AutoScalingConfiguration+    AutoScalingConfiguration (..),+    newAutoScalingConfiguration,+    autoScalingConfiguration_autoScalingConfigurationArn,+    autoScalingConfiguration_autoScalingConfigurationName,+    autoScalingConfiguration_autoScalingConfigurationRevision,+    autoScalingConfiguration_createdAt,+    autoScalingConfiguration_deletedAt,+    autoScalingConfiguration_latest,+    autoScalingConfiguration_maxConcurrency,+    autoScalingConfiguration_maxSize,+    autoScalingConfiguration_minSize,+    autoScalingConfiguration_status,++    -- * AutoScalingConfigurationSummary+    AutoScalingConfigurationSummary (..),+    newAutoScalingConfigurationSummary,+    autoScalingConfigurationSummary_autoScalingConfigurationArn,+    autoScalingConfigurationSummary_autoScalingConfigurationName,+    autoScalingConfigurationSummary_autoScalingConfigurationRevision,++    -- * CertificateValidationRecord+    CertificateValidationRecord (..),+    newCertificateValidationRecord,+    certificateValidationRecord_name,+    certificateValidationRecord_status,+    certificateValidationRecord_type,+    certificateValidationRecord_value,++    -- * CodeConfiguration+    CodeConfiguration (..),+    newCodeConfiguration,+    codeConfiguration_codeConfigurationValues,+    codeConfiguration_configurationSource,++    -- * CodeConfigurationValues+    CodeConfigurationValues (..),+    newCodeConfigurationValues,+    codeConfigurationValues_buildCommand,+    codeConfigurationValues_port,+    codeConfigurationValues_runtimeEnvironmentSecrets,+    codeConfigurationValues_runtimeEnvironmentVariables,+    codeConfigurationValues_startCommand,+    codeConfigurationValues_runtime,++    -- * CodeRepository+    CodeRepository (..),+    newCodeRepository,+    codeRepository_codeConfiguration,+    codeRepository_repositoryUrl,+    codeRepository_sourceCodeVersion,++    -- * Connection+    Connection (..),+    newConnection,+    connection_connectionArn,+    connection_connectionName,+    connection_createdAt,+    connection_providerType,+    connection_status,++    -- * ConnectionSummary+    ConnectionSummary (..),+    newConnectionSummary,+    connectionSummary_connectionArn,+    connectionSummary_connectionName,+    connectionSummary_createdAt,+    connectionSummary_providerType,+    connectionSummary_status,++    -- * CustomDomain+    CustomDomain (..),+    newCustomDomain,+    customDomain_certificateValidationRecords,+    customDomain_domainName,+    customDomain_enableWWWSubdomain,+    customDomain_status,++    -- * EgressConfiguration+    EgressConfiguration (..),+    newEgressConfiguration,+    egressConfiguration_egressType,+    egressConfiguration_vpcConnectorArn,++    -- * EncryptionConfiguration+    EncryptionConfiguration (..),+    newEncryptionConfiguration,+    encryptionConfiguration_kmsKey,++    -- * HealthCheckConfiguration+    HealthCheckConfiguration (..),+    newHealthCheckConfiguration,+    healthCheckConfiguration_healthyThreshold,+    healthCheckConfiguration_interval,+    healthCheckConfiguration_path,+    healthCheckConfiguration_protocol,+    healthCheckConfiguration_timeout,+    healthCheckConfiguration_unhealthyThreshold,++    -- * ImageConfiguration+    ImageConfiguration (..),+    newImageConfiguration,+    imageConfiguration_port,+    imageConfiguration_runtimeEnvironmentSecrets,+    imageConfiguration_runtimeEnvironmentVariables,+    imageConfiguration_startCommand,++    -- * ImageRepository+    ImageRepository (..),+    newImageRepository,+    imageRepository_imageConfiguration,+    imageRepository_imageIdentifier,+    imageRepository_imageRepositoryType,++    -- * IngressConfiguration+    IngressConfiguration (..),+    newIngressConfiguration,+    ingressConfiguration_isPubliclyAccessible,++    -- * IngressVpcConfiguration+    IngressVpcConfiguration (..),+    newIngressVpcConfiguration,+    ingressVpcConfiguration_vpcEndpointId,+    ingressVpcConfiguration_vpcId,++    -- * InstanceConfiguration+    InstanceConfiguration (..),+    newInstanceConfiguration,+    instanceConfiguration_cpu,+    instanceConfiguration_instanceRoleArn,+    instanceConfiguration_memory,++    -- * ListVpcIngressConnectionsFilter+    ListVpcIngressConnectionsFilter (..),+    newListVpcIngressConnectionsFilter,+    listVpcIngressConnectionsFilter_serviceArn,+    listVpcIngressConnectionsFilter_vpcEndpointId,++    -- * NetworkConfiguration+    NetworkConfiguration (..),+    newNetworkConfiguration,+    networkConfiguration_egressConfiguration,+    networkConfiguration_ingressConfiguration,++    -- * ObservabilityConfiguration+    ObservabilityConfiguration (..),+    newObservabilityConfiguration,+    observabilityConfiguration_createdAt,+    observabilityConfiguration_deletedAt,+    observabilityConfiguration_latest,+    observabilityConfiguration_observabilityConfigurationArn,+    observabilityConfiguration_observabilityConfigurationName,+    observabilityConfiguration_observabilityConfigurationRevision,+    observabilityConfiguration_status,+    observabilityConfiguration_traceConfiguration,++    -- * ObservabilityConfigurationSummary+    ObservabilityConfigurationSummary (..),+    newObservabilityConfigurationSummary,+    observabilityConfigurationSummary_observabilityConfigurationArn,+    observabilityConfigurationSummary_observabilityConfigurationName,+    observabilityConfigurationSummary_observabilityConfigurationRevision,++    -- * OperationSummary+    OperationSummary (..),+    newOperationSummary,+    operationSummary_endedAt,+    operationSummary_id,+    operationSummary_startedAt,+    operationSummary_status,+    operationSummary_targetArn,+    operationSummary_type,+    operationSummary_updatedAt,++    -- * Service+    Service (..),+    newService,+    service_deletedAt,+    service_encryptionConfiguration,+    service_healthCheckConfiguration,+    service_observabilityConfiguration,+    service_serviceUrl,+    service_serviceName,+    service_serviceId,+    service_serviceArn,+    service_createdAt,+    service_updatedAt,+    service_status,+    service_sourceConfiguration,+    service_instanceConfiguration,+    service_autoScalingConfigurationSummary,+    service_networkConfiguration,++    -- * ServiceObservabilityConfiguration+    ServiceObservabilityConfiguration (..),+    newServiceObservabilityConfiguration,+    serviceObservabilityConfiguration_observabilityConfigurationArn,+    serviceObservabilityConfiguration_observabilityEnabled,++    -- * ServiceSummary+    ServiceSummary (..),+    newServiceSummary,+    serviceSummary_createdAt,+    serviceSummary_serviceArn,+    serviceSummary_serviceId,+    serviceSummary_serviceName,+    serviceSummary_serviceUrl,+    serviceSummary_status,+    serviceSummary_updatedAt,++    -- * SourceCodeVersion+    SourceCodeVersion (..),+    newSourceCodeVersion,+    sourceCodeVersion_type,+    sourceCodeVersion_value,++    -- * SourceConfiguration+    SourceConfiguration (..),+    newSourceConfiguration,+    sourceConfiguration_authenticationConfiguration,+    sourceConfiguration_autoDeploymentsEnabled,+    sourceConfiguration_codeRepository,+    sourceConfiguration_imageRepository,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TraceConfiguration+    TraceConfiguration (..),+    newTraceConfiguration,+    traceConfiguration_vendor,++    -- * VpcConnector+    VpcConnector (..),+    newVpcConnector,+    vpcConnector_createdAt,+    vpcConnector_deletedAt,+    vpcConnector_securityGroups,+    vpcConnector_status,+    vpcConnector_subnets,+    vpcConnector_vpcConnectorArn,+    vpcConnector_vpcConnectorName,+    vpcConnector_vpcConnectorRevision,++    -- * VpcDNSTarget+    VpcDNSTarget (..),+    newVpcDNSTarget,+    vpcDNSTarget_domainName,+    vpcDNSTarget_vpcId,+    vpcDNSTarget_vpcIngressConnectionArn,++    -- * VpcIngressConnection+    VpcIngressConnection (..),+    newVpcIngressConnection,+    vpcIngressConnection_accountId,+    vpcIngressConnection_createdAt,+    vpcIngressConnection_deletedAt,+    vpcIngressConnection_domainName,+    vpcIngressConnection_ingressVpcConfiguration,+    vpcIngressConnection_serviceArn,+    vpcIngressConnection_status,+    vpcIngressConnection_vpcIngressConnectionArn,+    vpcIngressConnection_vpcIngressConnectionName,++    -- * VpcIngressConnectionSummary+    VpcIngressConnectionSummary (..),+    newVpcIngressConnectionSummary,+    vpcIngressConnectionSummary_serviceArn,+    vpcIngressConnectionSummary_vpcIngressConnectionArn,+  )+where++import Amazonka.AppRunner.Types.AuthenticationConfiguration+import Amazonka.AppRunner.Types.AutoScalingConfiguration+import Amazonka.AppRunner.Types.AutoScalingConfigurationStatus+import Amazonka.AppRunner.Types.AutoScalingConfigurationSummary+import Amazonka.AppRunner.Types.CertificateValidationRecord+import Amazonka.AppRunner.Types.CertificateValidationRecordStatus+import Amazonka.AppRunner.Types.CodeConfiguration+import Amazonka.AppRunner.Types.CodeConfigurationValues+import Amazonka.AppRunner.Types.CodeRepository+import Amazonka.AppRunner.Types.ConfigurationSource+import Amazonka.AppRunner.Types.Connection+import Amazonka.AppRunner.Types.ConnectionStatus+import Amazonka.AppRunner.Types.ConnectionSummary+import Amazonka.AppRunner.Types.CustomDomain+import Amazonka.AppRunner.Types.CustomDomainAssociationStatus+import Amazonka.AppRunner.Types.EgressConfiguration+import Amazonka.AppRunner.Types.EgressType+import Amazonka.AppRunner.Types.EncryptionConfiguration+import Amazonka.AppRunner.Types.HealthCheckConfiguration+import Amazonka.AppRunner.Types.HealthCheckProtocol+import Amazonka.AppRunner.Types.ImageConfiguration+import Amazonka.AppRunner.Types.ImageRepository+import Amazonka.AppRunner.Types.ImageRepositoryType+import Amazonka.AppRunner.Types.IngressConfiguration+import Amazonka.AppRunner.Types.IngressVpcConfiguration+import Amazonka.AppRunner.Types.InstanceConfiguration+import Amazonka.AppRunner.Types.ListVpcIngressConnectionsFilter+import Amazonka.AppRunner.Types.NetworkConfiguration+import Amazonka.AppRunner.Types.ObservabilityConfiguration+import Amazonka.AppRunner.Types.ObservabilityConfigurationStatus+import Amazonka.AppRunner.Types.ObservabilityConfigurationSummary+import Amazonka.AppRunner.Types.OperationStatus+import Amazonka.AppRunner.Types.OperationSummary+import Amazonka.AppRunner.Types.OperationType+import Amazonka.AppRunner.Types.ProviderType+import Amazonka.AppRunner.Types.Runtime+import Amazonka.AppRunner.Types.Service+import Amazonka.AppRunner.Types.ServiceObservabilityConfiguration+import Amazonka.AppRunner.Types.ServiceStatus+import Amazonka.AppRunner.Types.ServiceSummary+import Amazonka.AppRunner.Types.SourceCodeVersion+import Amazonka.AppRunner.Types.SourceCodeVersionType+import Amazonka.AppRunner.Types.SourceConfiguration+import Amazonka.AppRunner.Types.Tag+import Amazonka.AppRunner.Types.TraceConfiguration+import Amazonka.AppRunner.Types.TracingVendor+import Amazonka.AppRunner.Types.VpcConnector+import Amazonka.AppRunner.Types.VpcConnectorStatus+import Amazonka.AppRunner.Types.VpcDNSTarget+import Amazonka.AppRunner.Types.VpcIngressConnection+import Amazonka.AppRunner.Types.VpcIngressConnectionStatus+import Amazonka.AppRunner.Types.VpcIngressConnectionSummary+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 @2020-05-15@ of the Amazon App Runner SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "AppRunner",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "apprunner",+      Core.signingName = "apprunner",+      Core.version = "2020-05-15",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "AppRunner",+      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++-- | An unexpected service exception occurred.+_InternalServiceErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceErrorException =+  Core._MatchServiceError+    defaultService+    "InternalServiceErrorException"++-- | One or more input parameters aren\'t valid. Refer to the API action\'s+-- document page, correct the input parameters, and try the action again.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+  Core._MatchServiceError+    defaultService+    "InvalidRequestException"++-- | You can\'t perform this action when the resource is in its current+-- state.+_InvalidStateException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidStateException =+  Core._MatchServiceError+    defaultService+    "InvalidStateException"++-- | A resource doesn\'t exist for the specified Amazon Resource Name (ARN)+-- in your Amazon Web Services account.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"++-- | App Runner can\'t create this resource. You\'ve reached your account+-- quota for this resource type.+--+-- For App Runner per-resource quotas, see+-- <https://docs.aws.amazon.com/general/latest/gr/apprunner.html App Runner endpoints and quotas>+-- in the /Amazon Web Services General Reference/.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"
+ gen/Amazonka/AppRunner/Types/AuthenticationConfiguration.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.AuthenticationConfiguration+-- 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.AppRunner.Types.AuthenticationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes resources needed to authenticate access to some source+-- repositories. The specific resource depends on the repository provider.+--+-- /See:/ 'newAuthenticationConfiguration' smart constructor.+data AuthenticationConfiguration = AuthenticationConfiguration'+  { -- | The Amazon Resource Name (ARN) of the IAM role that grants the App+    -- Runner service access to a source repository. It\'s required for ECR+    -- image repositories (but not for ECR Public repositories).+    accessRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the App Runner connection that enables+    -- the App Runner service to connect to a source repository. It\'s required+    -- for GitHub code repositories.+    connectionArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuthenticationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessRoleArn', 'authenticationConfiguration_accessRoleArn' - The Amazon Resource Name (ARN) of the IAM role that grants the App+-- Runner service access to a source repository. It\'s required for ECR+-- image repositories (but not for ECR Public repositories).+--+-- 'connectionArn', 'authenticationConfiguration_connectionArn' - The Amazon Resource Name (ARN) of the App Runner connection that enables+-- the App Runner service to connect to a source repository. It\'s required+-- for GitHub code repositories.+newAuthenticationConfiguration ::+  AuthenticationConfiguration+newAuthenticationConfiguration =+  AuthenticationConfiguration'+    { accessRoleArn =+        Prelude.Nothing,+      connectionArn = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the IAM role that grants the App+-- Runner service access to a source repository. It\'s required for ECR+-- image repositories (but not for ECR Public repositories).+authenticationConfiguration_accessRoleArn :: Lens.Lens' AuthenticationConfiguration (Prelude.Maybe Prelude.Text)+authenticationConfiguration_accessRoleArn = Lens.lens (\AuthenticationConfiguration' {accessRoleArn} -> accessRoleArn) (\s@AuthenticationConfiguration' {} a -> s {accessRoleArn = a} :: AuthenticationConfiguration)++-- | The Amazon Resource Name (ARN) of the App Runner connection that enables+-- the App Runner service to connect to a source repository. It\'s required+-- for GitHub code repositories.+authenticationConfiguration_connectionArn :: Lens.Lens' AuthenticationConfiguration (Prelude.Maybe Prelude.Text)+authenticationConfiguration_connectionArn = Lens.lens (\AuthenticationConfiguration' {connectionArn} -> connectionArn) (\s@AuthenticationConfiguration' {} a -> s {connectionArn = a} :: AuthenticationConfiguration)++instance Data.FromJSON AuthenticationConfiguration where+  parseJSON =+    Data.withObject+      "AuthenticationConfiguration"+      ( \x ->+          AuthenticationConfiguration'+            Prelude.<$> (x Data..:? "AccessRoleArn")+            Prelude.<*> (x Data..:? "ConnectionArn")+      )++instance Prelude.Hashable AuthenticationConfiguration where+  hashWithSalt _salt AuthenticationConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` accessRoleArn+      `Prelude.hashWithSalt` connectionArn++instance Prelude.NFData AuthenticationConfiguration where+  rnf AuthenticationConfiguration' {..} =+    Prelude.rnf accessRoleArn+      `Prelude.seq` Prelude.rnf connectionArn++instance Data.ToJSON AuthenticationConfiguration where+  toJSON AuthenticationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AccessRoleArn" Data..=) Prelude.<$> accessRoleArn,+            ("ConnectionArn" Data..=) Prelude.<$> connectionArn+          ]+      )
+ gen/Amazonka/AppRunner/Types/AutoScalingConfiguration.hs view
@@ -0,0 +1,263 @@+{-# 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.AppRunner.Types.AutoScalingConfiguration+-- 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.AppRunner.Types.AutoScalingConfiguration where++import Amazonka.AppRunner.Types.AutoScalingConfigurationStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an App Runner automatic scaling configuration resource.+--+-- A higher @MinSize@ increases the spread of your App Runner service over+-- more Availability Zones in the Amazon Web Services Region. The tradeoff+-- is a higher minimal cost.+--+-- A lower @MaxSize@ controls your cost. The tradeoff is lower+-- responsiveness during peak demand.+--+-- Multiple revisions of a configuration might have the same+-- @AutoScalingConfigurationName@ and different+-- @AutoScalingConfigurationRevision@ values.+--+-- /See:/ 'newAutoScalingConfiguration' smart constructor.+data AutoScalingConfiguration = AutoScalingConfiguration'+  { -- | The Amazon Resource Name (ARN) of this auto scaling configuration.+    autoScalingConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided auto scaling configuration name. It can be used in+    -- multiple revisions of a configuration.+    autoScalingConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The revision of this auto scaling configuration. It\'s unique among all+    -- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+    -- @AutoScalingConfigurationName@.+    autoScalingConfigurationRevision :: Prelude.Maybe Prelude.Int,+    -- | The time when the auto scaling configuration was created. It\'s in Unix+    -- time stamp format.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The time when the auto scaling configuration was deleted. It\'s in Unix+    -- time stamp format.+    deletedAt :: Prelude.Maybe Data.POSIX,+    -- | It\'s set to @true@ for the configuration with the highest @Revision@+    -- among all configurations that share the same+    -- @AutoScalingConfigurationName@. It\'s set to @false@ otherwise.+    latest :: Prelude.Maybe Prelude.Bool,+    -- | The maximum number of concurrent requests that an instance processes. If+    -- the number of concurrent requests exceeds this limit, App Runner scales+    -- the service up.+    maxConcurrency :: Prelude.Maybe Prelude.Int,+    -- | The maximum number of instances that a service scales up to. At most+    -- @MaxSize@ instances actively serve traffic for your service.+    maxSize :: Prelude.Maybe Prelude.Int,+    -- | The minimum number of instances that App Runner provisions for a+    -- service. The service always has at least @MinSize@ provisioned+    -- instances. Some of them actively serve traffic. The rest of them+    -- (provisioned and inactive instances) are a cost-effective compute+    -- capacity reserve and are ready to be quickly activated. You pay for+    -- memory usage of all the provisioned instances. You pay for CPU usage of+    -- only the active subset.+    --+    -- App Runner temporarily doubles the number of provisioned instances+    -- during deployments, to maintain the same capacity for both old and new+    -- code.+    minSize :: Prelude.Maybe Prelude.Int,+    -- | The current state of the auto scaling configuration. If the status of a+    -- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+    -- Inactive configuration revisions are permanently removed some time after+    -- they are deleted.+    status :: Prelude.Maybe AutoScalingConfigurationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoScalingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'autoScalingConfiguration_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of this auto scaling configuration.+--+-- 'autoScalingConfigurationName', 'autoScalingConfiguration_autoScalingConfigurationName' - The customer-provided auto scaling configuration name. It can be used in+-- multiple revisions of a configuration.+--+-- 'autoScalingConfigurationRevision', 'autoScalingConfiguration_autoScalingConfigurationRevision' - The revision of this auto scaling configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @AutoScalingConfigurationName@.+--+-- 'createdAt', 'autoScalingConfiguration_createdAt' - The time when the auto scaling configuration was created. It\'s in Unix+-- time stamp format.+--+-- 'deletedAt', 'autoScalingConfiguration_deletedAt' - The time when the auto scaling configuration was deleted. It\'s in Unix+-- time stamp format.+--+-- 'latest', 'autoScalingConfiguration_latest' - It\'s set to @true@ for the configuration with the highest @Revision@+-- among all configurations that share the same+-- @AutoScalingConfigurationName@. It\'s set to @false@ otherwise.+--+-- 'maxConcurrency', 'autoScalingConfiguration_maxConcurrency' - The maximum number of concurrent requests that an instance processes. If+-- the number of concurrent requests exceeds this limit, App Runner scales+-- the service up.+--+-- 'maxSize', 'autoScalingConfiguration_maxSize' - The maximum number of instances that a service scales up to. At most+-- @MaxSize@ instances actively serve traffic for your service.+--+-- 'minSize', 'autoScalingConfiguration_minSize' - The minimum number of instances that App Runner provisions for a+-- service. The service always has at least @MinSize@ provisioned+-- instances. Some of them actively serve traffic. The rest of them+-- (provisioned and inactive instances) are a cost-effective compute+-- capacity reserve and are ready to be quickly activated. You pay for+-- memory usage of all the provisioned instances. You pay for CPU usage of+-- only the active subset.+--+-- App Runner temporarily doubles the number of provisioned instances+-- during deployments, to maintain the same capacity for both old and new+-- code.+--+-- 'status', 'autoScalingConfiguration_status' - The current state of the auto scaling configuration. If the status of a+-- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+-- Inactive configuration revisions are permanently removed some time after+-- they are deleted.+newAutoScalingConfiguration ::+  AutoScalingConfiguration+newAutoScalingConfiguration =+  AutoScalingConfiguration'+    { autoScalingConfigurationArn =+        Prelude.Nothing,+      autoScalingConfigurationName = Prelude.Nothing,+      autoScalingConfigurationRevision =+        Prelude.Nothing,+      createdAt = Prelude.Nothing,+      deletedAt = Prelude.Nothing,+      latest = Prelude.Nothing,+      maxConcurrency = Prelude.Nothing,+      maxSize = Prelude.Nothing,+      minSize = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this auto scaling configuration.+autoScalingConfiguration_autoScalingConfigurationArn :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Text)+autoScalingConfiguration_autoScalingConfigurationArn = Lens.lens (\AutoScalingConfiguration' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@AutoScalingConfiguration' {} a -> s {autoScalingConfigurationArn = a} :: AutoScalingConfiguration)++-- | The customer-provided auto scaling configuration name. It can be used in+-- multiple revisions of a configuration.+autoScalingConfiguration_autoScalingConfigurationName :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Text)+autoScalingConfiguration_autoScalingConfigurationName = Lens.lens (\AutoScalingConfiguration' {autoScalingConfigurationName} -> autoScalingConfigurationName) (\s@AutoScalingConfiguration' {} a -> s {autoScalingConfigurationName = a} :: AutoScalingConfiguration)++-- | The revision of this auto scaling configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @AutoScalingConfigurationName@.+autoScalingConfiguration_autoScalingConfigurationRevision :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Int)+autoScalingConfiguration_autoScalingConfigurationRevision = Lens.lens (\AutoScalingConfiguration' {autoScalingConfigurationRevision} -> autoScalingConfigurationRevision) (\s@AutoScalingConfiguration' {} a -> s {autoScalingConfigurationRevision = a} :: AutoScalingConfiguration)++-- | The time when the auto scaling configuration was created. It\'s in Unix+-- time stamp format.+autoScalingConfiguration_createdAt :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.UTCTime)+autoScalingConfiguration_createdAt = Lens.lens (\AutoScalingConfiguration' {createdAt} -> createdAt) (\s@AutoScalingConfiguration' {} a -> s {createdAt = a} :: AutoScalingConfiguration) Prelude.. Lens.mapping Data._Time++-- | The time when the auto scaling configuration was deleted. It\'s in Unix+-- time stamp format.+autoScalingConfiguration_deletedAt :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.UTCTime)+autoScalingConfiguration_deletedAt = Lens.lens (\AutoScalingConfiguration' {deletedAt} -> deletedAt) (\s@AutoScalingConfiguration' {} a -> s {deletedAt = a} :: AutoScalingConfiguration) Prelude.. Lens.mapping Data._Time++-- | It\'s set to @true@ for the configuration with the highest @Revision@+-- among all configurations that share the same+-- @AutoScalingConfigurationName@. It\'s set to @false@ otherwise.+autoScalingConfiguration_latest :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Bool)+autoScalingConfiguration_latest = Lens.lens (\AutoScalingConfiguration' {latest} -> latest) (\s@AutoScalingConfiguration' {} a -> s {latest = a} :: AutoScalingConfiguration)++-- | The maximum number of concurrent requests that an instance processes. If+-- the number of concurrent requests exceeds this limit, App Runner scales+-- the service up.+autoScalingConfiguration_maxConcurrency :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Int)+autoScalingConfiguration_maxConcurrency = Lens.lens (\AutoScalingConfiguration' {maxConcurrency} -> maxConcurrency) (\s@AutoScalingConfiguration' {} a -> s {maxConcurrency = a} :: AutoScalingConfiguration)++-- | The maximum number of instances that a service scales up to. At most+-- @MaxSize@ instances actively serve traffic for your service.+autoScalingConfiguration_maxSize :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Int)+autoScalingConfiguration_maxSize = Lens.lens (\AutoScalingConfiguration' {maxSize} -> maxSize) (\s@AutoScalingConfiguration' {} a -> s {maxSize = a} :: AutoScalingConfiguration)++-- | The minimum number of instances that App Runner provisions for a+-- service. The service always has at least @MinSize@ provisioned+-- instances. Some of them actively serve traffic. The rest of them+-- (provisioned and inactive instances) are a cost-effective compute+-- capacity reserve and are ready to be quickly activated. You pay for+-- memory usage of all the provisioned instances. You pay for CPU usage of+-- only the active subset.+--+-- App Runner temporarily doubles the number of provisioned instances+-- during deployments, to maintain the same capacity for both old and new+-- code.+autoScalingConfiguration_minSize :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe Prelude.Int)+autoScalingConfiguration_minSize = Lens.lens (\AutoScalingConfiguration' {minSize} -> minSize) (\s@AutoScalingConfiguration' {} a -> s {minSize = a} :: AutoScalingConfiguration)++-- | The current state of the auto scaling configuration. If the status of a+-- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+-- Inactive configuration revisions are permanently removed some time after+-- they are deleted.+autoScalingConfiguration_status :: Lens.Lens' AutoScalingConfiguration (Prelude.Maybe AutoScalingConfigurationStatus)+autoScalingConfiguration_status = Lens.lens (\AutoScalingConfiguration' {status} -> status) (\s@AutoScalingConfiguration' {} a -> s {status = a} :: AutoScalingConfiguration)++instance Data.FromJSON AutoScalingConfiguration where+  parseJSON =+    Data.withObject+      "AutoScalingConfiguration"+      ( \x ->+          AutoScalingConfiguration'+            Prelude.<$> (x Data..:? "AutoScalingConfigurationArn")+            Prelude.<*> (x Data..:? "AutoScalingConfigurationName")+            Prelude.<*> (x Data..:? "AutoScalingConfigurationRevision")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "DeletedAt")+            Prelude.<*> (x Data..:? "Latest")+            Prelude.<*> (x Data..:? "MaxConcurrency")+            Prelude.<*> (x Data..:? "MaxSize")+            Prelude.<*> (x Data..:? "MinSize")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable AutoScalingConfiguration where+  hashWithSalt _salt AutoScalingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` autoScalingConfigurationArn+      `Prelude.hashWithSalt` autoScalingConfigurationName+      `Prelude.hashWithSalt` autoScalingConfigurationRevision+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` deletedAt+      `Prelude.hashWithSalt` latest+      `Prelude.hashWithSalt` maxConcurrency+      `Prelude.hashWithSalt` maxSize+      `Prelude.hashWithSalt` minSize+      `Prelude.hashWithSalt` status++instance Prelude.NFData AutoScalingConfiguration where+  rnf AutoScalingConfiguration' {..} =+    Prelude.rnf autoScalingConfigurationArn+      `Prelude.seq` Prelude.rnf autoScalingConfigurationName+      `Prelude.seq` Prelude.rnf autoScalingConfigurationRevision+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf deletedAt+      `Prelude.seq` Prelude.rnf latest+      `Prelude.seq` Prelude.rnf maxConcurrency+      `Prelude.seq` Prelude.rnf maxSize+      `Prelude.seq` Prelude.rnf minSize+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppRunner/Types/AutoScalingConfigurationStatus.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.AppRunner.Types.AutoScalingConfigurationStatus+-- 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.AppRunner.Types.AutoScalingConfigurationStatus+  ( AutoScalingConfigurationStatus+      ( ..,+        AutoScalingConfigurationStatus_ACTIVE,+        AutoScalingConfigurationStatus_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutoScalingConfigurationStatus = AutoScalingConfigurationStatus'+  { fromAutoScalingConfigurationStatus ::+      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 AutoScalingConfigurationStatus_ACTIVE :: AutoScalingConfigurationStatus+pattern AutoScalingConfigurationStatus_ACTIVE = AutoScalingConfigurationStatus' "ACTIVE"++pattern AutoScalingConfigurationStatus_INACTIVE :: AutoScalingConfigurationStatus+pattern AutoScalingConfigurationStatus_INACTIVE = AutoScalingConfigurationStatus' "INACTIVE"++{-# COMPLETE+  AutoScalingConfigurationStatus_ACTIVE,+  AutoScalingConfigurationStatus_INACTIVE,+  AutoScalingConfigurationStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/AutoScalingConfigurationSummary.hs view
@@ -0,0 +1,128 @@+{-# 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.AppRunner.Types.AutoScalingConfigurationSummary+-- 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.AppRunner.Types.AutoScalingConfigurationSummary 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++-- | Provides summary information about an App Runner automatic scaling+-- configuration resource.+--+-- This type contains limited information about an auto scaling+-- configuration. It includes only identification information, without+-- configuration details. It\'s returned by the+-- ListAutoScalingConfigurations action. Complete configuration information+-- is returned by the CreateAutoScalingConfiguration,+-- DescribeAutoScalingConfiguration, and DeleteAutoScalingConfiguration+-- actions using the AutoScalingConfiguration type.+--+-- /See:/ 'newAutoScalingConfigurationSummary' smart constructor.+data AutoScalingConfigurationSummary = AutoScalingConfigurationSummary'+  { -- | The Amazon Resource Name (ARN) of this auto scaling configuration.+    autoScalingConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided auto scaling configuration name. It can be used in+    -- multiple revisions of a configuration.+    autoScalingConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The revision of this auto scaling configuration. It\'s unique among all+    -- the active configurations (@\"Status\": \"ACTIVE\"@) with the same+    -- @AutoScalingConfigurationName@.+    autoScalingConfigurationRevision :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoScalingConfigurationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'autoScalingConfigurationSummary_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of this auto scaling configuration.+--+-- 'autoScalingConfigurationName', 'autoScalingConfigurationSummary_autoScalingConfigurationName' - The customer-provided auto scaling configuration name. It can be used in+-- multiple revisions of a configuration.+--+-- 'autoScalingConfigurationRevision', 'autoScalingConfigurationSummary_autoScalingConfigurationRevision' - The revision of this auto scaling configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) with the same+-- @AutoScalingConfigurationName@.+newAutoScalingConfigurationSummary ::+  AutoScalingConfigurationSummary+newAutoScalingConfigurationSummary =+  AutoScalingConfigurationSummary'+    { autoScalingConfigurationArn =+        Prelude.Nothing,+      autoScalingConfigurationName =+        Prelude.Nothing,+      autoScalingConfigurationRevision =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this auto scaling configuration.+autoScalingConfigurationSummary_autoScalingConfigurationArn :: Lens.Lens' AutoScalingConfigurationSummary (Prelude.Maybe Prelude.Text)+autoScalingConfigurationSummary_autoScalingConfigurationArn = Lens.lens (\AutoScalingConfigurationSummary' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@AutoScalingConfigurationSummary' {} a -> s {autoScalingConfigurationArn = a} :: AutoScalingConfigurationSummary)++-- | The customer-provided auto scaling configuration name. It can be used in+-- multiple revisions of a configuration.+autoScalingConfigurationSummary_autoScalingConfigurationName :: Lens.Lens' AutoScalingConfigurationSummary (Prelude.Maybe Prelude.Text)+autoScalingConfigurationSummary_autoScalingConfigurationName = Lens.lens (\AutoScalingConfigurationSummary' {autoScalingConfigurationName} -> autoScalingConfigurationName) (\s@AutoScalingConfigurationSummary' {} a -> s {autoScalingConfigurationName = a} :: AutoScalingConfigurationSummary)++-- | The revision of this auto scaling configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) with the same+-- @AutoScalingConfigurationName@.+autoScalingConfigurationSummary_autoScalingConfigurationRevision :: Lens.Lens' AutoScalingConfigurationSummary (Prelude.Maybe Prelude.Int)+autoScalingConfigurationSummary_autoScalingConfigurationRevision = Lens.lens (\AutoScalingConfigurationSummary' {autoScalingConfigurationRevision} -> autoScalingConfigurationRevision) (\s@AutoScalingConfigurationSummary' {} a -> s {autoScalingConfigurationRevision = a} :: AutoScalingConfigurationSummary)++instance+  Data.FromJSON+    AutoScalingConfigurationSummary+  where+  parseJSON =+    Data.withObject+      "AutoScalingConfigurationSummary"+      ( \x ->+          AutoScalingConfigurationSummary'+            Prelude.<$> (x Data..:? "AutoScalingConfigurationArn")+            Prelude.<*> (x Data..:? "AutoScalingConfigurationName")+            Prelude.<*> (x Data..:? "AutoScalingConfigurationRevision")+      )++instance+  Prelude.Hashable+    AutoScalingConfigurationSummary+  where+  hashWithSalt+    _salt+    AutoScalingConfigurationSummary' {..} =+      _salt+        `Prelude.hashWithSalt` autoScalingConfigurationArn+        `Prelude.hashWithSalt` autoScalingConfigurationName+        `Prelude.hashWithSalt` autoScalingConfigurationRevision++instance+  Prelude.NFData+    AutoScalingConfigurationSummary+  where+  rnf AutoScalingConfigurationSummary' {..} =+    Prelude.rnf autoScalingConfigurationArn+      `Prelude.seq` Prelude.rnf autoScalingConfigurationName+      `Prelude.seq` Prelude.rnf autoScalingConfigurationRevision
+ gen/Amazonka/AppRunner/Types/CertificateValidationRecord.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.CertificateValidationRecord+-- 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.AppRunner.Types.CertificateValidationRecord where++import Amazonka.AppRunner.Types.CertificateValidationRecordStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a certificate CNAME record to add to your DNS. For more+-- information, see+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_AssociateCustomDomain.html AssociateCustomDomain>.+--+-- /See:/ 'newCertificateValidationRecord' smart constructor.+data CertificateValidationRecord = CertificateValidationRecord'+  { -- | The certificate CNAME record name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The current state of the certificate CNAME record validation. It should+    -- change to @SUCCESS@ after App Runner completes validation with your DNS.+    status :: Prelude.Maybe CertificateValidationRecordStatus,+    -- | The record type, always @CNAME@.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The certificate CNAME record value.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CertificateValidationRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'certificateValidationRecord_name' - The certificate CNAME record name.+--+-- 'status', 'certificateValidationRecord_status' - The current state of the certificate CNAME record validation. It should+-- change to @SUCCESS@ after App Runner completes validation with your DNS.+--+-- 'type'', 'certificateValidationRecord_type' - The record type, always @CNAME@.+--+-- 'value', 'certificateValidationRecord_value' - The certificate CNAME record value.+newCertificateValidationRecord ::+  CertificateValidationRecord+newCertificateValidationRecord =+  CertificateValidationRecord'+    { name =+        Prelude.Nothing,+      status = Prelude.Nothing,+      type' = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The certificate CNAME record name.+certificateValidationRecord_name :: Lens.Lens' CertificateValidationRecord (Prelude.Maybe Prelude.Text)+certificateValidationRecord_name = Lens.lens (\CertificateValidationRecord' {name} -> name) (\s@CertificateValidationRecord' {} a -> s {name = a} :: CertificateValidationRecord)++-- | The current state of the certificate CNAME record validation. It should+-- change to @SUCCESS@ after App Runner completes validation with your DNS.+certificateValidationRecord_status :: Lens.Lens' CertificateValidationRecord (Prelude.Maybe CertificateValidationRecordStatus)+certificateValidationRecord_status = Lens.lens (\CertificateValidationRecord' {status} -> status) (\s@CertificateValidationRecord' {} a -> s {status = a} :: CertificateValidationRecord)++-- | The record type, always @CNAME@.+certificateValidationRecord_type :: Lens.Lens' CertificateValidationRecord (Prelude.Maybe Prelude.Text)+certificateValidationRecord_type = Lens.lens (\CertificateValidationRecord' {type'} -> type') (\s@CertificateValidationRecord' {} a -> s {type' = a} :: CertificateValidationRecord)++-- | The certificate CNAME record value.+certificateValidationRecord_value :: Lens.Lens' CertificateValidationRecord (Prelude.Maybe Prelude.Text)+certificateValidationRecord_value = Lens.lens (\CertificateValidationRecord' {value} -> value) (\s@CertificateValidationRecord' {} a -> s {value = a} :: CertificateValidationRecord)++instance Data.FromJSON CertificateValidationRecord where+  parseJSON =+    Data.withObject+      "CertificateValidationRecord"+      ( \x ->+          CertificateValidationRecord'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable CertificateValidationRecord where+  hashWithSalt _salt CertificateValidationRecord' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData CertificateValidationRecord where+  rnf CertificateValidationRecord' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/AppRunner/Types/CertificateValidationRecordStatus.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.AppRunner.Types.CertificateValidationRecordStatus+-- 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.AppRunner.Types.CertificateValidationRecordStatus+  ( CertificateValidationRecordStatus+      ( ..,+        CertificateValidationRecordStatus_FAILED,+        CertificateValidationRecordStatus_PENDING_VALIDATION,+        CertificateValidationRecordStatus_SUCCESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CertificateValidationRecordStatus = CertificateValidationRecordStatus'+  { fromCertificateValidationRecordStatus ::+      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 CertificateValidationRecordStatus_FAILED :: CertificateValidationRecordStatus+pattern CertificateValidationRecordStatus_FAILED = CertificateValidationRecordStatus' "FAILED"++pattern CertificateValidationRecordStatus_PENDING_VALIDATION :: CertificateValidationRecordStatus+pattern CertificateValidationRecordStatus_PENDING_VALIDATION = CertificateValidationRecordStatus' "PENDING_VALIDATION"++pattern CertificateValidationRecordStatus_SUCCESS :: CertificateValidationRecordStatus+pattern CertificateValidationRecordStatus_SUCCESS = CertificateValidationRecordStatus' "SUCCESS"++{-# COMPLETE+  CertificateValidationRecordStatus_FAILED,+  CertificateValidationRecordStatus_PENDING_VALIDATION,+  CertificateValidationRecordStatus_SUCCESS,+  CertificateValidationRecordStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/CodeConfiguration.hs view
@@ -0,0 +1,137 @@+{-# 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.AppRunner.Types.CodeConfiguration+-- 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.AppRunner.Types.CodeConfiguration where++import Amazonka.AppRunner.Types.CodeConfigurationValues+import Amazonka.AppRunner.Types.ConfigurationSource+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the configuration that App Runner uses to build and run an App+-- Runner service from a source code repository.+--+-- /See:/ 'newCodeConfiguration' smart constructor.+data CodeConfiguration = CodeConfiguration'+  { -- | The basic configuration for building and running the App Runner service.+    -- Use it to quickly launch an App Runner service without providing a+    -- @apprunner.yaml@ file in the source code repository (or ignoring the+    -- file if it exists).+    codeConfigurationValues :: Prelude.Maybe CodeConfigurationValues,+    -- | The source of the App Runner configuration. Values are interpreted as+    -- follows:+    --+    -- -   @REPOSITORY@ – App Runner reads configuration values from the+    --     @apprunner.yaml@ file in the source code repository and ignores+    --     @CodeConfigurationValues@.+    --+    -- -   @API@ – App Runner uses configuration values provided in+    --     @CodeConfigurationValues@ and ignores the @apprunner.yaml@ file in+    --     the source code repository.+    configurationSource :: ConfigurationSource+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CodeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'codeConfigurationValues', 'codeConfiguration_codeConfigurationValues' - The basic configuration for building and running the App Runner service.+-- Use it to quickly launch an App Runner service without providing a+-- @apprunner.yaml@ file in the source code repository (or ignoring the+-- file if it exists).+--+-- 'configurationSource', 'codeConfiguration_configurationSource' - The source of the App Runner configuration. Values are interpreted as+-- follows:+--+-- -   @REPOSITORY@ – App Runner reads configuration values from the+--     @apprunner.yaml@ file in the source code repository and ignores+--     @CodeConfigurationValues@.+--+-- -   @API@ – App Runner uses configuration values provided in+--     @CodeConfigurationValues@ and ignores the @apprunner.yaml@ file in+--     the source code repository.+newCodeConfiguration ::+  -- | 'configurationSource'+  ConfigurationSource ->+  CodeConfiguration+newCodeConfiguration pConfigurationSource_ =+  CodeConfiguration'+    { codeConfigurationValues =+        Prelude.Nothing,+      configurationSource = pConfigurationSource_+    }++-- | The basic configuration for building and running the App Runner service.+-- Use it to quickly launch an App Runner service without providing a+-- @apprunner.yaml@ file in the source code repository (or ignoring the+-- file if it exists).+codeConfiguration_codeConfigurationValues :: Lens.Lens' CodeConfiguration (Prelude.Maybe CodeConfigurationValues)+codeConfiguration_codeConfigurationValues = Lens.lens (\CodeConfiguration' {codeConfigurationValues} -> codeConfigurationValues) (\s@CodeConfiguration' {} a -> s {codeConfigurationValues = a} :: CodeConfiguration)++-- | The source of the App Runner configuration. Values are interpreted as+-- follows:+--+-- -   @REPOSITORY@ – App Runner reads configuration values from the+--     @apprunner.yaml@ file in the source code repository and ignores+--     @CodeConfigurationValues@.+--+-- -   @API@ – App Runner uses configuration values provided in+--     @CodeConfigurationValues@ and ignores the @apprunner.yaml@ file in+--     the source code repository.+codeConfiguration_configurationSource :: Lens.Lens' CodeConfiguration ConfigurationSource+codeConfiguration_configurationSource = Lens.lens (\CodeConfiguration' {configurationSource} -> configurationSource) (\s@CodeConfiguration' {} a -> s {configurationSource = a} :: CodeConfiguration)++instance Data.FromJSON CodeConfiguration where+  parseJSON =+    Data.withObject+      "CodeConfiguration"+      ( \x ->+          CodeConfiguration'+            Prelude.<$> (x Data..:? "CodeConfigurationValues")+            Prelude.<*> (x Data..: "ConfigurationSource")+      )++instance Prelude.Hashable CodeConfiguration where+  hashWithSalt _salt CodeConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` codeConfigurationValues+      `Prelude.hashWithSalt` configurationSource++instance Prelude.NFData CodeConfiguration where+  rnf CodeConfiguration' {..} =+    Prelude.rnf codeConfigurationValues+      `Prelude.seq` Prelude.rnf configurationSource++instance Data.ToJSON CodeConfiguration where+  toJSON CodeConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CodeConfigurationValues" Data..=)+              Prelude.<$> codeConfigurationValues,+            Prelude.Just+              ("ConfigurationSource" Data..= configurationSource)+          ]+      )
+ gen/Amazonka/AppRunner/Types/CodeConfigurationValues.hs view
@@ -0,0 +1,211 @@+{-# 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.AppRunner.Types.CodeConfigurationValues+-- 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.AppRunner.Types.CodeConfigurationValues where++import Amazonka.AppRunner.Types.Runtime+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the basic configuration needed for building and running an App+-- Runner service. This type doesn\'t support the full set of possible+-- configuration options. Fur full configuration capabilities, use a+-- @apprunner.yaml@ file in the source code repository.+--+-- /See:/ 'newCodeConfigurationValues' smart constructor.+data CodeConfigurationValues = CodeConfigurationValues'+  { -- | The command App Runner runs to build your application.+    buildCommand :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The port that your application listens to in the container.+    --+    -- Default: @8080@+    port :: Prelude.Maybe Prelude.Text,+    -- | An array of key-value pairs representing the secrets and parameters that+    -- get referenced to your service as an environment variable. The supported+    -- values are either the full Amazon Resource Name (ARN) of the Secrets+    -- Manager secret or the full ARN of the parameter in the Amazon Web+    -- Services Systems Manager Parameter Store.+    --+    -- -   If the Amazon Web Services Systems Manager Parameter Store parameter+    --     exists in the same Amazon Web Services Region as the service that+    --     you\'re launching, you can use either the full ARN or name of the+    --     secret. If the parameter exists in a different Region, then the full+    --     ARN must be specified.+    --+    -- -   Currently, cross account referencing of Amazon Web Services Systems+    --     Manager Parameter Store parameter is not supported.+    runtimeEnvironmentSecrets :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The environment variables that are available to your running App Runner+    -- service. An array of key-value pairs.+    runtimeEnvironmentVariables :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The command App Runner runs to start your application.+    startCommand :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | A runtime environment type for building and running an App Runner+    -- service. It represents a programming language runtime.+    runtime :: Runtime+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CodeConfigurationValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'buildCommand', 'codeConfigurationValues_buildCommand' - The command App Runner runs to build your application.+--+-- 'port', 'codeConfigurationValues_port' - The port that your application listens to in the container.+--+-- Default: @8080@+--+-- 'runtimeEnvironmentSecrets', 'codeConfigurationValues_runtimeEnvironmentSecrets' - An array of key-value pairs representing the secrets and parameters that+-- get referenced to your service as an environment variable. The supported+-- values are either the full Amazon Resource Name (ARN) of the Secrets+-- Manager secret or the full ARN of the parameter in the Amazon Web+-- Services Systems Manager Parameter Store.+--+-- -   If the Amazon Web Services Systems Manager Parameter Store parameter+--     exists in the same Amazon Web Services Region as the service that+--     you\'re launching, you can use either the full ARN or name of the+--     secret. If the parameter exists in a different Region, then the full+--     ARN must be specified.+--+-- -   Currently, cross account referencing of Amazon Web Services Systems+--     Manager Parameter Store parameter is not supported.+--+-- 'runtimeEnvironmentVariables', 'codeConfigurationValues_runtimeEnvironmentVariables' - The environment variables that are available to your running App Runner+-- service. An array of key-value pairs.+--+-- 'startCommand', 'codeConfigurationValues_startCommand' - The command App Runner runs to start your application.+--+-- 'runtime', 'codeConfigurationValues_runtime' - A runtime environment type for building and running an App Runner+-- service. It represents a programming language runtime.+newCodeConfigurationValues ::+  -- | 'runtime'+  Runtime ->+  CodeConfigurationValues+newCodeConfigurationValues pRuntime_ =+  CodeConfigurationValues'+    { buildCommand =+        Prelude.Nothing,+      port = Prelude.Nothing,+      runtimeEnvironmentSecrets = Prelude.Nothing,+      runtimeEnvironmentVariables = Prelude.Nothing,+      startCommand = Prelude.Nothing,+      runtime = pRuntime_+    }++-- | The command App Runner runs to build your application.+codeConfigurationValues_buildCommand :: Lens.Lens' CodeConfigurationValues (Prelude.Maybe Prelude.Text)+codeConfigurationValues_buildCommand = Lens.lens (\CodeConfigurationValues' {buildCommand} -> buildCommand) (\s@CodeConfigurationValues' {} a -> s {buildCommand = a} :: CodeConfigurationValues) Prelude.. Lens.mapping Data._Sensitive++-- | The port that your application listens to in the container.+--+-- Default: @8080@+codeConfigurationValues_port :: Lens.Lens' CodeConfigurationValues (Prelude.Maybe Prelude.Text)+codeConfigurationValues_port = Lens.lens (\CodeConfigurationValues' {port} -> port) (\s@CodeConfigurationValues' {} a -> s {port = a} :: CodeConfigurationValues)++-- | An array of key-value pairs representing the secrets and parameters that+-- get referenced to your service as an environment variable. The supported+-- values are either the full Amazon Resource Name (ARN) of the Secrets+-- Manager secret or the full ARN of the parameter in the Amazon Web+-- Services Systems Manager Parameter Store.+--+-- -   If the Amazon Web Services Systems Manager Parameter Store parameter+--     exists in the same Amazon Web Services Region as the service that+--     you\'re launching, you can use either the full ARN or name of the+--     secret. If the parameter exists in a different Region, then the full+--     ARN must be specified.+--+-- -   Currently, cross account referencing of Amazon Web Services Systems+--     Manager Parameter Store parameter is not supported.+codeConfigurationValues_runtimeEnvironmentSecrets :: Lens.Lens' CodeConfigurationValues (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+codeConfigurationValues_runtimeEnvironmentSecrets = Lens.lens (\CodeConfigurationValues' {runtimeEnvironmentSecrets} -> runtimeEnvironmentSecrets) (\s@CodeConfigurationValues' {} a -> s {runtimeEnvironmentSecrets = a} :: CodeConfigurationValues) Prelude.. Lens.mapping Lens.coerced++-- | The environment variables that are available to your running App Runner+-- service. An array of key-value pairs.+codeConfigurationValues_runtimeEnvironmentVariables :: Lens.Lens' CodeConfigurationValues (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+codeConfigurationValues_runtimeEnvironmentVariables = Lens.lens (\CodeConfigurationValues' {runtimeEnvironmentVariables} -> runtimeEnvironmentVariables) (\s@CodeConfigurationValues' {} a -> s {runtimeEnvironmentVariables = a} :: CodeConfigurationValues) Prelude.. Lens.mapping Lens.coerced++-- | The command App Runner runs to start your application.+codeConfigurationValues_startCommand :: Lens.Lens' CodeConfigurationValues (Prelude.Maybe Prelude.Text)+codeConfigurationValues_startCommand = Lens.lens (\CodeConfigurationValues' {startCommand} -> startCommand) (\s@CodeConfigurationValues' {} a -> s {startCommand = a} :: CodeConfigurationValues) Prelude.. Lens.mapping Data._Sensitive++-- | A runtime environment type for building and running an App Runner+-- service. It represents a programming language runtime.+codeConfigurationValues_runtime :: Lens.Lens' CodeConfigurationValues Runtime+codeConfigurationValues_runtime = Lens.lens (\CodeConfigurationValues' {runtime} -> runtime) (\s@CodeConfigurationValues' {} a -> s {runtime = a} :: CodeConfigurationValues)++instance Data.FromJSON CodeConfigurationValues where+  parseJSON =+    Data.withObject+      "CodeConfigurationValues"+      ( \x ->+          CodeConfigurationValues'+            Prelude.<$> (x Data..:? "BuildCommand")+            Prelude.<*> (x Data..:? "Port")+            Prelude.<*> ( x+                            Data..:? "RuntimeEnvironmentSecrets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "RuntimeEnvironmentVariables"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "StartCommand")+            Prelude.<*> (x Data..: "Runtime")+      )++instance Prelude.Hashable CodeConfigurationValues where+  hashWithSalt _salt CodeConfigurationValues' {..} =+    _salt+      `Prelude.hashWithSalt` buildCommand+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` runtimeEnvironmentSecrets+      `Prelude.hashWithSalt` runtimeEnvironmentVariables+      `Prelude.hashWithSalt` startCommand+      `Prelude.hashWithSalt` runtime++instance Prelude.NFData CodeConfigurationValues where+  rnf CodeConfigurationValues' {..} =+    Prelude.rnf buildCommand+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf runtimeEnvironmentSecrets+      `Prelude.seq` Prelude.rnf runtimeEnvironmentVariables+      `Prelude.seq` Prelude.rnf startCommand+      `Prelude.seq` Prelude.rnf runtime++instance Data.ToJSON CodeConfigurationValues where+  toJSON CodeConfigurationValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BuildCommand" Data..=) Prelude.<$> buildCommand,+            ("Port" Data..=) Prelude.<$> port,+            ("RuntimeEnvironmentSecrets" Data..=)+              Prelude.<$> runtimeEnvironmentSecrets,+            ("RuntimeEnvironmentVariables" Data..=)+              Prelude.<$> runtimeEnvironmentVariables,+            ("StartCommand" Data..=) Prelude.<$> startCommand,+            Prelude.Just ("Runtime" Data..= runtime)+          ]+      )
+ gen/Amazonka/AppRunner/Types/CodeRepository.hs view
@@ -0,0 +1,124 @@+{-# 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.AppRunner.Types.CodeRepository+-- 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.AppRunner.Types.CodeRepository where++import Amazonka.AppRunner.Types.CodeConfiguration+import Amazonka.AppRunner.Types.SourceCodeVersion+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a source code repository.+--+-- /See:/ 'newCodeRepository' smart constructor.+data CodeRepository = CodeRepository'+  { -- | Configuration for building and running the service from a source code+    -- repository.+    --+    -- @CodeConfiguration@ is required only for @CreateService@ request.+    codeConfiguration :: Prelude.Maybe CodeConfiguration,+    -- | The location of the repository that contains the source code.+    repositoryUrl :: Prelude.Text,+    -- | The version that should be used within the source code repository.+    sourceCodeVersion :: SourceCodeVersion+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CodeRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'codeConfiguration', 'codeRepository_codeConfiguration' - Configuration for building and running the service from a source code+-- repository.+--+-- @CodeConfiguration@ is required only for @CreateService@ request.+--+-- 'repositoryUrl', 'codeRepository_repositoryUrl' - The location of the repository that contains the source code.+--+-- 'sourceCodeVersion', 'codeRepository_sourceCodeVersion' - The version that should be used within the source code repository.+newCodeRepository ::+  -- | 'repositoryUrl'+  Prelude.Text ->+  -- | 'sourceCodeVersion'+  SourceCodeVersion ->+  CodeRepository+newCodeRepository pRepositoryUrl_ pSourceCodeVersion_ =+  CodeRepository'+    { codeConfiguration =+        Prelude.Nothing,+      repositoryUrl = pRepositoryUrl_,+      sourceCodeVersion = pSourceCodeVersion_+    }++-- | Configuration for building and running the service from a source code+-- repository.+--+-- @CodeConfiguration@ is required only for @CreateService@ request.+codeRepository_codeConfiguration :: Lens.Lens' CodeRepository (Prelude.Maybe CodeConfiguration)+codeRepository_codeConfiguration = Lens.lens (\CodeRepository' {codeConfiguration} -> codeConfiguration) (\s@CodeRepository' {} a -> s {codeConfiguration = a} :: CodeRepository)++-- | The location of the repository that contains the source code.+codeRepository_repositoryUrl :: Lens.Lens' CodeRepository Prelude.Text+codeRepository_repositoryUrl = Lens.lens (\CodeRepository' {repositoryUrl} -> repositoryUrl) (\s@CodeRepository' {} a -> s {repositoryUrl = a} :: CodeRepository)++-- | The version that should be used within the source code repository.+codeRepository_sourceCodeVersion :: Lens.Lens' CodeRepository SourceCodeVersion+codeRepository_sourceCodeVersion = Lens.lens (\CodeRepository' {sourceCodeVersion} -> sourceCodeVersion) (\s@CodeRepository' {} a -> s {sourceCodeVersion = a} :: CodeRepository)++instance Data.FromJSON CodeRepository where+  parseJSON =+    Data.withObject+      "CodeRepository"+      ( \x ->+          CodeRepository'+            Prelude.<$> (x Data..:? "CodeConfiguration")+            Prelude.<*> (x Data..: "RepositoryUrl")+            Prelude.<*> (x Data..: "SourceCodeVersion")+      )++instance Prelude.Hashable CodeRepository where+  hashWithSalt _salt CodeRepository' {..} =+    _salt+      `Prelude.hashWithSalt` codeConfiguration+      `Prelude.hashWithSalt` repositoryUrl+      `Prelude.hashWithSalt` sourceCodeVersion++instance Prelude.NFData CodeRepository where+  rnf CodeRepository' {..} =+    Prelude.rnf codeConfiguration+      `Prelude.seq` Prelude.rnf repositoryUrl+      `Prelude.seq` Prelude.rnf sourceCodeVersion++instance Data.ToJSON CodeRepository where+  toJSON CodeRepository' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CodeConfiguration" Data..=)+              Prelude.<$> codeConfiguration,+            Prelude.Just ("RepositoryUrl" Data..= repositoryUrl),+            Prelude.Just+              ("SourceCodeVersion" Data..= sourceCodeVersion)+          ]+      )
+ gen/Amazonka/AppRunner/Types/ConfigurationSource.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.AppRunner.Types.ConfigurationSource+-- 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.AppRunner.Types.ConfigurationSource+  ( ConfigurationSource+      ( ..,+        ConfigurationSource_API,+        ConfigurationSource_REPOSITORY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConfigurationSource = ConfigurationSource'+  { fromConfigurationSource ::+      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 ConfigurationSource_API :: ConfigurationSource+pattern ConfigurationSource_API = ConfigurationSource' "API"++pattern ConfigurationSource_REPOSITORY :: ConfigurationSource+pattern ConfigurationSource_REPOSITORY = ConfigurationSource' "REPOSITORY"++{-# COMPLETE+  ConfigurationSource_API,+  ConfigurationSource_REPOSITORY,+  ConfigurationSource'+  #-}
+ gen/Amazonka/AppRunner/Types/Connection.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.Connection+-- 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.AppRunner.Types.Connection where++import Amazonka.AppRunner.Types.ConnectionStatus+import Amazonka.AppRunner.Types.ProviderType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an App Runner connection resource.+--+-- /See:/ 'newConnection' smart constructor.+data Connection = Connection'+  { -- | The Amazon Resource Name (ARN) of this connection.+    connectionArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided connection name.+    connectionName :: Prelude.Maybe Prelude.Text,+    -- | The App Runner connection creation time, expressed as a Unix time stamp.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The source repository provider.+    providerType :: Prelude.Maybe ProviderType,+    -- | The current state of the App Runner connection. When the state is+    -- @AVAILABLE@, you can use the connection to create an App Runner service.+    status :: Prelude.Maybe ConnectionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Connection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionArn', 'connection_connectionArn' - The Amazon Resource Name (ARN) of this connection.+--+-- 'connectionName', 'connection_connectionName' - The customer-provided connection name.+--+-- 'createdAt', 'connection_createdAt' - The App Runner connection creation time, expressed as a Unix time stamp.+--+-- 'providerType', 'connection_providerType' - The source repository provider.+--+-- 'status', 'connection_status' - The current state of the App Runner connection. When the state is+-- @AVAILABLE@, you can use the connection to create an App Runner service.+newConnection ::+  Connection+newConnection =+  Connection'+    { connectionArn = Prelude.Nothing,+      connectionName = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      providerType = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this connection.+connection_connectionArn :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectionArn = Lens.lens (\Connection' {connectionArn} -> connectionArn) (\s@Connection' {} a -> s {connectionArn = a} :: Connection)++-- | The customer-provided connection name.+connection_connectionName :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectionName = Lens.lens (\Connection' {connectionName} -> connectionName) (\s@Connection' {} a -> s {connectionName = a} :: Connection)++-- | The App Runner connection creation time, expressed as a Unix time stamp.+connection_createdAt :: Lens.Lens' Connection (Prelude.Maybe Prelude.UTCTime)+connection_createdAt = Lens.lens (\Connection' {createdAt} -> createdAt) (\s@Connection' {} a -> s {createdAt = a} :: Connection) Prelude.. Lens.mapping Data._Time++-- | The source repository provider.+connection_providerType :: Lens.Lens' Connection (Prelude.Maybe ProviderType)+connection_providerType = Lens.lens (\Connection' {providerType} -> providerType) (\s@Connection' {} a -> s {providerType = a} :: Connection)++-- | The current state of the App Runner connection. When the state is+-- @AVAILABLE@, you can use the connection to create an App Runner service.+connection_status :: Lens.Lens' Connection (Prelude.Maybe ConnectionStatus)+connection_status = Lens.lens (\Connection' {status} -> status) (\s@Connection' {} a -> s {status = a} :: Connection)++instance Data.FromJSON Connection where+  parseJSON =+    Data.withObject+      "Connection"+      ( \x ->+          Connection'+            Prelude.<$> (x Data..:? "ConnectionArn")+            Prelude.<*> (x Data..:? "ConnectionName")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "ProviderType")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable Connection where+  hashWithSalt _salt Connection' {..} =+    _salt+      `Prelude.hashWithSalt` connectionArn+      `Prelude.hashWithSalt` connectionName+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` providerType+      `Prelude.hashWithSalt` status++instance Prelude.NFData Connection where+  rnf Connection' {..} =+    Prelude.rnf connectionArn+      `Prelude.seq` Prelude.rnf connectionName+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf providerType+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppRunner/Types/ConnectionStatus.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.AppRunner.Types.ConnectionStatus+-- 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.AppRunner.Types.ConnectionStatus+  ( ConnectionStatus+      ( ..,+        ConnectionStatus_AVAILABLE,+        ConnectionStatus_DELETED,+        ConnectionStatus_ERROR,+        ConnectionStatus_PENDING_HANDSHAKE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionStatus = ConnectionStatus'+  { fromConnectionStatus ::+      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 ConnectionStatus_AVAILABLE :: ConnectionStatus+pattern ConnectionStatus_AVAILABLE = ConnectionStatus' "AVAILABLE"++pattern ConnectionStatus_DELETED :: ConnectionStatus+pattern ConnectionStatus_DELETED = ConnectionStatus' "DELETED"++pattern ConnectionStatus_ERROR :: ConnectionStatus+pattern ConnectionStatus_ERROR = ConnectionStatus' "ERROR"++pattern ConnectionStatus_PENDING_HANDSHAKE :: ConnectionStatus+pattern ConnectionStatus_PENDING_HANDSHAKE = ConnectionStatus' "PENDING_HANDSHAKE"++{-# COMPLETE+  ConnectionStatus_AVAILABLE,+  ConnectionStatus_DELETED,+  ConnectionStatus_ERROR,+  ConnectionStatus_PENDING_HANDSHAKE,+  ConnectionStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/ConnectionSummary.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.ConnectionSummary+-- 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.AppRunner.Types.ConnectionSummary where++import Amazonka.AppRunner.Types.ConnectionStatus+import Amazonka.AppRunner.Types.ProviderType+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++-- | Provides summary information about an App Runner connection resource.+--+-- /See:/ 'newConnectionSummary' smart constructor.+data ConnectionSummary = ConnectionSummary'+  { -- | The Amazon Resource Name (ARN) of this connection.+    connectionArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided connection name.+    connectionName :: Prelude.Maybe Prelude.Text,+    -- | The App Runner connection creation time, expressed as a Unix time stamp.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The source repository provider.+    providerType :: Prelude.Maybe ProviderType,+    -- | The current state of the App Runner connection. When the state is+    -- @AVAILABLE@, you can use the connection to create an App Runner service.+    status :: Prelude.Maybe ConnectionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionArn', 'connectionSummary_connectionArn' - The Amazon Resource Name (ARN) of this connection.+--+-- 'connectionName', 'connectionSummary_connectionName' - The customer-provided connection name.+--+-- 'createdAt', 'connectionSummary_createdAt' - The App Runner connection creation time, expressed as a Unix time stamp.+--+-- 'providerType', 'connectionSummary_providerType' - The source repository provider.+--+-- 'status', 'connectionSummary_status' - The current state of the App Runner connection. When the state is+-- @AVAILABLE@, you can use the connection to create an App Runner service.+newConnectionSummary ::+  ConnectionSummary+newConnectionSummary =+  ConnectionSummary'+    { connectionArn = Prelude.Nothing,+      connectionName = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      providerType = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this connection.+connectionSummary_connectionArn :: Lens.Lens' ConnectionSummary (Prelude.Maybe Prelude.Text)+connectionSummary_connectionArn = Lens.lens (\ConnectionSummary' {connectionArn} -> connectionArn) (\s@ConnectionSummary' {} a -> s {connectionArn = a} :: ConnectionSummary)++-- | The customer-provided connection name.+connectionSummary_connectionName :: Lens.Lens' ConnectionSummary (Prelude.Maybe Prelude.Text)+connectionSummary_connectionName = Lens.lens (\ConnectionSummary' {connectionName} -> connectionName) (\s@ConnectionSummary' {} a -> s {connectionName = a} :: ConnectionSummary)++-- | The App Runner connection creation time, expressed as a Unix time stamp.+connectionSummary_createdAt :: Lens.Lens' ConnectionSummary (Prelude.Maybe Prelude.UTCTime)+connectionSummary_createdAt = Lens.lens (\ConnectionSummary' {createdAt} -> createdAt) (\s@ConnectionSummary' {} a -> s {createdAt = a} :: ConnectionSummary) Prelude.. Lens.mapping Data._Time++-- | The source repository provider.+connectionSummary_providerType :: Lens.Lens' ConnectionSummary (Prelude.Maybe ProviderType)+connectionSummary_providerType = Lens.lens (\ConnectionSummary' {providerType} -> providerType) (\s@ConnectionSummary' {} a -> s {providerType = a} :: ConnectionSummary)++-- | The current state of the App Runner connection. When the state is+-- @AVAILABLE@, you can use the connection to create an App Runner service.+connectionSummary_status :: Lens.Lens' ConnectionSummary (Prelude.Maybe ConnectionStatus)+connectionSummary_status = Lens.lens (\ConnectionSummary' {status} -> status) (\s@ConnectionSummary' {} a -> s {status = a} :: ConnectionSummary)++instance Data.FromJSON ConnectionSummary where+  parseJSON =+    Data.withObject+      "ConnectionSummary"+      ( \x ->+          ConnectionSummary'+            Prelude.<$> (x Data..:? "ConnectionArn")+            Prelude.<*> (x Data..:? "ConnectionName")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "ProviderType")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ConnectionSummary where+  hashWithSalt _salt ConnectionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` connectionArn+      `Prelude.hashWithSalt` connectionName+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` providerType+      `Prelude.hashWithSalt` status++instance Prelude.NFData ConnectionSummary where+  rnf ConnectionSummary' {..} =+    Prelude.rnf connectionArn+      `Prelude.seq` Prelude.rnf connectionName+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf providerType+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppRunner/Types/CustomDomain.hs view
@@ -0,0 +1,135 @@+{-# 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.AppRunner.Types.CustomDomain+-- 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.AppRunner.Types.CustomDomain where++import Amazonka.AppRunner.Types.CertificateValidationRecord+import Amazonka.AppRunner.Types.CustomDomainAssociationStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a custom domain that\'s associated with an App Runner service.+--+-- /See:/ 'newCustomDomain' smart constructor.+data CustomDomain = CustomDomain'+  { -- | A list of certificate CNAME records that\'s used for this domain name.+    certificateValidationRecords :: Prelude.Maybe [CertificateValidationRecord],+    -- | An associated custom domain endpoint. It can be a root domain (for+    -- example, @example.com@), a subdomain (for example, @login.example.com@+    -- or @admin.login.example.com@), or a wildcard (for example,+    -- @*.example.com@).+    domainName :: Prelude.Text,+    -- | When @true@, the subdomain @www.@/@DomainName@/@ @ is associated with+    -- the App Runner service in addition to the base domain.+    enableWWWSubdomain :: Prelude.Bool,+    -- | The current state of the domain name association.+    status :: CustomDomainAssociationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomDomain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificateValidationRecords', 'customDomain_certificateValidationRecords' - A list of certificate CNAME records that\'s used for this domain name.+--+-- 'domainName', 'customDomain_domainName' - An associated custom domain endpoint. It can be a root domain (for+-- example, @example.com@), a subdomain (for example, @login.example.com@+-- or @admin.login.example.com@), or a wildcard (for example,+-- @*.example.com@).+--+-- 'enableWWWSubdomain', 'customDomain_enableWWWSubdomain' - When @true@, the subdomain @www.@/@DomainName@/@ @ is associated with+-- the App Runner service in addition to the base domain.+--+-- 'status', 'customDomain_status' - The current state of the domain name association.+newCustomDomain ::+  -- | 'domainName'+  Prelude.Text ->+  -- | 'enableWWWSubdomain'+  Prelude.Bool ->+  -- | 'status'+  CustomDomainAssociationStatus ->+  CustomDomain+newCustomDomain+  pDomainName_+  pEnableWWWSubdomain_+  pStatus_ =+    CustomDomain'+      { certificateValidationRecords =+          Prelude.Nothing,+        domainName = pDomainName_,+        enableWWWSubdomain = pEnableWWWSubdomain_,+        status = pStatus_+      }++-- | A list of certificate CNAME records that\'s used for this domain name.+customDomain_certificateValidationRecords :: Lens.Lens' CustomDomain (Prelude.Maybe [CertificateValidationRecord])+customDomain_certificateValidationRecords = Lens.lens (\CustomDomain' {certificateValidationRecords} -> certificateValidationRecords) (\s@CustomDomain' {} a -> s {certificateValidationRecords = a} :: CustomDomain) Prelude.. Lens.mapping Lens.coerced++-- | An associated custom domain endpoint. It can be a root domain (for+-- example, @example.com@), a subdomain (for example, @login.example.com@+-- or @admin.login.example.com@), or a wildcard (for example,+-- @*.example.com@).+customDomain_domainName :: Lens.Lens' CustomDomain Prelude.Text+customDomain_domainName = Lens.lens (\CustomDomain' {domainName} -> domainName) (\s@CustomDomain' {} a -> s {domainName = a} :: CustomDomain)++-- | When @true@, the subdomain @www.@/@DomainName@/@ @ is associated with+-- the App Runner service in addition to the base domain.+customDomain_enableWWWSubdomain :: Lens.Lens' CustomDomain Prelude.Bool+customDomain_enableWWWSubdomain = Lens.lens (\CustomDomain' {enableWWWSubdomain} -> enableWWWSubdomain) (\s@CustomDomain' {} a -> s {enableWWWSubdomain = a} :: CustomDomain)++-- | The current state of the domain name association.+customDomain_status :: Lens.Lens' CustomDomain CustomDomainAssociationStatus+customDomain_status = Lens.lens (\CustomDomain' {status} -> status) (\s@CustomDomain' {} a -> s {status = a} :: CustomDomain)++instance Data.FromJSON CustomDomain where+  parseJSON =+    Data.withObject+      "CustomDomain"+      ( \x ->+          CustomDomain'+            Prelude.<$> ( x+                            Data..:? "CertificateValidationRecords"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "DomainName")+            Prelude.<*> (x Data..: "EnableWWWSubdomain")+            Prelude.<*> (x Data..: "Status")+      )++instance Prelude.Hashable CustomDomain where+  hashWithSalt _salt CustomDomain' {..} =+    _salt+      `Prelude.hashWithSalt` certificateValidationRecords+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` enableWWWSubdomain+      `Prelude.hashWithSalt` status++instance Prelude.NFData CustomDomain where+  rnf CustomDomain' {..} =+    Prelude.rnf certificateValidationRecords+      `Prelude.seq` Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf enableWWWSubdomain+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppRunner/Types/CustomDomainAssociationStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.CustomDomainAssociationStatus+-- 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.AppRunner.Types.CustomDomainAssociationStatus+  ( CustomDomainAssociationStatus+      ( ..,+        CustomDomainAssociationStatus_ACTIVE,+        CustomDomainAssociationStatus_BINDING_CERTIFICATE,+        CustomDomainAssociationStatus_CREATE_FAILED,+        CustomDomainAssociationStatus_CREATING,+        CustomDomainAssociationStatus_DELETE_FAILED,+        CustomDomainAssociationStatus_DELETING,+        CustomDomainAssociationStatus_PENDING_CERTIFICATE_DNS_VALIDATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomDomainAssociationStatus = CustomDomainAssociationStatus'+  { fromCustomDomainAssociationStatus ::+      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 CustomDomainAssociationStatus_ACTIVE :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_ACTIVE = CustomDomainAssociationStatus' "ACTIVE"++pattern CustomDomainAssociationStatus_BINDING_CERTIFICATE :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_BINDING_CERTIFICATE = CustomDomainAssociationStatus' "BINDING_CERTIFICATE"++pattern CustomDomainAssociationStatus_CREATE_FAILED :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_CREATE_FAILED = CustomDomainAssociationStatus' "CREATE_FAILED"++pattern CustomDomainAssociationStatus_CREATING :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_CREATING = CustomDomainAssociationStatus' "CREATING"++pattern CustomDomainAssociationStatus_DELETE_FAILED :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_DELETE_FAILED = CustomDomainAssociationStatus' "DELETE_FAILED"++pattern CustomDomainAssociationStatus_DELETING :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_DELETING = CustomDomainAssociationStatus' "DELETING"++pattern CustomDomainAssociationStatus_PENDING_CERTIFICATE_DNS_VALIDATION :: CustomDomainAssociationStatus+pattern CustomDomainAssociationStatus_PENDING_CERTIFICATE_DNS_VALIDATION = CustomDomainAssociationStatus' "PENDING_CERTIFICATE_DNS_VALIDATION"++{-# COMPLETE+  CustomDomainAssociationStatus_ACTIVE,+  CustomDomainAssociationStatus_BINDING_CERTIFICATE,+  CustomDomainAssociationStatus_CREATE_FAILED,+  CustomDomainAssociationStatus_CREATING,+  CustomDomainAssociationStatus_DELETE_FAILED,+  CustomDomainAssociationStatus_DELETING,+  CustomDomainAssociationStatus_PENDING_CERTIFICATE_DNS_VALIDATION,+  CustomDomainAssociationStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/EgressConfiguration.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.EgressConfiguration+-- 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.AppRunner.Types.EgressConfiguration where++import Amazonka.AppRunner.Types.EgressType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes configuration settings related to outbound network traffic of+-- an App Runner service.+--+-- /See:/ 'newEgressConfiguration' smart constructor.+data EgressConfiguration = EgressConfiguration'+  { -- | The type of egress configuration.+    --+    -- Set to @DEFAULT@ for access to resources hosted on public networks.+    --+    -- Set to @VPC@ to associate your service to a custom VPC specified by+    -- @VpcConnectorArn@.+    egressType :: Prelude.Maybe EgressType,+    -- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+    -- want to associate with your App Runner service. Only valid when+    -- @EgressType = VPC@.+    vpcConnectorArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EgressConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'egressType', 'egressConfiguration_egressType' - The type of egress configuration.+--+-- Set to @DEFAULT@ for access to resources hosted on public networks.+--+-- Set to @VPC@ to associate your service to a custom VPC specified by+-- @VpcConnectorArn@.+--+-- 'vpcConnectorArn', 'egressConfiguration_vpcConnectorArn' - The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want to associate with your App Runner service. Only valid when+-- @EgressType = VPC@.+newEgressConfiguration ::+  EgressConfiguration+newEgressConfiguration =+  EgressConfiguration'+    { egressType = Prelude.Nothing,+      vpcConnectorArn = Prelude.Nothing+    }++-- | The type of egress configuration.+--+-- Set to @DEFAULT@ for access to resources hosted on public networks.+--+-- Set to @VPC@ to associate your service to a custom VPC specified by+-- @VpcConnectorArn@.+egressConfiguration_egressType :: Lens.Lens' EgressConfiguration (Prelude.Maybe EgressType)+egressConfiguration_egressType = Lens.lens (\EgressConfiguration' {egressType} -> egressType) (\s@EgressConfiguration' {} a -> s {egressType = a} :: EgressConfiguration)++-- | The Amazon Resource Name (ARN) of the App Runner VPC connector that you+-- want to associate with your App Runner service. Only valid when+-- @EgressType = VPC@.+egressConfiguration_vpcConnectorArn :: Lens.Lens' EgressConfiguration (Prelude.Maybe Prelude.Text)+egressConfiguration_vpcConnectorArn = Lens.lens (\EgressConfiguration' {vpcConnectorArn} -> vpcConnectorArn) (\s@EgressConfiguration' {} a -> s {vpcConnectorArn = a} :: EgressConfiguration)++instance Data.FromJSON EgressConfiguration where+  parseJSON =+    Data.withObject+      "EgressConfiguration"+      ( \x ->+          EgressConfiguration'+            Prelude.<$> (x Data..:? "EgressType")+            Prelude.<*> (x Data..:? "VpcConnectorArn")+      )++instance Prelude.Hashable EgressConfiguration where+  hashWithSalt _salt EgressConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` egressType+      `Prelude.hashWithSalt` vpcConnectorArn++instance Prelude.NFData EgressConfiguration where+  rnf EgressConfiguration' {..} =+    Prelude.rnf egressType+      `Prelude.seq` Prelude.rnf vpcConnectorArn++instance Data.ToJSON EgressConfiguration where+  toJSON EgressConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EgressType" Data..=) Prelude.<$> egressType,+            ("VpcConnectorArn" Data..=)+              Prelude.<$> vpcConnectorArn+          ]+      )
+ gen/Amazonka/AppRunner/Types/EgressType.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.AppRunner.Types.EgressType+-- 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.AppRunner.Types.EgressType+  ( EgressType+      ( ..,+        EgressType_DEFAULT,+        EgressType_VPC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EgressType = EgressType'+  { fromEgressType ::+      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 EgressType_DEFAULT :: EgressType+pattern EgressType_DEFAULT = EgressType' "DEFAULT"++pattern EgressType_VPC :: EgressType+pattern EgressType_VPC = EgressType' "VPC"++{-# COMPLETE+  EgressType_DEFAULT,+  EgressType_VPC,+  EgressType'+  #-}
+ gen/Amazonka/AppRunner/Types/EncryptionConfiguration.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.AppRunner.Types.EncryptionConfiguration+-- 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.AppRunner.Types.EncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a custom encryption key that App Runner uses to encrypt copies+-- of the source repository and service logs.+--+-- /See:/ 'newEncryptionConfiguration' smart constructor.+data EncryptionConfiguration = EncryptionConfiguration'+  { -- | The ARN of the KMS key that\'s used for encryption.+    kmsKey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKey', 'encryptionConfiguration_kmsKey' - The ARN of the KMS key that\'s used for encryption.+newEncryptionConfiguration ::+  -- | 'kmsKey'+  Prelude.Text ->+  EncryptionConfiguration+newEncryptionConfiguration pKmsKey_ =+  EncryptionConfiguration' {kmsKey = pKmsKey_}++-- | The ARN of the KMS key that\'s used for encryption.+encryptionConfiguration_kmsKey :: Lens.Lens' EncryptionConfiguration Prelude.Text+encryptionConfiguration_kmsKey = Lens.lens (\EncryptionConfiguration' {kmsKey} -> kmsKey) (\s@EncryptionConfiguration' {} a -> s {kmsKey = a} :: EncryptionConfiguration)++instance Data.FromJSON EncryptionConfiguration where+  parseJSON =+    Data.withObject+      "EncryptionConfiguration"+      ( \x ->+          EncryptionConfiguration'+            Prelude.<$> (x Data..: "KmsKey")+      )++instance Prelude.Hashable EncryptionConfiguration where+  hashWithSalt _salt EncryptionConfiguration' {..} =+    _salt `Prelude.hashWithSalt` kmsKey++instance Prelude.NFData EncryptionConfiguration where+  rnf EncryptionConfiguration' {..} = Prelude.rnf kmsKey++instance Data.ToJSON EncryptionConfiguration where+  toJSON EncryptionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("KmsKey" Data..= kmsKey)]+      )
+ gen/Amazonka/AppRunner/Types/HealthCheckConfiguration.hs view
@@ -0,0 +1,213 @@+{-# 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.AppRunner.Types.HealthCheckConfiguration+-- 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.AppRunner.Types.HealthCheckConfiguration where++import Amazonka.AppRunner.Types.HealthCheckProtocol+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the settings for the health check that App Runner performs to+-- monitor the health of a service.+--+-- /See:/ 'newHealthCheckConfiguration' smart constructor.+data HealthCheckConfiguration = HealthCheckConfiguration'+  { -- | The number of consecutive checks that must succeed before App Runner+    -- decides that the service is healthy.+    --+    -- Default: @1@+    healthyThreshold :: Prelude.Maybe Prelude.Natural,+    -- | The time interval, in seconds, between health checks.+    --+    -- Default: @5@+    interval :: Prelude.Maybe Prelude.Natural,+    -- | The URL that health check requests are sent to.+    --+    -- @Path@ is only applicable when you set @Protocol@ to @HTTP@.+    --+    -- Default: @\"\/\"@+    path :: Prelude.Maybe Prelude.Text,+    -- | The IP protocol that App Runner uses to perform health checks for your+    -- service.+    --+    -- If you set @Protocol@ to @HTTP@, App Runner sends health check requests+    -- to the HTTP path specified by @Path@.+    --+    -- Default: @TCP@+    protocol :: Prelude.Maybe HealthCheckProtocol,+    -- | The time, in seconds, to wait for a health check response before+    -- deciding it failed.+    --+    -- Default: @2@+    timeout :: Prelude.Maybe Prelude.Natural,+    -- | The number of consecutive checks that must fail before App Runner+    -- decides that the service is unhealthy.+    --+    -- Default: @5@+    unhealthyThreshold :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HealthCheckConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'healthyThreshold', 'healthCheckConfiguration_healthyThreshold' - The number of consecutive checks that must succeed before App Runner+-- decides that the service is healthy.+--+-- Default: @1@+--+-- 'interval', 'healthCheckConfiguration_interval' - The time interval, in seconds, between health checks.+--+-- Default: @5@+--+-- 'path', 'healthCheckConfiguration_path' - The URL that health check requests are sent to.+--+-- @Path@ is only applicable when you set @Protocol@ to @HTTP@.+--+-- Default: @\"\/\"@+--+-- 'protocol', 'healthCheckConfiguration_protocol' - The IP protocol that App Runner uses to perform health checks for your+-- service.+--+-- If you set @Protocol@ to @HTTP@, App Runner sends health check requests+-- to the HTTP path specified by @Path@.+--+-- Default: @TCP@+--+-- 'timeout', 'healthCheckConfiguration_timeout' - The time, in seconds, to wait for a health check response before+-- deciding it failed.+--+-- Default: @2@+--+-- 'unhealthyThreshold', 'healthCheckConfiguration_unhealthyThreshold' - The number of consecutive checks that must fail before App Runner+-- decides that the service is unhealthy.+--+-- Default: @5@+newHealthCheckConfiguration ::+  HealthCheckConfiguration+newHealthCheckConfiguration =+  HealthCheckConfiguration'+    { healthyThreshold =+        Prelude.Nothing,+      interval = Prelude.Nothing,+      path = Prelude.Nothing,+      protocol = Prelude.Nothing,+      timeout = Prelude.Nothing,+      unhealthyThreshold = Prelude.Nothing+    }++-- | The number of consecutive checks that must succeed before App Runner+-- decides that the service is healthy.+--+-- Default: @1@+healthCheckConfiguration_healthyThreshold :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe Prelude.Natural)+healthCheckConfiguration_healthyThreshold = Lens.lens (\HealthCheckConfiguration' {healthyThreshold} -> healthyThreshold) (\s@HealthCheckConfiguration' {} a -> s {healthyThreshold = a} :: HealthCheckConfiguration)++-- | The time interval, in seconds, between health checks.+--+-- Default: @5@+healthCheckConfiguration_interval :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe Prelude.Natural)+healthCheckConfiguration_interval = Lens.lens (\HealthCheckConfiguration' {interval} -> interval) (\s@HealthCheckConfiguration' {} a -> s {interval = a} :: HealthCheckConfiguration)++-- | The URL that health check requests are sent to.+--+-- @Path@ is only applicable when you set @Protocol@ to @HTTP@.+--+-- Default: @\"\/\"@+healthCheckConfiguration_path :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe Prelude.Text)+healthCheckConfiguration_path = Lens.lens (\HealthCheckConfiguration' {path} -> path) (\s@HealthCheckConfiguration' {} a -> s {path = a} :: HealthCheckConfiguration)++-- | The IP protocol that App Runner uses to perform health checks for your+-- service.+--+-- If you set @Protocol@ to @HTTP@, App Runner sends health check requests+-- to the HTTP path specified by @Path@.+--+-- Default: @TCP@+healthCheckConfiguration_protocol :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe HealthCheckProtocol)+healthCheckConfiguration_protocol = Lens.lens (\HealthCheckConfiguration' {protocol} -> protocol) (\s@HealthCheckConfiguration' {} a -> s {protocol = a} :: HealthCheckConfiguration)++-- | The time, in seconds, to wait for a health check response before+-- deciding it failed.+--+-- Default: @2@+healthCheckConfiguration_timeout :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe Prelude.Natural)+healthCheckConfiguration_timeout = Lens.lens (\HealthCheckConfiguration' {timeout} -> timeout) (\s@HealthCheckConfiguration' {} a -> s {timeout = a} :: HealthCheckConfiguration)++-- | The number of consecutive checks that must fail before App Runner+-- decides that the service is unhealthy.+--+-- Default: @5@+healthCheckConfiguration_unhealthyThreshold :: Lens.Lens' HealthCheckConfiguration (Prelude.Maybe Prelude.Natural)+healthCheckConfiguration_unhealthyThreshold = Lens.lens (\HealthCheckConfiguration' {unhealthyThreshold} -> unhealthyThreshold) (\s@HealthCheckConfiguration' {} a -> s {unhealthyThreshold = a} :: HealthCheckConfiguration)++instance Data.FromJSON HealthCheckConfiguration where+  parseJSON =+    Data.withObject+      "HealthCheckConfiguration"+      ( \x ->+          HealthCheckConfiguration'+            Prelude.<$> (x Data..:? "HealthyThreshold")+            Prelude.<*> (x Data..:? "Interval")+            Prelude.<*> (x Data..:? "Path")+            Prelude.<*> (x Data..:? "Protocol")+            Prelude.<*> (x Data..:? "Timeout")+            Prelude.<*> (x Data..:? "UnhealthyThreshold")+      )++instance Prelude.Hashable HealthCheckConfiguration where+  hashWithSalt _salt HealthCheckConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` healthyThreshold+      `Prelude.hashWithSalt` interval+      `Prelude.hashWithSalt` path+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` timeout+      `Prelude.hashWithSalt` unhealthyThreshold++instance Prelude.NFData HealthCheckConfiguration where+  rnf HealthCheckConfiguration' {..} =+    Prelude.rnf healthyThreshold+      `Prelude.seq` Prelude.rnf interval+      `Prelude.seq` Prelude.rnf path+      `Prelude.seq` Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf timeout+      `Prelude.seq` Prelude.rnf unhealthyThreshold++instance Data.ToJSON HealthCheckConfiguration where+  toJSON HealthCheckConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HealthyThreshold" Data..=)+              Prelude.<$> healthyThreshold,+            ("Interval" Data..=) Prelude.<$> interval,+            ("Path" Data..=) Prelude.<$> path,+            ("Protocol" Data..=) Prelude.<$> protocol,+            ("Timeout" Data..=) Prelude.<$> timeout,+            ("UnhealthyThreshold" Data..=)+              Prelude.<$> unhealthyThreshold+          ]+      )
+ gen/Amazonka/AppRunner/Types/HealthCheckProtocol.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.AppRunner.Types.HealthCheckProtocol+-- 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.AppRunner.Types.HealthCheckProtocol+  ( HealthCheckProtocol+      ( ..,+        HealthCheckProtocol_HTTP,+        HealthCheckProtocol_TCP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HealthCheckProtocol = HealthCheckProtocol'+  { fromHealthCheckProtocol ::+      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 HealthCheckProtocol_HTTP :: HealthCheckProtocol+pattern HealthCheckProtocol_HTTP = HealthCheckProtocol' "HTTP"++pattern HealthCheckProtocol_TCP :: HealthCheckProtocol+pattern HealthCheckProtocol_TCP = HealthCheckProtocol' "TCP"++{-# COMPLETE+  HealthCheckProtocol_HTTP,+  HealthCheckProtocol_TCP,+  HealthCheckProtocol'+  #-}
+ gen/Amazonka/AppRunner/Types/ImageConfiguration.hs view
@@ -0,0 +1,182 @@+{-# 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.AppRunner.Types.ImageConfiguration+-- 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.AppRunner.Types.ImageConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the configuration that App Runner uses to run an App Runner+-- service using an image pulled from a source image repository.+--+-- /See:/ 'newImageConfiguration' smart constructor.+data ImageConfiguration = ImageConfiguration'+  { -- | The port that your application listens to in the container.+    --+    -- Default: @8080@+    port :: Prelude.Maybe Prelude.Text,+    -- | An array of key-value pairs representing the secrets and parameters that+    -- get referenced to your service as an environment variable. The supported+    -- values are either the full Amazon Resource Name (ARN) of the Secrets+    -- Manager secret or the full ARN of the parameter in the Amazon Web+    -- Services Systems Manager Parameter Store.+    --+    -- -   If the Amazon Web Services Systems Manager Parameter Store parameter+    --     exists in the same Amazon Web Services Region as the service that+    --     you\'re launching, you can use either the full ARN or name of the+    --     secret. If the parameter exists in a different Region, then the full+    --     ARN must be specified.+    --+    -- -   Currently, cross account referencing of Amazon Web Services Systems+    --     Manager Parameter Store parameter is not supported.+    runtimeEnvironmentSecrets :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | Environment variables that are available to your running App Runner+    -- service. An array of key-value pairs.+    runtimeEnvironmentVariables :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | An optional command that App Runner runs to start the application in the+    -- source image. If specified, this command overrides the Docker image’s+    -- default start command.+    startCommand :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'port', 'imageConfiguration_port' - The port that your application listens to in the container.+--+-- Default: @8080@+--+-- 'runtimeEnvironmentSecrets', 'imageConfiguration_runtimeEnvironmentSecrets' - An array of key-value pairs representing the secrets and parameters that+-- get referenced to your service as an environment variable. The supported+-- values are either the full Amazon Resource Name (ARN) of the Secrets+-- Manager secret or the full ARN of the parameter in the Amazon Web+-- Services Systems Manager Parameter Store.+--+-- -   If the Amazon Web Services Systems Manager Parameter Store parameter+--     exists in the same Amazon Web Services Region as the service that+--     you\'re launching, you can use either the full ARN or name of the+--     secret. If the parameter exists in a different Region, then the full+--     ARN must be specified.+--+-- -   Currently, cross account referencing of Amazon Web Services Systems+--     Manager Parameter Store parameter is not supported.+--+-- 'runtimeEnvironmentVariables', 'imageConfiguration_runtimeEnvironmentVariables' - Environment variables that are available to your running App Runner+-- service. An array of key-value pairs.+--+-- 'startCommand', 'imageConfiguration_startCommand' - An optional command that App Runner runs to start the application in the+-- source image. If specified, this command overrides the Docker image’s+-- default start command.+newImageConfiguration ::+  ImageConfiguration+newImageConfiguration =+  ImageConfiguration'+    { port = Prelude.Nothing,+      runtimeEnvironmentSecrets = Prelude.Nothing,+      runtimeEnvironmentVariables = Prelude.Nothing,+      startCommand = Prelude.Nothing+    }++-- | The port that your application listens to in the container.+--+-- Default: @8080@+imageConfiguration_port :: Lens.Lens' ImageConfiguration (Prelude.Maybe Prelude.Text)+imageConfiguration_port = Lens.lens (\ImageConfiguration' {port} -> port) (\s@ImageConfiguration' {} a -> s {port = a} :: ImageConfiguration)++-- | An array of key-value pairs representing the secrets and parameters that+-- get referenced to your service as an environment variable. The supported+-- values are either the full Amazon Resource Name (ARN) of the Secrets+-- Manager secret or the full ARN of the parameter in the Amazon Web+-- Services Systems Manager Parameter Store.+--+-- -   If the Amazon Web Services Systems Manager Parameter Store parameter+--     exists in the same Amazon Web Services Region as the service that+--     you\'re launching, you can use either the full ARN or name of the+--     secret. If the parameter exists in a different Region, then the full+--     ARN must be specified.+--+-- -   Currently, cross account referencing of Amazon Web Services Systems+--     Manager Parameter Store parameter is not supported.+imageConfiguration_runtimeEnvironmentSecrets :: Lens.Lens' ImageConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+imageConfiguration_runtimeEnvironmentSecrets = Lens.lens (\ImageConfiguration' {runtimeEnvironmentSecrets} -> runtimeEnvironmentSecrets) (\s@ImageConfiguration' {} a -> s {runtimeEnvironmentSecrets = a} :: ImageConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Environment variables that are available to your running App Runner+-- service. An array of key-value pairs.+imageConfiguration_runtimeEnvironmentVariables :: Lens.Lens' ImageConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+imageConfiguration_runtimeEnvironmentVariables = Lens.lens (\ImageConfiguration' {runtimeEnvironmentVariables} -> runtimeEnvironmentVariables) (\s@ImageConfiguration' {} a -> s {runtimeEnvironmentVariables = a} :: ImageConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | An optional command that App Runner runs to start the application in the+-- source image. If specified, this command overrides the Docker image’s+-- default start command.+imageConfiguration_startCommand :: Lens.Lens' ImageConfiguration (Prelude.Maybe Prelude.Text)+imageConfiguration_startCommand = Lens.lens (\ImageConfiguration' {startCommand} -> startCommand) (\s@ImageConfiguration' {} a -> s {startCommand = a} :: ImageConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON ImageConfiguration where+  parseJSON =+    Data.withObject+      "ImageConfiguration"+      ( \x ->+          ImageConfiguration'+            Prelude.<$> (x Data..:? "Port")+            Prelude.<*> ( x+                            Data..:? "RuntimeEnvironmentSecrets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "RuntimeEnvironmentVariables"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "StartCommand")+      )++instance Prelude.Hashable ImageConfiguration where+  hashWithSalt _salt ImageConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` runtimeEnvironmentSecrets+      `Prelude.hashWithSalt` runtimeEnvironmentVariables+      `Prelude.hashWithSalt` startCommand++instance Prelude.NFData ImageConfiguration where+  rnf ImageConfiguration' {..} =+    Prelude.rnf port+      `Prelude.seq` Prelude.rnf runtimeEnvironmentSecrets+      `Prelude.seq` Prelude.rnf runtimeEnvironmentVariables+      `Prelude.seq` Prelude.rnf startCommand++instance Data.ToJSON ImageConfiguration where+  toJSON ImageConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Port" Data..=) Prelude.<$> port,+            ("RuntimeEnvironmentSecrets" Data..=)+              Prelude.<$> runtimeEnvironmentSecrets,+            ("RuntimeEnvironmentVariables" Data..=)+              Prelude.<$> runtimeEnvironmentVariables,+            ("StartCommand" Data..=) Prelude.<$> startCommand+          ]+      )
+ gen/Amazonka/AppRunner/Types/ImageRepository.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.ImageRepository+-- 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.AppRunner.Types.ImageRepository where++import Amazonka.AppRunner.Types.ImageConfiguration+import Amazonka.AppRunner.Types.ImageRepositoryType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a source image repository.+--+-- /See:/ 'newImageRepository' smart constructor.+data ImageRepository = ImageRepository'+  { -- | Configuration for running the identified image.+    imageConfiguration :: Prelude.Maybe ImageConfiguration,+    -- | The identifier of an image.+    --+    -- For an image in Amazon Elastic Container Registry (Amazon ECR), this is+    -- an image name. For the image name format, see+    -- <https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html Pulling an image>+    -- in the /Amazon ECR User Guide/.+    imageIdentifier :: Prelude.Text,+    -- | The type of the image repository. This reflects the repository provider+    -- and whether the repository is private or public.+    imageRepositoryType :: ImageRepositoryType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageRepository' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageConfiguration', 'imageRepository_imageConfiguration' - Configuration for running the identified image.+--+-- 'imageIdentifier', 'imageRepository_imageIdentifier' - The identifier of an image.+--+-- For an image in Amazon Elastic Container Registry (Amazon ECR), this is+-- an image name. For the image name format, see+-- <https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html Pulling an image>+-- in the /Amazon ECR User Guide/.+--+-- 'imageRepositoryType', 'imageRepository_imageRepositoryType' - The type of the image repository. This reflects the repository provider+-- and whether the repository is private or public.+newImageRepository ::+  -- | 'imageIdentifier'+  Prelude.Text ->+  -- | 'imageRepositoryType'+  ImageRepositoryType ->+  ImageRepository+newImageRepository+  pImageIdentifier_+  pImageRepositoryType_ =+    ImageRepository'+      { imageConfiguration =+          Prelude.Nothing,+        imageIdentifier = pImageIdentifier_,+        imageRepositoryType = pImageRepositoryType_+      }++-- | Configuration for running the identified image.+imageRepository_imageConfiguration :: Lens.Lens' ImageRepository (Prelude.Maybe ImageConfiguration)+imageRepository_imageConfiguration = Lens.lens (\ImageRepository' {imageConfiguration} -> imageConfiguration) (\s@ImageRepository' {} a -> s {imageConfiguration = a} :: ImageRepository)++-- | The identifier of an image.+--+-- For an image in Amazon Elastic Container Registry (Amazon ECR), this is+-- an image name. For the image name format, see+-- <https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html Pulling an image>+-- in the /Amazon ECR User Guide/.+imageRepository_imageIdentifier :: Lens.Lens' ImageRepository Prelude.Text+imageRepository_imageIdentifier = Lens.lens (\ImageRepository' {imageIdentifier} -> imageIdentifier) (\s@ImageRepository' {} a -> s {imageIdentifier = a} :: ImageRepository)++-- | The type of the image repository. This reflects the repository provider+-- and whether the repository is private or public.+imageRepository_imageRepositoryType :: Lens.Lens' ImageRepository ImageRepositoryType+imageRepository_imageRepositoryType = Lens.lens (\ImageRepository' {imageRepositoryType} -> imageRepositoryType) (\s@ImageRepository' {} a -> s {imageRepositoryType = a} :: ImageRepository)++instance Data.FromJSON ImageRepository where+  parseJSON =+    Data.withObject+      "ImageRepository"+      ( \x ->+          ImageRepository'+            Prelude.<$> (x Data..:? "ImageConfiguration")+            Prelude.<*> (x Data..: "ImageIdentifier")+            Prelude.<*> (x Data..: "ImageRepositoryType")+      )++instance Prelude.Hashable ImageRepository where+  hashWithSalt _salt ImageRepository' {..} =+    _salt+      `Prelude.hashWithSalt` imageConfiguration+      `Prelude.hashWithSalt` imageIdentifier+      `Prelude.hashWithSalt` imageRepositoryType++instance Prelude.NFData ImageRepository where+  rnf ImageRepository' {..} =+    Prelude.rnf imageConfiguration+      `Prelude.seq` Prelude.rnf imageIdentifier+      `Prelude.seq` Prelude.rnf imageRepositoryType++instance Data.ToJSON ImageRepository where+  toJSON ImageRepository' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ImageConfiguration" Data..=)+              Prelude.<$> imageConfiguration,+            Prelude.Just+              ("ImageIdentifier" Data..= imageIdentifier),+            Prelude.Just+              ("ImageRepositoryType" Data..= imageRepositoryType)+          ]+      )
+ gen/Amazonka/AppRunner/Types/ImageRepositoryType.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.AppRunner.Types.ImageRepositoryType+-- 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.AppRunner.Types.ImageRepositoryType+  ( ImageRepositoryType+      ( ..,+        ImageRepositoryType_ECR,+        ImageRepositoryType_ECR_PUBLIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImageRepositoryType = ImageRepositoryType'+  { fromImageRepositoryType ::+      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 ImageRepositoryType_ECR :: ImageRepositoryType+pattern ImageRepositoryType_ECR = ImageRepositoryType' "ECR"++pattern ImageRepositoryType_ECR_PUBLIC :: ImageRepositoryType+pattern ImageRepositoryType_ECR_PUBLIC = ImageRepositoryType' "ECR_PUBLIC"++{-# COMPLETE+  ImageRepositoryType_ECR,+  ImageRepositoryType_ECR_PUBLIC,+  ImageRepositoryType'+  #-}
+ gen/Amazonka/AppRunner/Types/IngressConfiguration.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.IngressConfiguration+-- 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.AppRunner.Types.IngressConfiguration 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++-- | Network configuration settings for inbound network traffic.+--+-- /See:/ 'newIngressConfiguration' smart constructor.+data IngressConfiguration = IngressConfiguration'+  { -- | Specifies whether your App Runner service is publicly accessible. To+    -- make the service publicly accessible set it to @True@. To make the+    -- service privately accessible, from only within an Amazon VPC set it to+    -- @False@.+    isPubliclyAccessible :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IngressConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isPubliclyAccessible', 'ingressConfiguration_isPubliclyAccessible' - Specifies whether your App Runner service is publicly accessible. To+-- make the service publicly accessible set it to @True@. To make the+-- service privately accessible, from only within an Amazon VPC set it to+-- @False@.+newIngressConfiguration ::+  IngressConfiguration+newIngressConfiguration =+  IngressConfiguration'+    { isPubliclyAccessible =+        Prelude.Nothing+    }++-- | Specifies whether your App Runner service is publicly accessible. To+-- make the service publicly accessible set it to @True@. To make the+-- service privately accessible, from only within an Amazon VPC set it to+-- @False@.+ingressConfiguration_isPubliclyAccessible :: Lens.Lens' IngressConfiguration (Prelude.Maybe Prelude.Bool)+ingressConfiguration_isPubliclyAccessible = Lens.lens (\IngressConfiguration' {isPubliclyAccessible} -> isPubliclyAccessible) (\s@IngressConfiguration' {} a -> s {isPubliclyAccessible = a} :: IngressConfiguration)++instance Data.FromJSON IngressConfiguration where+  parseJSON =+    Data.withObject+      "IngressConfiguration"+      ( \x ->+          IngressConfiguration'+            Prelude.<$> (x Data..:? "IsPubliclyAccessible")+      )++instance Prelude.Hashable IngressConfiguration where+  hashWithSalt _salt IngressConfiguration' {..} =+    _salt `Prelude.hashWithSalt` isPubliclyAccessible++instance Prelude.NFData IngressConfiguration where+  rnf IngressConfiguration' {..} =+    Prelude.rnf isPubliclyAccessible++instance Data.ToJSON IngressConfiguration where+  toJSON IngressConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IsPubliclyAccessible" Data..=)+              Prelude.<$> isPubliclyAccessible+          ]+      )
+ gen/Amazonka/AppRunner/Types/IngressVpcConfiguration.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.IngressVpcConfiguration+-- 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.AppRunner.Types.IngressVpcConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration of your VPC and the associated VPC endpoint. The VPC+-- endpoint is an Amazon Web Services PrivateLink resource that allows+-- access to your App Runner services from within an Amazon VPC.+--+-- /See:/ 'newIngressVpcConfiguration' smart constructor.+data IngressVpcConfiguration = IngressVpcConfiguration'+  { -- | The ID of the VPC endpoint that your App Runner service connects to.+    vpcEndpointId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the VPC that is used for the VPC endpoint.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IngressVpcConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcEndpointId', 'ingressVpcConfiguration_vpcEndpointId' - The ID of the VPC endpoint that your App Runner service connects to.+--+-- 'vpcId', 'ingressVpcConfiguration_vpcId' - The ID of the VPC that is used for the VPC endpoint.+newIngressVpcConfiguration ::+  IngressVpcConfiguration+newIngressVpcConfiguration =+  IngressVpcConfiguration'+    { vpcEndpointId =+        Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The ID of the VPC endpoint that your App Runner service connects to.+ingressVpcConfiguration_vpcEndpointId :: Lens.Lens' IngressVpcConfiguration (Prelude.Maybe Prelude.Text)+ingressVpcConfiguration_vpcEndpointId = Lens.lens (\IngressVpcConfiguration' {vpcEndpointId} -> vpcEndpointId) (\s@IngressVpcConfiguration' {} a -> s {vpcEndpointId = a} :: IngressVpcConfiguration)++-- | The ID of the VPC that is used for the VPC endpoint.+ingressVpcConfiguration_vpcId :: Lens.Lens' IngressVpcConfiguration (Prelude.Maybe Prelude.Text)+ingressVpcConfiguration_vpcId = Lens.lens (\IngressVpcConfiguration' {vpcId} -> vpcId) (\s@IngressVpcConfiguration' {} a -> s {vpcId = a} :: IngressVpcConfiguration)++instance Data.FromJSON IngressVpcConfiguration where+  parseJSON =+    Data.withObject+      "IngressVpcConfiguration"+      ( \x ->+          IngressVpcConfiguration'+            Prelude.<$> (x Data..:? "VpcEndpointId")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance Prelude.Hashable IngressVpcConfiguration where+  hashWithSalt _salt IngressVpcConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` vpcEndpointId+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData IngressVpcConfiguration where+  rnf IngressVpcConfiguration' {..} =+    Prelude.rnf vpcEndpointId+      `Prelude.seq` Prelude.rnf vpcId++instance Data.ToJSON IngressVpcConfiguration where+  toJSON IngressVpcConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("VpcEndpointId" Data..=) Prelude.<$> vpcEndpointId,+            ("VpcId" Data..=) Prelude.<$> vpcId+          ]+      )
+ gen/Amazonka/AppRunner/Types/InstanceConfiguration.hs view
@@ -0,0 +1,132 @@+{-# 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.AppRunner.Types.InstanceConfiguration+-- 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.AppRunner.Types.InstanceConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the runtime configuration of an App Runner service instance+-- (scaling unit).+--+-- /See:/ 'newInstanceConfiguration' smart constructor.+data InstanceConfiguration = InstanceConfiguration'+  { -- | The number of CPU units reserved for each instance of your App Runner+    -- service.+    --+    -- Default: @1 vCPU@+    cpu :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of an IAM role that provides permissions+    -- to your App Runner service. These are permissions that your code needs+    -- when it calls any Amazon Web Services APIs.+    instanceRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The amount of memory, in MB or GB, reserved for each instance of your+    -- App Runner service.+    --+    -- Default: @2 GB@+    memory :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InstanceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpu', 'instanceConfiguration_cpu' - The number of CPU units reserved for each instance of your App Runner+-- service.+--+-- Default: @1 vCPU@+--+-- 'instanceRoleArn', 'instanceConfiguration_instanceRoleArn' - The Amazon Resource Name (ARN) of an IAM role that provides permissions+-- to your App Runner service. These are permissions that your code needs+-- when it calls any Amazon Web Services APIs.+--+-- 'memory', 'instanceConfiguration_memory' - The amount of memory, in MB or GB, reserved for each instance of your+-- App Runner service.+--+-- Default: @2 GB@+newInstanceConfiguration ::+  InstanceConfiguration+newInstanceConfiguration =+  InstanceConfiguration'+    { cpu = Prelude.Nothing,+      instanceRoleArn = Prelude.Nothing,+      memory = Prelude.Nothing+    }++-- | The number of CPU units reserved for each instance of your App Runner+-- service.+--+-- Default: @1 vCPU@+instanceConfiguration_cpu :: Lens.Lens' InstanceConfiguration (Prelude.Maybe Prelude.Text)+instanceConfiguration_cpu = Lens.lens (\InstanceConfiguration' {cpu} -> cpu) (\s@InstanceConfiguration' {} a -> s {cpu = a} :: InstanceConfiguration)++-- | The Amazon Resource Name (ARN) of an IAM role that provides permissions+-- to your App Runner service. These are permissions that your code needs+-- when it calls any Amazon Web Services APIs.+instanceConfiguration_instanceRoleArn :: Lens.Lens' InstanceConfiguration (Prelude.Maybe Prelude.Text)+instanceConfiguration_instanceRoleArn = Lens.lens (\InstanceConfiguration' {instanceRoleArn} -> instanceRoleArn) (\s@InstanceConfiguration' {} a -> s {instanceRoleArn = a} :: InstanceConfiguration)++-- | The amount of memory, in MB or GB, reserved for each instance of your+-- App Runner service.+--+-- Default: @2 GB@+instanceConfiguration_memory :: Lens.Lens' InstanceConfiguration (Prelude.Maybe Prelude.Text)+instanceConfiguration_memory = Lens.lens (\InstanceConfiguration' {memory} -> memory) (\s@InstanceConfiguration' {} a -> s {memory = a} :: InstanceConfiguration)++instance Data.FromJSON InstanceConfiguration where+  parseJSON =+    Data.withObject+      "InstanceConfiguration"+      ( \x ->+          InstanceConfiguration'+            Prelude.<$> (x Data..:? "Cpu")+            Prelude.<*> (x Data..:? "InstanceRoleArn")+            Prelude.<*> (x Data..:? "Memory")+      )++instance Prelude.Hashable InstanceConfiguration where+  hashWithSalt _salt InstanceConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` cpu+      `Prelude.hashWithSalt` instanceRoleArn+      `Prelude.hashWithSalt` memory++instance Prelude.NFData InstanceConfiguration where+  rnf InstanceConfiguration' {..} =+    Prelude.rnf cpu+      `Prelude.seq` Prelude.rnf instanceRoleArn+      `Prelude.seq` Prelude.rnf memory++instance Data.ToJSON InstanceConfiguration where+  toJSON InstanceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Cpu" Data..=) Prelude.<$> cpu,+            ("InstanceRoleArn" Data..=)+              Prelude.<$> instanceRoleArn,+            ("Memory" Data..=) Prelude.<$> memory+          ]+      )
+ gen/Amazonka/AppRunner/Types/ListVpcIngressConnectionsFilter.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.ListVpcIngressConnectionsFilter+-- 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.AppRunner.Types.ListVpcIngressConnectionsFilter 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++-- | Returns a list of VPC Ingress Connections based on the filter provided.+-- It can return either @ServiceArn@ or @VpcEndpointId@, or both.+--+-- /See:/ 'newListVpcIngressConnectionsFilter' smart constructor.+data ListVpcIngressConnectionsFilter = ListVpcIngressConnectionsFilter'+  { -- | The Amazon Resource Name (ARN) of a service to filter by.+    serviceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of a VPC Endpoint to filter by.+    vpcEndpointId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcIngressConnectionsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'listVpcIngressConnectionsFilter_serviceArn' - The Amazon Resource Name (ARN) of a service to filter by.+--+-- 'vpcEndpointId', 'listVpcIngressConnectionsFilter_vpcEndpointId' - The ID of a VPC Endpoint to filter by.+newListVpcIngressConnectionsFilter ::+  ListVpcIngressConnectionsFilter+newListVpcIngressConnectionsFilter =+  ListVpcIngressConnectionsFilter'+    { serviceArn =+        Prelude.Nothing,+      vpcEndpointId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of a service to filter by.+listVpcIngressConnectionsFilter_serviceArn :: Lens.Lens' ListVpcIngressConnectionsFilter (Prelude.Maybe Prelude.Text)+listVpcIngressConnectionsFilter_serviceArn = Lens.lens (\ListVpcIngressConnectionsFilter' {serviceArn} -> serviceArn) (\s@ListVpcIngressConnectionsFilter' {} a -> s {serviceArn = a} :: ListVpcIngressConnectionsFilter)++-- | The ID of a VPC Endpoint to filter by.+listVpcIngressConnectionsFilter_vpcEndpointId :: Lens.Lens' ListVpcIngressConnectionsFilter (Prelude.Maybe Prelude.Text)+listVpcIngressConnectionsFilter_vpcEndpointId = Lens.lens (\ListVpcIngressConnectionsFilter' {vpcEndpointId} -> vpcEndpointId) (\s@ListVpcIngressConnectionsFilter' {} a -> s {vpcEndpointId = a} :: ListVpcIngressConnectionsFilter)++instance+  Prelude.Hashable+    ListVpcIngressConnectionsFilter+  where+  hashWithSalt+    _salt+    ListVpcIngressConnectionsFilter' {..} =+      _salt+        `Prelude.hashWithSalt` serviceArn+        `Prelude.hashWithSalt` vpcEndpointId++instance+  Prelude.NFData+    ListVpcIngressConnectionsFilter+  where+  rnf ListVpcIngressConnectionsFilter' {..} =+    Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf vpcEndpointId++instance Data.ToJSON ListVpcIngressConnectionsFilter where+  toJSON ListVpcIngressConnectionsFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ServiceArn" Data..=) Prelude.<$> serviceArn,+            ("VpcEndpointId" Data..=) Prelude.<$> vpcEndpointId+          ]+      )
+ gen/Amazonka/AppRunner/Types/NetworkConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.NetworkConfiguration+-- 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.AppRunner.Types.NetworkConfiguration where++import Amazonka.AppRunner.Types.EgressConfiguration+import Amazonka.AppRunner.Types.IngressConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes configuration settings related to network traffic of an App+-- Runner service. Consists of embedded objects for each configurable+-- network feature.+--+-- /See:/ 'newNetworkConfiguration' smart constructor.+data NetworkConfiguration = NetworkConfiguration'+  { -- | Network configuration settings for outbound message traffic.+    egressConfiguration :: Prelude.Maybe EgressConfiguration,+    -- | Network configuration settings for inbound message traffic.+    ingressConfiguration :: Prelude.Maybe IngressConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'egressConfiguration', 'networkConfiguration_egressConfiguration' - Network configuration settings for outbound message traffic.+--+-- 'ingressConfiguration', 'networkConfiguration_ingressConfiguration' - Network configuration settings for inbound message traffic.+newNetworkConfiguration ::+  NetworkConfiguration+newNetworkConfiguration =+  NetworkConfiguration'+    { egressConfiguration =+        Prelude.Nothing,+      ingressConfiguration = Prelude.Nothing+    }++-- | Network configuration settings for outbound message traffic.+networkConfiguration_egressConfiguration :: Lens.Lens' NetworkConfiguration (Prelude.Maybe EgressConfiguration)+networkConfiguration_egressConfiguration = Lens.lens (\NetworkConfiguration' {egressConfiguration} -> egressConfiguration) (\s@NetworkConfiguration' {} a -> s {egressConfiguration = a} :: NetworkConfiguration)++-- | Network configuration settings for inbound message traffic.+networkConfiguration_ingressConfiguration :: Lens.Lens' NetworkConfiguration (Prelude.Maybe IngressConfiguration)+networkConfiguration_ingressConfiguration = Lens.lens (\NetworkConfiguration' {ingressConfiguration} -> ingressConfiguration) (\s@NetworkConfiguration' {} a -> s {ingressConfiguration = a} :: NetworkConfiguration)++instance Data.FromJSON NetworkConfiguration where+  parseJSON =+    Data.withObject+      "NetworkConfiguration"+      ( \x ->+          NetworkConfiguration'+            Prelude.<$> (x Data..:? "EgressConfiguration")+            Prelude.<*> (x Data..:? "IngressConfiguration")+      )++instance Prelude.Hashable NetworkConfiguration where+  hashWithSalt _salt NetworkConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` egressConfiguration+      `Prelude.hashWithSalt` ingressConfiguration++instance Prelude.NFData NetworkConfiguration where+  rnf NetworkConfiguration' {..} =+    Prelude.rnf egressConfiguration+      `Prelude.seq` Prelude.rnf ingressConfiguration++instance Data.ToJSON NetworkConfiguration where+  toJSON NetworkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EgressConfiguration" Data..=)+              Prelude.<$> egressConfiguration,+            ("IngressConfiguration" Data..=)+              Prelude.<$> ingressConfiguration+          ]+      )
+ gen/Amazonka/AppRunner/Types/ObservabilityConfiguration.hs view
@@ -0,0 +1,203 @@+{-# 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.AppRunner.Types.ObservabilityConfiguration+-- 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.AppRunner.Types.ObservabilityConfiguration where++import Amazonka.AppRunner.Types.ObservabilityConfigurationStatus+import Amazonka.AppRunner.Types.TraceConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an App Runner observability configuration resource. Multiple+-- revisions of a configuration have the same+-- @ObservabilityConfigurationName@ and different+-- @ObservabilityConfigurationRevision@ values.+--+-- The resource is designed to configure multiple features (currently one+-- feature, tracing). This type contains optional members that describe the+-- configuration of these features (currently one member,+-- @TraceConfiguration@). If a feature member isn\'t specified, the feature+-- isn\'t enabled.+--+-- /See:/ 'newObservabilityConfiguration' smart constructor.+data ObservabilityConfiguration = ObservabilityConfiguration'+  { -- | The time when the observability configuration was created. It\'s in Unix+    -- time stamp format.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The time when the observability configuration was deleted. It\'s in Unix+    -- time stamp format.+    deletedAt :: Prelude.Maybe Data.POSIX,+    -- | It\'s set to @true@ for the configuration with the highest @Revision@+    -- among all configurations that share the same+    -- @ObservabilityConfigurationName@. It\'s set to @false@ otherwise.+    latest :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) of this observability configuration.+    observabilityConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided observability configuration name. It can be used+    -- in multiple revisions of a configuration.+    observabilityConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The revision of this observability configuration. It\'s unique among all+    -- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+    -- @ObservabilityConfigurationName@.+    observabilityConfigurationRevision :: Prelude.Maybe Prelude.Int,+    -- | The current state of the observability configuration. If the status of a+    -- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+    -- Inactive configuration revisions are permanently removed some time after+    -- they are deleted.+    status :: Prelude.Maybe ObservabilityConfigurationStatus,+    -- | The configuration of the tracing feature within this observability+    -- configuration. If not specified, tracing isn\'t enabled.+    traceConfiguration :: Prelude.Maybe TraceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObservabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'observabilityConfiguration_createdAt' - The time when the observability configuration was created. It\'s in Unix+-- time stamp format.+--+-- 'deletedAt', 'observabilityConfiguration_deletedAt' - The time when the observability configuration was deleted. It\'s in Unix+-- time stamp format.+--+-- 'latest', 'observabilityConfiguration_latest' - It\'s set to @true@ for the configuration with the highest @Revision@+-- among all configurations that share the same+-- @ObservabilityConfigurationName@. It\'s set to @false@ otherwise.+--+-- 'observabilityConfigurationArn', 'observabilityConfiguration_observabilityConfigurationArn' - The Amazon Resource Name (ARN) of this observability configuration.+--+-- 'observabilityConfigurationName', 'observabilityConfiguration_observabilityConfigurationName' - The customer-provided observability configuration name. It can be used+-- in multiple revisions of a configuration.+--+-- 'observabilityConfigurationRevision', 'observabilityConfiguration_observabilityConfigurationRevision' - The revision of this observability configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @ObservabilityConfigurationName@.+--+-- 'status', 'observabilityConfiguration_status' - The current state of the observability configuration. If the status of a+-- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+-- Inactive configuration revisions are permanently removed some time after+-- they are deleted.+--+-- 'traceConfiguration', 'observabilityConfiguration_traceConfiguration' - The configuration of the tracing feature within this observability+-- configuration. If not specified, tracing isn\'t enabled.+newObservabilityConfiguration ::+  ObservabilityConfiguration+newObservabilityConfiguration =+  ObservabilityConfiguration'+    { createdAt =+        Prelude.Nothing,+      deletedAt = Prelude.Nothing,+      latest = Prelude.Nothing,+      observabilityConfigurationArn = Prelude.Nothing,+      observabilityConfigurationName =+        Prelude.Nothing,+      observabilityConfigurationRevision =+        Prelude.Nothing,+      status = Prelude.Nothing,+      traceConfiguration = Prelude.Nothing+    }++-- | The time when the observability configuration was created. It\'s in Unix+-- time stamp format.+observabilityConfiguration_createdAt :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.UTCTime)+observabilityConfiguration_createdAt = Lens.lens (\ObservabilityConfiguration' {createdAt} -> createdAt) (\s@ObservabilityConfiguration' {} a -> s {createdAt = a} :: ObservabilityConfiguration) Prelude.. Lens.mapping Data._Time++-- | The time when the observability configuration was deleted. It\'s in Unix+-- time stamp format.+observabilityConfiguration_deletedAt :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.UTCTime)+observabilityConfiguration_deletedAt = Lens.lens (\ObservabilityConfiguration' {deletedAt} -> deletedAt) (\s@ObservabilityConfiguration' {} a -> s {deletedAt = a} :: ObservabilityConfiguration) Prelude.. Lens.mapping Data._Time++-- | It\'s set to @true@ for the configuration with the highest @Revision@+-- among all configurations that share the same+-- @ObservabilityConfigurationName@. It\'s set to @false@ otherwise.+observabilityConfiguration_latest :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.Bool)+observabilityConfiguration_latest = Lens.lens (\ObservabilityConfiguration' {latest} -> latest) (\s@ObservabilityConfiguration' {} a -> s {latest = a} :: ObservabilityConfiguration)++-- | The Amazon Resource Name (ARN) of this observability configuration.+observabilityConfiguration_observabilityConfigurationArn :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.Text)+observabilityConfiguration_observabilityConfigurationArn = Lens.lens (\ObservabilityConfiguration' {observabilityConfigurationArn} -> observabilityConfigurationArn) (\s@ObservabilityConfiguration' {} a -> s {observabilityConfigurationArn = a} :: ObservabilityConfiguration)++-- | The customer-provided observability configuration name. It can be used+-- in multiple revisions of a configuration.+observabilityConfiguration_observabilityConfigurationName :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.Text)+observabilityConfiguration_observabilityConfigurationName = Lens.lens (\ObservabilityConfiguration' {observabilityConfigurationName} -> observabilityConfigurationName) (\s@ObservabilityConfiguration' {} a -> s {observabilityConfigurationName = a} :: ObservabilityConfiguration)++-- | The revision of this observability configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @ObservabilityConfigurationName@.+observabilityConfiguration_observabilityConfigurationRevision :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe Prelude.Int)+observabilityConfiguration_observabilityConfigurationRevision = Lens.lens (\ObservabilityConfiguration' {observabilityConfigurationRevision} -> observabilityConfigurationRevision) (\s@ObservabilityConfiguration' {} a -> s {observabilityConfigurationRevision = a} :: ObservabilityConfiguration)++-- | The current state of the observability configuration. If the status of a+-- configuration revision is @INACTIVE@, it was deleted and can\'t be used.+-- Inactive configuration revisions are permanently removed some time after+-- they are deleted.+observabilityConfiguration_status :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe ObservabilityConfigurationStatus)+observabilityConfiguration_status = Lens.lens (\ObservabilityConfiguration' {status} -> status) (\s@ObservabilityConfiguration' {} a -> s {status = a} :: ObservabilityConfiguration)++-- | The configuration of the tracing feature within this observability+-- configuration. If not specified, tracing isn\'t enabled.+observabilityConfiguration_traceConfiguration :: Lens.Lens' ObservabilityConfiguration (Prelude.Maybe TraceConfiguration)+observabilityConfiguration_traceConfiguration = Lens.lens (\ObservabilityConfiguration' {traceConfiguration} -> traceConfiguration) (\s@ObservabilityConfiguration' {} a -> s {traceConfiguration = a} :: ObservabilityConfiguration)++instance Data.FromJSON ObservabilityConfiguration where+  parseJSON =+    Data.withObject+      "ObservabilityConfiguration"+      ( \x ->+          ObservabilityConfiguration'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "DeletedAt")+            Prelude.<*> (x Data..:? "Latest")+            Prelude.<*> (x Data..:? "ObservabilityConfigurationArn")+            Prelude.<*> (x Data..:? "ObservabilityConfigurationName")+            Prelude.<*> (x Data..:? "ObservabilityConfigurationRevision")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TraceConfiguration")+      )++instance Prelude.Hashable ObservabilityConfiguration where+  hashWithSalt _salt ObservabilityConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` deletedAt+      `Prelude.hashWithSalt` latest+      `Prelude.hashWithSalt` observabilityConfigurationArn+      `Prelude.hashWithSalt` observabilityConfigurationName+      `Prelude.hashWithSalt` observabilityConfigurationRevision+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` traceConfiguration++instance Prelude.NFData ObservabilityConfiguration where+  rnf ObservabilityConfiguration' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf deletedAt+      `Prelude.seq` Prelude.rnf latest+      `Prelude.seq` Prelude.rnf observabilityConfigurationArn+      `Prelude.seq` Prelude.rnf observabilityConfigurationName+      `Prelude.seq` Prelude.rnf observabilityConfigurationRevision+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf traceConfiguration
+ gen/Amazonka/AppRunner/Types/ObservabilityConfigurationStatus.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.AppRunner.Types.ObservabilityConfigurationStatus+-- 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.AppRunner.Types.ObservabilityConfigurationStatus+  ( ObservabilityConfigurationStatus+      ( ..,+        ObservabilityConfigurationStatus_ACTIVE,+        ObservabilityConfigurationStatus_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ObservabilityConfigurationStatus = ObservabilityConfigurationStatus'+  { fromObservabilityConfigurationStatus ::+      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 ObservabilityConfigurationStatus_ACTIVE :: ObservabilityConfigurationStatus+pattern ObservabilityConfigurationStatus_ACTIVE = ObservabilityConfigurationStatus' "ACTIVE"++pattern ObservabilityConfigurationStatus_INACTIVE :: ObservabilityConfigurationStatus+pattern ObservabilityConfigurationStatus_INACTIVE = ObservabilityConfigurationStatus' "INACTIVE"++{-# COMPLETE+  ObservabilityConfigurationStatus_ACTIVE,+  ObservabilityConfigurationStatus_INACTIVE,+  ObservabilityConfigurationStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/ObservabilityConfigurationSummary.hs view
@@ -0,0 +1,128 @@+{-# 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.AppRunner.Types.ObservabilityConfigurationSummary+-- 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.AppRunner.Types.ObservabilityConfigurationSummary 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++-- | Provides summary information about an App Runner observability+-- configuration resource.+--+-- This type contains limited information about an observability+-- configuration. It includes only identification information, without+-- configuration details. It\'s returned by the+-- ListObservabilityConfigurations action. Complete configuration+-- information is returned by the CreateObservabilityConfiguration,+-- DescribeObservabilityConfiguration, and DeleteObservabilityConfiguration+-- actions using the ObservabilityConfiguration type.+--+-- /See:/ 'newObservabilityConfigurationSummary' smart constructor.+data ObservabilityConfigurationSummary = ObservabilityConfigurationSummary'+  { -- | The Amazon Resource Name (ARN) of this observability configuration.+    observabilityConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided observability configuration name. It can be used+    -- in multiple revisions of a configuration.+    observabilityConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The revision of this observability configuration. It\'s unique among all+    -- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+    -- @ObservabilityConfigurationName@.+    observabilityConfigurationRevision :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObservabilityConfigurationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'observabilityConfigurationArn', 'observabilityConfigurationSummary_observabilityConfigurationArn' - The Amazon Resource Name (ARN) of this observability configuration.+--+-- 'observabilityConfigurationName', 'observabilityConfigurationSummary_observabilityConfigurationName' - The customer-provided observability configuration name. It can be used+-- in multiple revisions of a configuration.+--+-- 'observabilityConfigurationRevision', 'observabilityConfigurationSummary_observabilityConfigurationRevision' - The revision of this observability configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @ObservabilityConfigurationName@.+newObservabilityConfigurationSummary ::+  ObservabilityConfigurationSummary+newObservabilityConfigurationSummary =+  ObservabilityConfigurationSummary'+    { observabilityConfigurationArn =+        Prelude.Nothing,+      observabilityConfigurationName =+        Prelude.Nothing,+      observabilityConfigurationRevision =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this observability configuration.+observabilityConfigurationSummary_observabilityConfigurationArn :: Lens.Lens' ObservabilityConfigurationSummary (Prelude.Maybe Prelude.Text)+observabilityConfigurationSummary_observabilityConfigurationArn = Lens.lens (\ObservabilityConfigurationSummary' {observabilityConfigurationArn} -> observabilityConfigurationArn) (\s@ObservabilityConfigurationSummary' {} a -> s {observabilityConfigurationArn = a} :: ObservabilityConfigurationSummary)++-- | The customer-provided observability configuration name. It can be used+-- in multiple revisions of a configuration.+observabilityConfigurationSummary_observabilityConfigurationName :: Lens.Lens' ObservabilityConfigurationSummary (Prelude.Maybe Prelude.Text)+observabilityConfigurationSummary_observabilityConfigurationName = Lens.lens (\ObservabilityConfigurationSummary' {observabilityConfigurationName} -> observabilityConfigurationName) (\s@ObservabilityConfigurationSummary' {} a -> s {observabilityConfigurationName = a} :: ObservabilityConfigurationSummary)++-- | The revision of this observability configuration. It\'s unique among all+-- the active configurations (@\"Status\": \"ACTIVE\"@) that share the same+-- @ObservabilityConfigurationName@.+observabilityConfigurationSummary_observabilityConfigurationRevision :: Lens.Lens' ObservabilityConfigurationSummary (Prelude.Maybe Prelude.Int)+observabilityConfigurationSummary_observabilityConfigurationRevision = Lens.lens (\ObservabilityConfigurationSummary' {observabilityConfigurationRevision} -> observabilityConfigurationRevision) (\s@ObservabilityConfigurationSummary' {} a -> s {observabilityConfigurationRevision = a} :: ObservabilityConfigurationSummary)++instance+  Data.FromJSON+    ObservabilityConfigurationSummary+  where+  parseJSON =+    Data.withObject+      "ObservabilityConfigurationSummary"+      ( \x ->+          ObservabilityConfigurationSummary'+            Prelude.<$> (x Data..:? "ObservabilityConfigurationArn")+            Prelude.<*> (x Data..:? "ObservabilityConfigurationName")+            Prelude.<*> (x Data..:? "ObservabilityConfigurationRevision")+      )++instance+  Prelude.Hashable+    ObservabilityConfigurationSummary+  where+  hashWithSalt+    _salt+    ObservabilityConfigurationSummary' {..} =+      _salt+        `Prelude.hashWithSalt` observabilityConfigurationArn+        `Prelude.hashWithSalt` observabilityConfigurationName+        `Prelude.hashWithSalt` observabilityConfigurationRevision++instance+  Prelude.NFData+    ObservabilityConfigurationSummary+  where+  rnf ObservabilityConfigurationSummary' {..} =+    Prelude.rnf observabilityConfigurationArn+      `Prelude.seq` Prelude.rnf observabilityConfigurationName+      `Prelude.seq` Prelude.rnf observabilityConfigurationRevision
+ gen/Amazonka/AppRunner/Types/OperationStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.OperationStatus+-- 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.AppRunner.Types.OperationStatus+  ( OperationStatus+      ( ..,+        OperationStatus_FAILED,+        OperationStatus_IN_PROGRESS,+        OperationStatus_PENDING,+        OperationStatus_ROLLBACK_FAILED,+        OperationStatus_ROLLBACK_IN_PROGRESS,+        OperationStatus_ROLLBACK_SUCCEEDED,+        OperationStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OperationStatus = OperationStatus'+  { fromOperationStatus ::+      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 OperationStatus_FAILED :: OperationStatus+pattern OperationStatus_FAILED = OperationStatus' "FAILED"++pattern OperationStatus_IN_PROGRESS :: OperationStatus+pattern OperationStatus_IN_PROGRESS = OperationStatus' "IN_PROGRESS"++pattern OperationStatus_PENDING :: OperationStatus+pattern OperationStatus_PENDING = OperationStatus' "PENDING"++pattern OperationStatus_ROLLBACK_FAILED :: OperationStatus+pattern OperationStatus_ROLLBACK_FAILED = OperationStatus' "ROLLBACK_FAILED"++pattern OperationStatus_ROLLBACK_IN_PROGRESS :: OperationStatus+pattern OperationStatus_ROLLBACK_IN_PROGRESS = OperationStatus' "ROLLBACK_IN_PROGRESS"++pattern OperationStatus_ROLLBACK_SUCCEEDED :: OperationStatus+pattern OperationStatus_ROLLBACK_SUCCEEDED = OperationStatus' "ROLLBACK_SUCCEEDED"++pattern OperationStatus_SUCCEEDED :: OperationStatus+pattern OperationStatus_SUCCEEDED = OperationStatus' "SUCCEEDED"++{-# COMPLETE+  OperationStatus_FAILED,+  OperationStatus_IN_PROGRESS,+  OperationStatus_PENDING,+  OperationStatus_ROLLBACK_FAILED,+  OperationStatus_ROLLBACK_IN_PROGRESS,+  OperationStatus_ROLLBACK_SUCCEEDED,+  OperationStatus_SUCCEEDED,+  OperationStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/OperationSummary.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.OperationSummary+-- 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.AppRunner.Types.OperationSummary where++import Amazonka.AppRunner.Types.OperationStatus+import Amazonka.AppRunner.Types.OperationType+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++-- | Provides summary information for an operation that occurred on an App+-- Runner service.+--+-- /See:/ 'newOperationSummary' smart constructor.+data OperationSummary = OperationSummary'+  { -- | The time when the operation ended. It\'s in the Unix time stamp format.+    endedAt :: Prelude.Maybe Data.POSIX,+    -- | A unique ID of this operation. It\'s unique in the scope of the App+    -- Runner service.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time when the operation started. It\'s in the Unix time stamp+    -- format.+    startedAt :: Prelude.Maybe Data.POSIX,+    -- | The current state of the operation.+    status :: Prelude.Maybe OperationStatus,+    -- | The Amazon Resource Name (ARN) of the resource that the operation acted+    -- on (for example, an App Runner service).+    targetArn :: Prelude.Maybe Prelude.Text,+    -- | The type of operation. It indicates a specific action that occured.+    type' :: Prelude.Maybe OperationType,+    -- | The time when the operation was last updated. It\'s in the Unix time+    -- stamp format.+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OperationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endedAt', 'operationSummary_endedAt' - The time when the operation ended. It\'s in the Unix time stamp format.+--+-- 'id', 'operationSummary_id' - A unique ID of this operation. It\'s unique in the scope of the App+-- Runner service.+--+-- 'startedAt', 'operationSummary_startedAt' - The time when the operation started. It\'s in the Unix time stamp+-- format.+--+-- 'status', 'operationSummary_status' - The current state of the operation.+--+-- 'targetArn', 'operationSummary_targetArn' - The Amazon Resource Name (ARN) of the resource that the operation acted+-- on (for example, an App Runner service).+--+-- 'type'', 'operationSummary_type' - The type of operation. It indicates a specific action that occured.+--+-- 'updatedAt', 'operationSummary_updatedAt' - The time when the operation was last updated. It\'s in the Unix time+-- stamp format.+newOperationSummary ::+  OperationSummary+newOperationSummary =+  OperationSummary'+    { endedAt = Prelude.Nothing,+      id = Prelude.Nothing,+      startedAt = Prelude.Nothing,+      status = Prelude.Nothing,+      targetArn = Prelude.Nothing,+      type' = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | The time when the operation ended. It\'s in the Unix time stamp format.+operationSummary_endedAt :: Lens.Lens' OperationSummary (Prelude.Maybe Prelude.UTCTime)+operationSummary_endedAt = Lens.lens (\OperationSummary' {endedAt} -> endedAt) (\s@OperationSummary' {} a -> s {endedAt = a} :: OperationSummary) Prelude.. Lens.mapping Data._Time++-- | A unique ID of this operation. It\'s unique in the scope of the App+-- Runner service.+operationSummary_id :: Lens.Lens' OperationSummary (Prelude.Maybe Prelude.Text)+operationSummary_id = Lens.lens (\OperationSummary' {id} -> id) (\s@OperationSummary' {} a -> s {id = a} :: OperationSummary)++-- | The time when the operation started. It\'s in the Unix time stamp+-- format.+operationSummary_startedAt :: Lens.Lens' OperationSummary (Prelude.Maybe Prelude.UTCTime)+operationSummary_startedAt = Lens.lens (\OperationSummary' {startedAt} -> startedAt) (\s@OperationSummary' {} a -> s {startedAt = a} :: OperationSummary) Prelude.. Lens.mapping Data._Time++-- | The current state of the operation.+operationSummary_status :: Lens.Lens' OperationSummary (Prelude.Maybe OperationStatus)+operationSummary_status = Lens.lens (\OperationSummary' {status} -> status) (\s@OperationSummary' {} a -> s {status = a} :: OperationSummary)++-- | The Amazon Resource Name (ARN) of the resource that the operation acted+-- on (for example, an App Runner service).+operationSummary_targetArn :: Lens.Lens' OperationSummary (Prelude.Maybe Prelude.Text)+operationSummary_targetArn = Lens.lens (\OperationSummary' {targetArn} -> targetArn) (\s@OperationSummary' {} a -> s {targetArn = a} :: OperationSummary)++-- | The type of operation. It indicates a specific action that occured.+operationSummary_type :: Lens.Lens' OperationSummary (Prelude.Maybe OperationType)+operationSummary_type = Lens.lens (\OperationSummary' {type'} -> type') (\s@OperationSummary' {} a -> s {type' = a} :: OperationSummary)++-- | The time when the operation was last updated. It\'s in the Unix time+-- stamp format.+operationSummary_updatedAt :: Lens.Lens' OperationSummary (Prelude.Maybe Prelude.UTCTime)+operationSummary_updatedAt = Lens.lens (\OperationSummary' {updatedAt} -> updatedAt) (\s@OperationSummary' {} a -> s {updatedAt = a} :: OperationSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON OperationSummary where+  parseJSON =+    Data.withObject+      "OperationSummary"+      ( \x ->+          OperationSummary'+            Prelude.<$> (x Data..:? "EndedAt")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "StartedAt")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TargetArn")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable OperationSummary where+  hashWithSalt _salt OperationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` endedAt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` startedAt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` targetArn+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData OperationSummary where+  rnf OperationSummary' {..} =+    Prelude.rnf endedAt+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf startedAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetArn+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/AppRunner/Types/OperationType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.OperationType+-- 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.AppRunner.Types.OperationType+  ( OperationType+      ( ..,+        OperationType_CREATE_SERVICE,+        OperationType_DELETE_SERVICE,+        OperationType_PAUSE_SERVICE,+        OperationType_RESUME_SERVICE,+        OperationType_START_DEPLOYMENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OperationType = OperationType'+  { fromOperationType ::+      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 OperationType_CREATE_SERVICE :: OperationType+pattern OperationType_CREATE_SERVICE = OperationType' "CREATE_SERVICE"++pattern OperationType_DELETE_SERVICE :: OperationType+pattern OperationType_DELETE_SERVICE = OperationType' "DELETE_SERVICE"++pattern OperationType_PAUSE_SERVICE :: OperationType+pattern OperationType_PAUSE_SERVICE = OperationType' "PAUSE_SERVICE"++pattern OperationType_RESUME_SERVICE :: OperationType+pattern OperationType_RESUME_SERVICE = OperationType' "RESUME_SERVICE"++pattern OperationType_START_DEPLOYMENT :: OperationType+pattern OperationType_START_DEPLOYMENT = OperationType' "START_DEPLOYMENT"++{-# COMPLETE+  OperationType_CREATE_SERVICE,+  OperationType_DELETE_SERVICE,+  OperationType_PAUSE_SERVICE,+  OperationType_RESUME_SERVICE,+  OperationType_START_DEPLOYMENT,+  OperationType'+  #-}
+ gen/Amazonka/AppRunner/Types/ProviderType.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.AppRunner.Types.ProviderType+-- 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.AppRunner.Types.ProviderType+  ( ProviderType+      ( ..,+        ProviderType_GITHUB+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ProviderType = ProviderType'+  { fromProviderType ::+      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 ProviderType_GITHUB :: ProviderType+pattern ProviderType_GITHUB = ProviderType' "GITHUB"++{-# COMPLETE+  ProviderType_GITHUB,+  ProviderType'+  #-}
+ gen/Amazonka/AppRunner/Types/Runtime.hs view
@@ -0,0 +1,108 @@+{-# 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.AppRunner.Types.Runtime+-- 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.AppRunner.Types.Runtime+  ( Runtime+      ( ..,+        Runtime_CORRETTO_11,+        Runtime_CORRETTO_8,+        Runtime_DOTNET_6,+        Runtime_GO_1,+        Runtime_NODEJS_12,+        Runtime_NODEJS_14,+        Runtime_NODEJS_16,+        Runtime_PHP_81,+        Runtime_PYTHON_3,+        Runtime_RUBY_31+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Runtime = Runtime' {fromRuntime :: 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 Runtime_CORRETTO_11 :: Runtime+pattern Runtime_CORRETTO_11 = Runtime' "CORRETTO_11"++pattern Runtime_CORRETTO_8 :: Runtime+pattern Runtime_CORRETTO_8 = Runtime' "CORRETTO_8"++pattern Runtime_DOTNET_6 :: Runtime+pattern Runtime_DOTNET_6 = Runtime' "DOTNET_6"++pattern Runtime_GO_1 :: Runtime+pattern Runtime_GO_1 = Runtime' "GO_1"++pattern Runtime_NODEJS_12 :: Runtime+pattern Runtime_NODEJS_12 = Runtime' "NODEJS_12"++pattern Runtime_NODEJS_14 :: Runtime+pattern Runtime_NODEJS_14 = Runtime' "NODEJS_14"++pattern Runtime_NODEJS_16 :: Runtime+pattern Runtime_NODEJS_16 = Runtime' "NODEJS_16"++pattern Runtime_PHP_81 :: Runtime+pattern Runtime_PHP_81 = Runtime' "PHP_81"++pattern Runtime_PYTHON_3 :: Runtime+pattern Runtime_PYTHON_3 = Runtime' "PYTHON_3"++pattern Runtime_RUBY_31 :: Runtime+pattern Runtime_RUBY_31 = Runtime' "RUBY_31"++{-# COMPLETE+  Runtime_CORRETTO_11,+  Runtime_CORRETTO_8,+  Runtime_DOTNET_6,+  Runtime_GO_1,+  Runtime_NODEJS_12,+  Runtime_NODEJS_14,+  Runtime_NODEJS_16,+  Runtime_PHP_81,+  Runtime_PYTHON_3,+  Runtime_RUBY_31,+  Runtime'+  #-}
+ gen/Amazonka/AppRunner/Types/Service.hs view
@@ -0,0 +1,368 @@+{-# 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.AppRunner.Types.Service+-- 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.AppRunner.Types.Service where++import Amazonka.AppRunner.Types.AutoScalingConfigurationSummary+import Amazonka.AppRunner.Types.EncryptionConfiguration+import Amazonka.AppRunner.Types.HealthCheckConfiguration+import Amazonka.AppRunner.Types.InstanceConfiguration+import Amazonka.AppRunner.Types.NetworkConfiguration+import Amazonka.AppRunner.Types.ServiceObservabilityConfiguration+import Amazonka.AppRunner.Types.ServiceStatus+import Amazonka.AppRunner.Types.SourceConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an App Runner service. It can describe a service in any state,+-- including deleted services.+--+-- This type contains the full information about a service, including+-- configuration details. It\'s returned by the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html CreateService>,+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_DescribeService.html DescribeService>,+-- and+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_DeleteService.html DeleteService>+-- actions. A subset of this information is returned by the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListServices.html ListServices>+-- action using the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ServiceSummary.html ServiceSummary>+-- type.+--+-- /See:/ 'newService' smart constructor.+data Service = Service'+  { -- | The time when the App Runner service was deleted. It\'s in the Unix time+    -- stamp format.+    deletedAt :: Prelude.Maybe Data.POSIX,+    -- | The encryption key that App Runner uses to encrypt the service logs and+    -- the copy of the source repository that App Runner maintains for the+    -- service. It can be either a customer-provided encryption key or an+    -- Amazon Web Services managed key.+    encryptionConfiguration :: Prelude.Maybe EncryptionConfiguration,+    -- | The settings for the health check that App Runner performs to monitor+    -- the health of this service.+    healthCheckConfiguration :: Prelude.Maybe HealthCheckConfiguration,+    -- | The observability configuration of this service.+    observabilityConfiguration :: Prelude.Maybe ServiceObservabilityConfiguration,+    -- | A subdomain URL that App Runner generated for this service. You can use+    -- this URL to access your service web application.+    serviceUrl :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided service name.+    serviceName :: Prelude.Text,+    -- | An ID that App Runner generated for this service. It\'s unique within+    -- the Amazon Web Services Region.+    serviceId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of this service.+    serviceArn :: Prelude.Text,+    -- | The time when the App Runner service was created. It\'s in the Unix time+    -- stamp format.+    createdAt :: Data.POSIX,+    -- | The time when the App Runner service was last updated at. It\'s in the+    -- Unix time stamp format.+    updatedAt :: Data.POSIX,+    -- | The current state of the App Runner service. These particular values+    -- mean the following.+    --+    -- -   @CREATE_FAILED@ – The service failed to create. To troubleshoot this+    --     failure, read the failure events and logs, change any parameters+    --     that need to be fixed, and retry the call to create the service.+    --+    --     The failed service isn\'t usable, and still counts towards your+    --     service quota. When you\'re done analyzing the failure, delete the+    --     service.+    --+    -- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+    --     successfully recovered. Retry the service deletion call to ensure+    --     that all related resources are removed.+    status :: ServiceStatus,+    -- | The source deployed to the App Runner service. It can be a code or an+    -- image repository.+    sourceConfiguration :: SourceConfiguration,+    -- | The runtime configuration of instances (scaling units) of this service.+    instanceConfiguration :: InstanceConfiguration,+    -- | Summary information for the App Runner automatic scaling configuration+    -- resource that\'s associated with this service.+    autoScalingConfigurationSummary :: AutoScalingConfigurationSummary,+    -- | Configuration settings related to network traffic of the web application+    -- that this service runs.+    networkConfiguration :: NetworkConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Service' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deletedAt', 'service_deletedAt' - The time when the App Runner service was deleted. It\'s in the Unix time+-- stamp format.+--+-- 'encryptionConfiguration', 'service_encryptionConfiguration' - The encryption key that App Runner uses to encrypt the service logs and+-- the copy of the source repository that App Runner maintains for the+-- service. It can be either a customer-provided encryption key or an+-- Amazon Web Services managed key.+--+-- 'healthCheckConfiguration', 'service_healthCheckConfiguration' - The settings for the health check that App Runner performs to monitor+-- the health of this service.+--+-- 'observabilityConfiguration', 'service_observabilityConfiguration' - The observability configuration of this service.+--+-- 'serviceUrl', 'service_serviceUrl' - A subdomain URL that App Runner generated for this service. You can use+-- this URL to access your service web application.+--+-- 'serviceName', 'service_serviceName' - The customer-provided service name.+--+-- 'serviceId', 'service_serviceId' - An ID that App Runner generated for this service. It\'s unique within+-- the Amazon Web Services Region.+--+-- 'serviceArn', 'service_serviceArn' - The Amazon Resource Name (ARN) of this service.+--+-- 'createdAt', 'service_createdAt' - The time when the App Runner service was created. It\'s in the Unix time+-- stamp format.+--+-- 'updatedAt', 'service_updatedAt' - The time when the App Runner service was last updated at. It\'s in the+-- Unix time stamp format.+--+-- 'status', 'service_status' - The current state of the App Runner service. These particular values+-- mean the following.+--+-- -   @CREATE_FAILED@ – The service failed to create. To troubleshoot this+--     failure, read the failure events and logs, change any parameters+--     that need to be fixed, and retry the call to create the service.+--+--     The failed service isn\'t usable, and still counts towards your+--     service quota. When you\'re done analyzing the failure, delete the+--     service.+--+-- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+--     successfully recovered. Retry the service deletion call to ensure+--     that all related resources are removed.+--+-- 'sourceConfiguration', 'service_sourceConfiguration' - The source deployed to the App Runner service. It can be a code or an+-- image repository.+--+-- 'instanceConfiguration', 'service_instanceConfiguration' - The runtime configuration of instances (scaling units) of this service.+--+-- 'autoScalingConfigurationSummary', 'service_autoScalingConfigurationSummary' - Summary information for the App Runner automatic scaling configuration+-- resource that\'s associated with this service.+--+-- 'networkConfiguration', 'service_networkConfiguration' - Configuration settings related to network traffic of the web application+-- that this service runs.+newService ::+  -- | 'serviceName'+  Prelude.Text ->+  -- | 'serviceId'+  Prelude.Text ->+  -- | 'serviceArn'+  Prelude.Text ->+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'updatedAt'+  Prelude.UTCTime ->+  -- | 'status'+  ServiceStatus ->+  -- | 'sourceConfiguration'+  SourceConfiguration ->+  -- | 'instanceConfiguration'+  InstanceConfiguration ->+  -- | 'autoScalingConfigurationSummary'+  AutoScalingConfigurationSummary ->+  -- | 'networkConfiguration'+  NetworkConfiguration ->+  Service+newService+  pServiceName_+  pServiceId_+  pServiceArn_+  pCreatedAt_+  pUpdatedAt_+  pStatus_+  pSourceConfiguration_+  pInstanceConfiguration_+  pAutoScalingConfigurationSummary_+  pNetworkConfiguration_ =+    Service'+      { deletedAt = Prelude.Nothing,+        encryptionConfiguration = Prelude.Nothing,+        healthCheckConfiguration = Prelude.Nothing,+        observabilityConfiguration = Prelude.Nothing,+        serviceUrl = Prelude.Nothing,+        serviceName = pServiceName_,+        serviceId = pServiceId_,+        serviceArn = pServiceArn_,+        createdAt = Data._Time Lens.# pCreatedAt_,+        updatedAt = Data._Time Lens.# pUpdatedAt_,+        status = pStatus_,+        sourceConfiguration = pSourceConfiguration_,+        instanceConfiguration = pInstanceConfiguration_,+        autoScalingConfigurationSummary =+          pAutoScalingConfigurationSummary_,+        networkConfiguration = pNetworkConfiguration_+      }++-- | The time when the App Runner service was deleted. It\'s in the Unix time+-- stamp format.+service_deletedAt :: Lens.Lens' Service (Prelude.Maybe Prelude.UTCTime)+service_deletedAt = Lens.lens (\Service' {deletedAt} -> deletedAt) (\s@Service' {} a -> s {deletedAt = a} :: Service) Prelude.. Lens.mapping Data._Time++-- | The encryption key that App Runner uses to encrypt the service logs and+-- the copy of the source repository that App Runner maintains for the+-- service. It can be either a customer-provided encryption key or an+-- Amazon Web Services managed key.+service_encryptionConfiguration :: Lens.Lens' Service (Prelude.Maybe EncryptionConfiguration)+service_encryptionConfiguration = Lens.lens (\Service' {encryptionConfiguration} -> encryptionConfiguration) (\s@Service' {} a -> s {encryptionConfiguration = a} :: Service)++-- | The settings for the health check that App Runner performs to monitor+-- the health of this service.+service_healthCheckConfiguration :: Lens.Lens' Service (Prelude.Maybe HealthCheckConfiguration)+service_healthCheckConfiguration = Lens.lens (\Service' {healthCheckConfiguration} -> healthCheckConfiguration) (\s@Service' {} a -> s {healthCheckConfiguration = a} :: Service)++-- | The observability configuration of this service.+service_observabilityConfiguration :: Lens.Lens' Service (Prelude.Maybe ServiceObservabilityConfiguration)+service_observabilityConfiguration = Lens.lens (\Service' {observabilityConfiguration} -> observabilityConfiguration) (\s@Service' {} a -> s {observabilityConfiguration = a} :: Service)++-- | A subdomain URL that App Runner generated for this service. You can use+-- this URL to access your service web application.+service_serviceUrl :: Lens.Lens' Service (Prelude.Maybe Prelude.Text)+service_serviceUrl = Lens.lens (\Service' {serviceUrl} -> serviceUrl) (\s@Service' {} a -> s {serviceUrl = a} :: Service)++-- | The customer-provided service name.+service_serviceName :: Lens.Lens' Service Prelude.Text+service_serviceName = Lens.lens (\Service' {serviceName} -> serviceName) (\s@Service' {} a -> s {serviceName = a} :: Service)++-- | An ID that App Runner generated for this service. It\'s unique within+-- the Amazon Web Services Region.+service_serviceId :: Lens.Lens' Service Prelude.Text+service_serviceId = Lens.lens (\Service' {serviceId} -> serviceId) (\s@Service' {} a -> s {serviceId = a} :: Service)++-- | The Amazon Resource Name (ARN) of this service.+service_serviceArn :: Lens.Lens' Service Prelude.Text+service_serviceArn = Lens.lens (\Service' {serviceArn} -> serviceArn) (\s@Service' {} a -> s {serviceArn = a} :: Service)++-- | The time when the App Runner service was created. It\'s in the Unix time+-- stamp format.+service_createdAt :: Lens.Lens' Service Prelude.UTCTime+service_createdAt = Lens.lens (\Service' {createdAt} -> createdAt) (\s@Service' {} a -> s {createdAt = a} :: Service) Prelude.. Data._Time++-- | The time when the App Runner service was last updated at. It\'s in the+-- Unix time stamp format.+service_updatedAt :: Lens.Lens' Service Prelude.UTCTime+service_updatedAt = Lens.lens (\Service' {updatedAt} -> updatedAt) (\s@Service' {} a -> s {updatedAt = a} :: Service) Prelude.. Data._Time++-- | The current state of the App Runner service. These particular values+-- mean the following.+--+-- -   @CREATE_FAILED@ – The service failed to create. To troubleshoot this+--     failure, read the failure events and logs, change any parameters+--     that need to be fixed, and retry the call to create the service.+--+--     The failed service isn\'t usable, and still counts towards your+--     service quota. When you\'re done analyzing the failure, delete the+--     service.+--+-- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+--     successfully recovered. Retry the service deletion call to ensure+--     that all related resources are removed.+service_status :: Lens.Lens' Service ServiceStatus+service_status = Lens.lens (\Service' {status} -> status) (\s@Service' {} a -> s {status = a} :: Service)++-- | The source deployed to the App Runner service. It can be a code or an+-- image repository.+service_sourceConfiguration :: Lens.Lens' Service SourceConfiguration+service_sourceConfiguration = Lens.lens (\Service' {sourceConfiguration} -> sourceConfiguration) (\s@Service' {} a -> s {sourceConfiguration = a} :: Service)++-- | The runtime configuration of instances (scaling units) of this service.+service_instanceConfiguration :: Lens.Lens' Service InstanceConfiguration+service_instanceConfiguration = Lens.lens (\Service' {instanceConfiguration} -> instanceConfiguration) (\s@Service' {} a -> s {instanceConfiguration = a} :: Service)++-- | Summary information for the App Runner automatic scaling configuration+-- resource that\'s associated with this service.+service_autoScalingConfigurationSummary :: Lens.Lens' Service AutoScalingConfigurationSummary+service_autoScalingConfigurationSummary = Lens.lens (\Service' {autoScalingConfigurationSummary} -> autoScalingConfigurationSummary) (\s@Service' {} a -> s {autoScalingConfigurationSummary = a} :: Service)++-- | Configuration settings related to network traffic of the web application+-- that this service runs.+service_networkConfiguration :: Lens.Lens' Service NetworkConfiguration+service_networkConfiguration = Lens.lens (\Service' {networkConfiguration} -> networkConfiguration) (\s@Service' {} a -> s {networkConfiguration = a} :: Service)++instance Data.FromJSON Service where+  parseJSON =+    Data.withObject+      "Service"+      ( \x ->+          Service'+            Prelude.<$> (x Data..:? "DeletedAt")+            Prelude.<*> (x Data..:? "EncryptionConfiguration")+            Prelude.<*> (x Data..:? "HealthCheckConfiguration")+            Prelude.<*> (x Data..:? "ObservabilityConfiguration")+            Prelude.<*> (x Data..:? "ServiceUrl")+            Prelude.<*> (x Data..: "ServiceName")+            Prelude.<*> (x Data..: "ServiceId")+            Prelude.<*> (x Data..: "ServiceArn")+            Prelude.<*> (x Data..: "CreatedAt")+            Prelude.<*> (x Data..: "UpdatedAt")+            Prelude.<*> (x Data..: "Status")+            Prelude.<*> (x Data..: "SourceConfiguration")+            Prelude.<*> (x Data..: "InstanceConfiguration")+            Prelude.<*> (x Data..: "AutoScalingConfigurationSummary")+            Prelude.<*> (x Data..: "NetworkConfiguration")+      )++instance Prelude.Hashable Service where+  hashWithSalt _salt Service' {..} =+    _salt+      `Prelude.hashWithSalt` deletedAt+      `Prelude.hashWithSalt` encryptionConfiguration+      `Prelude.hashWithSalt` healthCheckConfiguration+      `Prelude.hashWithSalt` observabilityConfiguration+      `Prelude.hashWithSalt` serviceUrl+      `Prelude.hashWithSalt` serviceName+      `Prelude.hashWithSalt` serviceId+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` updatedAt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` sourceConfiguration+      `Prelude.hashWithSalt` instanceConfiguration+      `Prelude.hashWithSalt` autoScalingConfigurationSummary+      `Prelude.hashWithSalt` networkConfiguration++instance Prelude.NFData Service where+  rnf Service' {..} =+    Prelude.rnf deletedAt+      `Prelude.seq` Prelude.rnf encryptionConfiguration+      `Prelude.seq` Prelude.rnf healthCheckConfiguration+      `Prelude.seq` Prelude.rnf observabilityConfiguration+      `Prelude.seq` Prelude.rnf serviceUrl+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf updatedAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf instanceConfiguration+      `Prelude.seq` Prelude.rnf+        autoScalingConfigurationSummary+      `Prelude.seq` Prelude.rnf networkConfiguration
+ gen/Amazonka/AppRunner/Types/ServiceObservabilityConfiguration.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.ServiceObservabilityConfiguration+-- 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.AppRunner.Types.ServiceObservabilityConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the observability configuration of an App Runner service.+-- These are additional observability features, like tracing, that you+-- choose to enable. They\'re configured in a separate resource that you+-- associate with your service.+--+-- /See:/ 'newServiceObservabilityConfiguration' smart constructor.+data ServiceObservabilityConfiguration = ServiceObservabilityConfiguration'+  { -- | The Amazon Resource Name (ARN) of the observability configuration that+    -- is associated with the service. Specified only when+    -- @ObservabilityEnabled@ is @true@.+    --+    -- Specify an ARN with a name and a revision number to associate that+    -- revision. For example:+    -- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing\/3@+    --+    -- Specify just the name to associate the latest revision. For example:+    -- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing@+    observabilityConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | When @true@, an observability configuration resource is associated with+    -- the service, and an @ObservabilityConfigurationArn@ is specified.+    observabilityEnabled :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceObservabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'observabilityConfigurationArn', 'serviceObservabilityConfiguration_observabilityConfigurationArn' - The Amazon Resource Name (ARN) of the observability configuration that+-- is associated with the service. Specified only when+-- @ObservabilityEnabled@ is @true@.+--+-- Specify an ARN with a name and a revision number to associate that+-- revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing\/3@+--+-- Specify just the name to associate the latest revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing@+--+-- 'observabilityEnabled', 'serviceObservabilityConfiguration_observabilityEnabled' - When @true@, an observability configuration resource is associated with+-- the service, and an @ObservabilityConfigurationArn@ is specified.+newServiceObservabilityConfiguration ::+  -- | 'observabilityEnabled'+  Prelude.Bool ->+  ServiceObservabilityConfiguration+newServiceObservabilityConfiguration+  pObservabilityEnabled_ =+    ServiceObservabilityConfiguration'+      { observabilityConfigurationArn =+          Prelude.Nothing,+        observabilityEnabled =+          pObservabilityEnabled_+      }++-- | The Amazon Resource Name (ARN) of the observability configuration that+-- is associated with the service. Specified only when+-- @ObservabilityEnabled@ is @true@.+--+-- Specify an ARN with a name and a revision number to associate that+-- revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing\/3@+--+-- Specify just the name to associate the latest revision. For example:+-- @arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration\/xray-tracing@+serviceObservabilityConfiguration_observabilityConfigurationArn :: Lens.Lens' ServiceObservabilityConfiguration (Prelude.Maybe Prelude.Text)+serviceObservabilityConfiguration_observabilityConfigurationArn = Lens.lens (\ServiceObservabilityConfiguration' {observabilityConfigurationArn} -> observabilityConfigurationArn) (\s@ServiceObservabilityConfiguration' {} a -> s {observabilityConfigurationArn = a} :: ServiceObservabilityConfiguration)++-- | When @true@, an observability configuration resource is associated with+-- the service, and an @ObservabilityConfigurationArn@ is specified.+serviceObservabilityConfiguration_observabilityEnabled :: Lens.Lens' ServiceObservabilityConfiguration Prelude.Bool+serviceObservabilityConfiguration_observabilityEnabled = Lens.lens (\ServiceObservabilityConfiguration' {observabilityEnabled} -> observabilityEnabled) (\s@ServiceObservabilityConfiguration' {} a -> s {observabilityEnabled = a} :: ServiceObservabilityConfiguration)++instance+  Data.FromJSON+    ServiceObservabilityConfiguration+  where+  parseJSON =+    Data.withObject+      "ServiceObservabilityConfiguration"+      ( \x ->+          ServiceObservabilityConfiguration'+            Prelude.<$> (x Data..:? "ObservabilityConfigurationArn")+            Prelude.<*> (x Data..: "ObservabilityEnabled")+      )++instance+  Prelude.Hashable+    ServiceObservabilityConfiguration+  where+  hashWithSalt+    _salt+    ServiceObservabilityConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` observabilityConfigurationArn+        `Prelude.hashWithSalt` observabilityEnabled++instance+  Prelude.NFData+    ServiceObservabilityConfiguration+  where+  rnf ServiceObservabilityConfiguration' {..} =+    Prelude.rnf observabilityConfigurationArn+      `Prelude.seq` Prelude.rnf observabilityEnabled++instance+  Data.ToJSON+    ServiceObservabilityConfiguration+  where+  toJSON ServiceObservabilityConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ObservabilityConfigurationArn" Data..=)+              Prelude.<$> observabilityConfigurationArn,+            Prelude.Just+              ( "ObservabilityEnabled"+                  Data..= observabilityEnabled+              )+          ]+      )
+ gen/Amazonka/AppRunner/Types/ServiceStatus.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.AppRunner.Types.ServiceStatus+-- 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.AppRunner.Types.ServiceStatus+  ( ServiceStatus+      ( ..,+        ServiceStatus_CREATE_FAILED,+        ServiceStatus_DELETED,+        ServiceStatus_DELETE_FAILED,+        ServiceStatus_OPERATION_IN_PROGRESS,+        ServiceStatus_PAUSED,+        ServiceStatus_RUNNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceStatus = ServiceStatus'+  { fromServiceStatus ::+      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 ServiceStatus_CREATE_FAILED :: ServiceStatus+pattern ServiceStatus_CREATE_FAILED = ServiceStatus' "CREATE_FAILED"++pattern ServiceStatus_DELETED :: ServiceStatus+pattern ServiceStatus_DELETED = ServiceStatus' "DELETED"++pattern ServiceStatus_DELETE_FAILED :: ServiceStatus+pattern ServiceStatus_DELETE_FAILED = ServiceStatus' "DELETE_FAILED"++pattern ServiceStatus_OPERATION_IN_PROGRESS :: ServiceStatus+pattern ServiceStatus_OPERATION_IN_PROGRESS = ServiceStatus' "OPERATION_IN_PROGRESS"++pattern ServiceStatus_PAUSED :: ServiceStatus+pattern ServiceStatus_PAUSED = ServiceStatus' "PAUSED"++pattern ServiceStatus_RUNNING :: ServiceStatus+pattern ServiceStatus_RUNNING = ServiceStatus' "RUNNING"++{-# COMPLETE+  ServiceStatus_CREATE_FAILED,+  ServiceStatus_DELETED,+  ServiceStatus_DELETE_FAILED,+  ServiceStatus_OPERATION_IN_PROGRESS,+  ServiceStatus_PAUSED,+  ServiceStatus_RUNNING,+  ServiceStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/ServiceSummary.hs view
@@ -0,0 +1,208 @@+{-# 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.AppRunner.Types.ServiceSummary+-- 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.AppRunner.Types.ServiceSummary where++import Amazonka.AppRunner.Types.ServiceStatus+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++-- | Provides summary information for an App Runner service.+--+-- This type contains limited information about a service. It doesn\'t+-- include configuration details. It\'s returned by the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_ListServices.html ListServices>+-- action. Complete service information is returned by the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html CreateService>,+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_DescribeService.html DescribeService>,+-- and+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_DeleteService.html DeleteService>+-- actions using the+-- <https://docs.aws.amazon.com/apprunner/latest/api/API_Service.html Service>+-- type.+--+-- /See:/ 'newServiceSummary' smart constructor.+data ServiceSummary = ServiceSummary'+  { -- | The time when the App Runner service was created. It\'s in the Unix time+    -- stamp format.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of this service.+    serviceArn :: Prelude.Maybe Prelude.Text,+    -- | An ID that App Runner generated for this service. It\'s unique within+    -- the Amazon Web Services Region.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided service name.+    serviceName :: Prelude.Maybe Prelude.Text,+    -- | A subdomain URL that App Runner generated for this service. You can use+    -- this URL to access your service web application.+    serviceUrl :: Prelude.Maybe Prelude.Text,+    -- | The current state of the App Runner service. These particular values+    -- mean the following.+    --+    -- -   @CREATE_FAILED@ – The service failed to create. Read the failure+    --     events and logs, change any parameters that need to be fixed, and+    --     retry the call to create the service.+    --+    --     The failed service isn\'t usable, and still counts towards your+    --     service quota. When you\'re done analyzing the failure, delete the+    --     service.+    --+    -- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+    --     successfully recovered. Retry the service deletion call to ensure+    --     that all related resources are removed.+    status :: Prelude.Maybe ServiceStatus,+    -- | The time when the App Runner service was last updated. It\'s in theUnix+    -- time stamp format.+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'serviceSummary_createdAt' - The time when the App Runner service was created. It\'s in the Unix time+-- stamp format.+--+-- 'serviceArn', 'serviceSummary_serviceArn' - The Amazon Resource Name (ARN) of this service.+--+-- 'serviceId', 'serviceSummary_serviceId' - An ID that App Runner generated for this service. It\'s unique within+-- the Amazon Web Services Region.+--+-- 'serviceName', 'serviceSummary_serviceName' - The customer-provided service name.+--+-- 'serviceUrl', 'serviceSummary_serviceUrl' - A subdomain URL that App Runner generated for this service. You can use+-- this URL to access your service web application.+--+-- 'status', 'serviceSummary_status' - The current state of the App Runner service. These particular values+-- mean the following.+--+-- -   @CREATE_FAILED@ – The service failed to create. Read the failure+--     events and logs, change any parameters that need to be fixed, and+--     retry the call to create the service.+--+--     The failed service isn\'t usable, and still counts towards your+--     service quota. When you\'re done analyzing the failure, delete the+--     service.+--+-- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+--     successfully recovered. Retry the service deletion call to ensure+--     that all related resources are removed.+--+-- 'updatedAt', 'serviceSummary_updatedAt' - The time when the App Runner service was last updated. It\'s in theUnix+-- time stamp format.+newServiceSummary ::+  ServiceSummary+newServiceSummary =+  ServiceSummary'+    { createdAt = Prelude.Nothing,+      serviceArn = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      serviceName = Prelude.Nothing,+      serviceUrl = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | The time when the App Runner service was created. It\'s in the Unix time+-- stamp format.+serviceSummary_createdAt :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.UTCTime)+serviceSummary_createdAt = Lens.lens (\ServiceSummary' {createdAt} -> createdAt) (\s@ServiceSummary' {} a -> s {createdAt = a} :: ServiceSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of this service.+serviceSummary_serviceArn :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_serviceArn = Lens.lens (\ServiceSummary' {serviceArn} -> serviceArn) (\s@ServiceSummary' {} a -> s {serviceArn = a} :: ServiceSummary)++-- | An ID that App Runner generated for this service. It\'s unique within+-- the Amazon Web Services Region.+serviceSummary_serviceId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_serviceId = Lens.lens (\ServiceSummary' {serviceId} -> serviceId) (\s@ServiceSummary' {} a -> s {serviceId = a} :: ServiceSummary)++-- | The customer-provided service name.+serviceSummary_serviceName :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_serviceName = Lens.lens (\ServiceSummary' {serviceName} -> serviceName) (\s@ServiceSummary' {} a -> s {serviceName = a} :: ServiceSummary)++-- | A subdomain URL that App Runner generated for this service. You can use+-- this URL to access your service web application.+serviceSummary_serviceUrl :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_serviceUrl = Lens.lens (\ServiceSummary' {serviceUrl} -> serviceUrl) (\s@ServiceSummary' {} a -> s {serviceUrl = a} :: ServiceSummary)++-- | The current state of the App Runner service. These particular values+-- mean the following.+--+-- -   @CREATE_FAILED@ – The service failed to create. Read the failure+--     events and logs, change any parameters that need to be fixed, and+--     retry the call to create the service.+--+--     The failed service isn\'t usable, and still counts towards your+--     service quota. When you\'re done analyzing the failure, delete the+--     service.+--+-- -   @DELETE_FAILED@ – The service failed to delete and can\'t be+--     successfully recovered. Retry the service deletion call to ensure+--     that all related resources are removed.+serviceSummary_status :: Lens.Lens' ServiceSummary (Prelude.Maybe ServiceStatus)+serviceSummary_status = Lens.lens (\ServiceSummary' {status} -> status) (\s@ServiceSummary' {} a -> s {status = a} :: ServiceSummary)++-- | The time when the App Runner service was last updated. It\'s in theUnix+-- time stamp format.+serviceSummary_updatedAt :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.UTCTime)+serviceSummary_updatedAt = Lens.lens (\ServiceSummary' {updatedAt} -> updatedAt) (\s@ServiceSummary' {} a -> s {updatedAt = a} :: ServiceSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON ServiceSummary where+  parseJSON =+    Data.withObject+      "ServiceSummary"+      ( \x ->+          ServiceSummary'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "ServiceArn")+            Prelude.<*> (x Data..:? "ServiceId")+            Prelude.<*> (x Data..:? "ServiceName")+            Prelude.<*> (x Data..:? "ServiceUrl")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable ServiceSummary where+  hashWithSalt _salt ServiceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` serviceId+      `Prelude.hashWithSalt` serviceName+      `Prelude.hashWithSalt` serviceUrl+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData ServiceSummary where+  rnf ServiceSummary' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf serviceUrl+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/AppRunner/Types/SourceCodeVersion.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.AppRunner.Types.SourceCodeVersion+-- 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.AppRunner.Types.SourceCodeVersion where++import Amazonka.AppRunner.Types.SourceCodeVersionType+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++-- | Identifies a version of code that App Runner refers to within a source+-- code repository.+--+-- /See:/ 'newSourceCodeVersion' smart constructor.+data SourceCodeVersion = SourceCodeVersion'+  { -- | The type of version identifier.+    --+    -- For a git-based repository, branches represent versions.+    type' :: SourceCodeVersionType,+    -- | A source code version.+    --+    -- For a git-based repository, a branch name maps to a specific version.+    -- App Runner uses the most recent commit to the branch.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceCodeVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'sourceCodeVersion_type' - The type of version identifier.+--+-- For a git-based repository, branches represent versions.+--+-- 'value', 'sourceCodeVersion_value' - A source code version.+--+-- For a git-based repository, a branch name maps to a specific version.+-- App Runner uses the most recent commit to the branch.+newSourceCodeVersion ::+  -- | 'type''+  SourceCodeVersionType ->+  -- | 'value'+  Prelude.Text ->+  SourceCodeVersion+newSourceCodeVersion pType_ pValue_ =+  SourceCodeVersion' {type' = pType_, value = pValue_}++-- | The type of version identifier.+--+-- For a git-based repository, branches represent versions.+sourceCodeVersion_type :: Lens.Lens' SourceCodeVersion SourceCodeVersionType+sourceCodeVersion_type = Lens.lens (\SourceCodeVersion' {type'} -> type') (\s@SourceCodeVersion' {} a -> s {type' = a} :: SourceCodeVersion)++-- | A source code version.+--+-- For a git-based repository, a branch name maps to a specific version.+-- App Runner uses the most recent commit to the branch.+sourceCodeVersion_value :: Lens.Lens' SourceCodeVersion Prelude.Text+sourceCodeVersion_value = Lens.lens (\SourceCodeVersion' {value} -> value) (\s@SourceCodeVersion' {} a -> s {value = a} :: SourceCodeVersion)++instance Data.FromJSON SourceCodeVersion where+  parseJSON =+    Data.withObject+      "SourceCodeVersion"+      ( \x ->+          SourceCodeVersion'+            Prelude.<$> (x Data..: "Type")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable SourceCodeVersion where+  hashWithSalt _salt SourceCodeVersion' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData SourceCodeVersion where+  rnf SourceCodeVersion' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SourceCodeVersion where+  toJSON SourceCodeVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/AppRunner/Types/SourceCodeVersionType.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.AppRunner.Types.SourceCodeVersionType+-- 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.AppRunner.Types.SourceCodeVersionType+  ( SourceCodeVersionType+      ( ..,+        SourceCodeVersionType_BRANCH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceCodeVersionType = SourceCodeVersionType'+  { fromSourceCodeVersionType ::+      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 SourceCodeVersionType_BRANCH :: SourceCodeVersionType+pattern SourceCodeVersionType_BRANCH = SourceCodeVersionType' "BRANCH"++{-# COMPLETE+  SourceCodeVersionType_BRANCH,+  SourceCodeVersionType'+  #-}
+ gen/Amazonka/AppRunner/Types/SourceConfiguration.hs view
@@ -0,0 +1,167 @@+{-# 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.AppRunner.Types.SourceConfiguration+-- 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.AppRunner.Types.SourceConfiguration where++import Amazonka.AppRunner.Types.AuthenticationConfiguration+import Amazonka.AppRunner.Types.CodeRepository+import Amazonka.AppRunner.Types.ImageRepository+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the source deployed to an App Runner service. It can be a code+-- or an image repository.+--+-- /See:/ 'newSourceConfiguration' smart constructor.+data SourceConfiguration = SourceConfiguration'+  { -- | Describes the resources that are needed to authenticate access to some+    -- source repositories.+    authenticationConfiguration :: Prelude.Maybe AuthenticationConfiguration,+    -- | If @true@, continuous integration from the source repository is enabled+    -- for the App Runner service. Each repository change (including any source+    -- code commit or new image version) starts a deployment.+    --+    -- Default: App Runner sets to @false@ for a source image that uses an ECR+    -- Public repository or an ECR repository that\'s in an Amazon Web Services+    -- account other than the one that the service is in. App Runner sets to+    -- @true@ in all other cases (which currently include a source code+    -- repository or a source image using a same-account ECR repository).+    autoDeploymentsEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The description of a source code repository.+    --+    -- You must provide either this member or @ImageRepository@ (but not both).+    codeRepository :: Prelude.Maybe CodeRepository,+    -- | The description of a source image repository.+    --+    -- You must provide either this member or @CodeRepository@ (but not both).+    imageRepository :: Prelude.Maybe ImageRepository+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authenticationConfiguration', 'sourceConfiguration_authenticationConfiguration' - Describes the resources that are needed to authenticate access to some+-- source repositories.+--+-- 'autoDeploymentsEnabled', 'sourceConfiguration_autoDeploymentsEnabled' - If @true@, continuous integration from the source repository is enabled+-- for the App Runner service. Each repository change (including any source+-- code commit or new image version) starts a deployment.+--+-- Default: App Runner sets to @false@ for a source image that uses an ECR+-- Public repository or an ECR repository that\'s in an Amazon Web Services+-- account other than the one that the service is in. App Runner sets to+-- @true@ in all other cases (which currently include a source code+-- repository or a source image using a same-account ECR repository).+--+-- 'codeRepository', 'sourceConfiguration_codeRepository' - The description of a source code repository.+--+-- You must provide either this member or @ImageRepository@ (but not both).+--+-- 'imageRepository', 'sourceConfiguration_imageRepository' - The description of a source image repository.+--+-- You must provide either this member or @CodeRepository@ (but not both).+newSourceConfiguration ::+  SourceConfiguration+newSourceConfiguration =+  SourceConfiguration'+    { authenticationConfiguration =+        Prelude.Nothing,+      autoDeploymentsEnabled = Prelude.Nothing,+      codeRepository = Prelude.Nothing,+      imageRepository = Prelude.Nothing+    }++-- | Describes the resources that are needed to authenticate access to some+-- source repositories.+sourceConfiguration_authenticationConfiguration :: Lens.Lens' SourceConfiguration (Prelude.Maybe AuthenticationConfiguration)+sourceConfiguration_authenticationConfiguration = Lens.lens (\SourceConfiguration' {authenticationConfiguration} -> authenticationConfiguration) (\s@SourceConfiguration' {} a -> s {authenticationConfiguration = a} :: SourceConfiguration)++-- | If @true@, continuous integration from the source repository is enabled+-- for the App Runner service. Each repository change (including any source+-- code commit or new image version) starts a deployment.+--+-- Default: App Runner sets to @false@ for a source image that uses an ECR+-- Public repository or an ECR repository that\'s in an Amazon Web Services+-- account other than the one that the service is in. App Runner sets to+-- @true@ in all other cases (which currently include a source code+-- repository or a source image using a same-account ECR repository).+sourceConfiguration_autoDeploymentsEnabled :: Lens.Lens' SourceConfiguration (Prelude.Maybe Prelude.Bool)+sourceConfiguration_autoDeploymentsEnabled = Lens.lens (\SourceConfiguration' {autoDeploymentsEnabled} -> autoDeploymentsEnabled) (\s@SourceConfiguration' {} a -> s {autoDeploymentsEnabled = a} :: SourceConfiguration)++-- | The description of a source code repository.+--+-- You must provide either this member or @ImageRepository@ (but not both).+sourceConfiguration_codeRepository :: Lens.Lens' SourceConfiguration (Prelude.Maybe CodeRepository)+sourceConfiguration_codeRepository = Lens.lens (\SourceConfiguration' {codeRepository} -> codeRepository) (\s@SourceConfiguration' {} a -> s {codeRepository = a} :: SourceConfiguration)++-- | The description of a source image repository.+--+-- You must provide either this member or @CodeRepository@ (but not both).+sourceConfiguration_imageRepository :: Lens.Lens' SourceConfiguration (Prelude.Maybe ImageRepository)+sourceConfiguration_imageRepository = Lens.lens (\SourceConfiguration' {imageRepository} -> imageRepository) (\s@SourceConfiguration' {} a -> s {imageRepository = a} :: SourceConfiguration)++instance Data.FromJSON SourceConfiguration where+  parseJSON =+    Data.withObject+      "SourceConfiguration"+      ( \x ->+          SourceConfiguration'+            Prelude.<$> (x Data..:? "AuthenticationConfiguration")+            Prelude.<*> (x Data..:? "AutoDeploymentsEnabled")+            Prelude.<*> (x Data..:? "CodeRepository")+            Prelude.<*> (x Data..:? "ImageRepository")+      )++instance Prelude.Hashable SourceConfiguration where+  hashWithSalt _salt SourceConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` authenticationConfiguration+      `Prelude.hashWithSalt` autoDeploymentsEnabled+      `Prelude.hashWithSalt` codeRepository+      `Prelude.hashWithSalt` imageRepository++instance Prelude.NFData SourceConfiguration where+  rnf SourceConfiguration' {..} =+    Prelude.rnf authenticationConfiguration+      `Prelude.seq` Prelude.rnf autoDeploymentsEnabled+      `Prelude.seq` Prelude.rnf codeRepository+      `Prelude.seq` Prelude.rnf imageRepository++instance Data.ToJSON SourceConfiguration where+  toJSON SourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AuthenticationConfiguration" Data..=)+              Prelude.<$> authenticationConfiguration,+            ("AutoDeploymentsEnabled" Data..=)+              Prelude.<$> autoDeploymentsEnabled,+            ("CodeRepository" Data..=)+              Prelude.<$> codeRepository,+            ("ImageRepository" Data..=)+              Prelude.<$> imageRepository+          ]+      )
+ gen/Amazonka/AppRunner/Types/Tag.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.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.AppRunner.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++-- | Describes a tag that is applied to an App Runner resource. A tag is a+-- metadata item consisting of a key-value pair.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The key of the tag.+    key :: Prelude.Maybe Prelude.Text,+    -- | The value of the tag.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key of the tag.+--+-- 'value', 'tag_value' - The value of the tag.+newTag ::+  Tag+newTag =+  Tag'+    { key = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The key of the tag.+tag_key :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value of the tag.+tag_value :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..:? "Key")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Key" Data..=) Prelude.<$> key,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/AppRunner/Types/TraceConfiguration.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.AppRunner.Types.TraceConfiguration+-- 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.AppRunner.Types.TraceConfiguration where++import Amazonka.AppRunner.Types.TracingVendor+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the configuration of the tracing feature within an App Runner+-- observability configuration.+--+-- /See:/ 'newTraceConfiguration' smart constructor.+data TraceConfiguration = TraceConfiguration'+  { -- | The implementation provider chosen for tracing App Runner services.+    vendor :: TracingVendor+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TraceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vendor', 'traceConfiguration_vendor' - The implementation provider chosen for tracing App Runner services.+newTraceConfiguration ::+  -- | 'vendor'+  TracingVendor ->+  TraceConfiguration+newTraceConfiguration pVendor_ =+  TraceConfiguration' {vendor = pVendor_}++-- | The implementation provider chosen for tracing App Runner services.+traceConfiguration_vendor :: Lens.Lens' TraceConfiguration TracingVendor+traceConfiguration_vendor = Lens.lens (\TraceConfiguration' {vendor} -> vendor) (\s@TraceConfiguration' {} a -> s {vendor = a} :: TraceConfiguration)++instance Data.FromJSON TraceConfiguration where+  parseJSON =+    Data.withObject+      "TraceConfiguration"+      ( \x ->+          TraceConfiguration' Prelude.<$> (x Data..: "Vendor")+      )++instance Prelude.Hashable TraceConfiguration where+  hashWithSalt _salt TraceConfiguration' {..} =+    _salt `Prelude.hashWithSalt` vendor++instance Prelude.NFData TraceConfiguration where+  rnf TraceConfiguration' {..} = Prelude.rnf vendor++instance Data.ToJSON TraceConfiguration where+  toJSON TraceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Vendor" Data..= vendor)]+      )
+ gen/Amazonka/AppRunner/Types/TracingVendor.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.AppRunner.Types.TracingVendor+-- 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.AppRunner.Types.TracingVendor+  ( TracingVendor+      ( ..,+        TracingVendor_AWSXRAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TracingVendor = TracingVendor'+  { fromTracingVendor ::+      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 TracingVendor_AWSXRAY :: TracingVendor+pattern TracingVendor_AWSXRAY = TracingVendor' "AWSXRAY"++{-# COMPLETE+  TracingVendor_AWSXRAY,+  TracingVendor'+  #-}
+ gen/Amazonka/AppRunner/Types/VpcConnector.hs view
@@ -0,0 +1,201 @@+{-# 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.AppRunner.Types.VpcConnector+-- 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.AppRunner.Types.VpcConnector where++import Amazonka.AppRunner.Types.VpcConnectorStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an App Runner VPC connector resource. A VPC connector+-- describes the Amazon Virtual Private Cloud (Amazon VPC) that an App+-- Runner service is associated with, and the subnets and security group+-- that are used.+--+-- Multiple revisions of a connector might have the same @Name@ and+-- different @Revision@ values.+--+-- At this time, App Runner supports only one revision per name.+--+-- /See:/ 'newVpcConnector' smart constructor.+data VpcConnector = VpcConnector'+  { -- | The time when the VPC connector was created. It\'s in Unix time stamp+    -- format.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The time when the VPC connector was deleted. It\'s in Unix time stamp+    -- format.+    deletedAt :: Prelude.Maybe Data.POSIX,+    -- | A list of IDs of security groups that App Runner uses for access to+    -- Amazon Web Services resources under the specified subnets. If not+    -- specified, App Runner uses the default security group of the Amazon VPC.+    -- The default security group allows all outbound traffic.+    securityGroups :: Prelude.Maybe [Prelude.Text],+    -- | The current state of the VPC connector. If the status of a connector+    -- revision is @INACTIVE@, it was deleted and can\'t be used. Inactive+    -- connector revisions are permanently removed some time after they are+    -- deleted.+    status :: Prelude.Maybe VpcConnectorStatus,+    -- | A list of IDs of subnets that App Runner uses for your service. All IDs+    -- are of subnets of a single Amazon VPC.+    subnets :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) of this VPC connector.+    vpcConnectorArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided VPC connector name.+    vpcConnectorName :: Prelude.Maybe Prelude.Text,+    -- | The revision of this VPC connector. It\'s unique among all the active+    -- connectors (@\"Status\": \"ACTIVE\"@) that share the same @Name@.+    --+    -- At this time, App Runner supports only one revision per name.+    vpcConnectorRevision :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'vpcConnector_createdAt' - The time when the VPC connector was created. It\'s in Unix time stamp+-- format.+--+-- 'deletedAt', 'vpcConnector_deletedAt' - The time when the VPC connector was deleted. It\'s in Unix time stamp+-- format.+--+-- 'securityGroups', 'vpcConnector_securityGroups' - A list of IDs of security groups that App Runner uses for access to+-- Amazon Web Services resources under the specified subnets. If not+-- specified, App Runner uses the default security group of the Amazon VPC.+-- The default security group allows all outbound traffic.+--+-- 'status', 'vpcConnector_status' - The current state of the VPC connector. If the status of a connector+-- revision is @INACTIVE@, it was deleted and can\'t be used. Inactive+-- connector revisions are permanently removed some time after they are+-- deleted.+--+-- 'subnets', 'vpcConnector_subnets' - A list of IDs of subnets that App Runner uses for your service. All IDs+-- are of subnets of a single Amazon VPC.+--+-- 'vpcConnectorArn', 'vpcConnector_vpcConnectorArn' - The Amazon Resource Name (ARN) of this VPC connector.+--+-- 'vpcConnectorName', 'vpcConnector_vpcConnectorName' - The customer-provided VPC connector name.+--+-- 'vpcConnectorRevision', 'vpcConnector_vpcConnectorRevision' - The revision of this VPC connector. It\'s unique among all the active+-- connectors (@\"Status\": \"ACTIVE\"@) that share the same @Name@.+--+-- At this time, App Runner supports only one revision per name.+newVpcConnector ::+  VpcConnector+newVpcConnector =+  VpcConnector'+    { createdAt = Prelude.Nothing,+      deletedAt = Prelude.Nothing,+      securityGroups = Prelude.Nothing,+      status = Prelude.Nothing,+      subnets = Prelude.Nothing,+      vpcConnectorArn = Prelude.Nothing,+      vpcConnectorName = Prelude.Nothing,+      vpcConnectorRevision = Prelude.Nothing+    }++-- | The time when the VPC connector was created. It\'s in Unix time stamp+-- format.+vpcConnector_createdAt :: Lens.Lens' VpcConnector (Prelude.Maybe Prelude.UTCTime)+vpcConnector_createdAt = Lens.lens (\VpcConnector' {createdAt} -> createdAt) (\s@VpcConnector' {} a -> s {createdAt = a} :: VpcConnector) Prelude.. Lens.mapping Data._Time++-- | The time when the VPC connector was deleted. It\'s in Unix time stamp+-- format.+vpcConnector_deletedAt :: Lens.Lens' VpcConnector (Prelude.Maybe Prelude.UTCTime)+vpcConnector_deletedAt = Lens.lens (\VpcConnector' {deletedAt} -> deletedAt) (\s@VpcConnector' {} a -> s {deletedAt = a} :: VpcConnector) Prelude.. Lens.mapping Data._Time++-- | A list of IDs of security groups that App Runner uses for access to+-- Amazon Web Services resources under the specified subnets. If not+-- specified, App Runner uses the default security group of the Amazon VPC.+-- The default security group allows all outbound traffic.+vpcConnector_securityGroups :: Lens.Lens' VpcConnector (Prelude.Maybe [Prelude.Text])+vpcConnector_securityGroups = Lens.lens (\VpcConnector' {securityGroups} -> securityGroups) (\s@VpcConnector' {} a -> s {securityGroups = a} :: VpcConnector) Prelude.. Lens.mapping Lens.coerced++-- | The current state of the VPC connector. If the status of a connector+-- revision is @INACTIVE@, it was deleted and can\'t be used. Inactive+-- connector revisions are permanently removed some time after they are+-- deleted.+vpcConnector_status :: Lens.Lens' VpcConnector (Prelude.Maybe VpcConnectorStatus)+vpcConnector_status = Lens.lens (\VpcConnector' {status} -> status) (\s@VpcConnector' {} a -> s {status = a} :: VpcConnector)++-- | A list of IDs of subnets that App Runner uses for your service. All IDs+-- are of subnets of a single Amazon VPC.+vpcConnector_subnets :: Lens.Lens' VpcConnector (Prelude.Maybe [Prelude.Text])+vpcConnector_subnets = Lens.lens (\VpcConnector' {subnets} -> subnets) (\s@VpcConnector' {} a -> s {subnets = a} :: VpcConnector) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of this VPC connector.+vpcConnector_vpcConnectorArn :: Lens.Lens' VpcConnector (Prelude.Maybe Prelude.Text)+vpcConnector_vpcConnectorArn = Lens.lens (\VpcConnector' {vpcConnectorArn} -> vpcConnectorArn) (\s@VpcConnector' {} a -> s {vpcConnectorArn = a} :: VpcConnector)++-- | The customer-provided VPC connector name.+vpcConnector_vpcConnectorName :: Lens.Lens' VpcConnector (Prelude.Maybe Prelude.Text)+vpcConnector_vpcConnectorName = Lens.lens (\VpcConnector' {vpcConnectorName} -> vpcConnectorName) (\s@VpcConnector' {} a -> s {vpcConnectorName = a} :: VpcConnector)++-- | The revision of this VPC connector. It\'s unique among all the active+-- connectors (@\"Status\": \"ACTIVE\"@) that share the same @Name@.+--+-- At this time, App Runner supports only one revision per name.+vpcConnector_vpcConnectorRevision :: Lens.Lens' VpcConnector (Prelude.Maybe Prelude.Int)+vpcConnector_vpcConnectorRevision = Lens.lens (\VpcConnector' {vpcConnectorRevision} -> vpcConnectorRevision) (\s@VpcConnector' {} a -> s {vpcConnectorRevision = a} :: VpcConnector)++instance Data.FromJSON VpcConnector where+  parseJSON =+    Data.withObject+      "VpcConnector"+      ( \x ->+          VpcConnector'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "DeletedAt")+            Prelude.<*> (x Data..:? "SecurityGroups" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Subnets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "VpcConnectorArn")+            Prelude.<*> (x Data..:? "VpcConnectorName")+            Prelude.<*> (x Data..:? "VpcConnectorRevision")+      )++instance Prelude.Hashable VpcConnector where+  hashWithSalt _salt VpcConnector' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` deletedAt+      `Prelude.hashWithSalt` securityGroups+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` subnets+      `Prelude.hashWithSalt` vpcConnectorArn+      `Prelude.hashWithSalt` vpcConnectorName+      `Prelude.hashWithSalt` vpcConnectorRevision++instance Prelude.NFData VpcConnector where+  rnf VpcConnector' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf deletedAt+      `Prelude.seq` Prelude.rnf securityGroups+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf subnets+      `Prelude.seq` Prelude.rnf vpcConnectorArn+      `Prelude.seq` Prelude.rnf vpcConnectorName+      `Prelude.seq` Prelude.rnf vpcConnectorRevision
+ gen/Amazonka/AppRunner/Types/VpcConnectorStatus.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.AppRunner.Types.VpcConnectorStatus+-- 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.AppRunner.Types.VpcConnectorStatus+  ( VpcConnectorStatus+      ( ..,+        VpcConnectorStatus_ACTIVE,+        VpcConnectorStatus_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VpcConnectorStatus = VpcConnectorStatus'+  { fromVpcConnectorStatus ::+      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 VpcConnectorStatus_ACTIVE :: VpcConnectorStatus+pattern VpcConnectorStatus_ACTIVE = VpcConnectorStatus' "ACTIVE"++pattern VpcConnectorStatus_INACTIVE :: VpcConnectorStatus+pattern VpcConnectorStatus_INACTIVE = VpcConnectorStatus' "INACTIVE"++{-# COMPLETE+  VpcConnectorStatus_ACTIVE,+  VpcConnectorStatus_INACTIVE,+  VpcConnectorStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/VpcDNSTarget.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.AppRunner.Types.VpcDNSTarget+-- 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.AppRunner.Types.VpcDNSTarget 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++-- | DNS Target record for a custom domain of this Amazon VPC.+--+-- /See:/ 'newVpcDNSTarget' smart constructor.+data VpcDNSTarget = VpcDNSTarget'+  { -- | The domain name of your target DNS that is associated with the Amazon+    -- VPC.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon VPC that is associated with the custom domain name+    -- of the target DNS.+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the VPC Ingress Connection that is+    -- associated with your service.+    vpcIngressConnectionArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcDNSTarget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainName', 'vpcDNSTarget_domainName' - The domain name of your target DNS that is associated with the Amazon+-- VPC.+--+-- 'vpcId', 'vpcDNSTarget_vpcId' - The ID of the Amazon VPC that is associated with the custom domain name+-- of the target DNS.+--+-- 'vpcIngressConnectionArn', 'vpcDNSTarget_vpcIngressConnectionArn' - The Amazon Resource Name (ARN) of the VPC Ingress Connection that is+-- associated with your service.+newVpcDNSTarget ::+  VpcDNSTarget+newVpcDNSTarget =+  VpcDNSTarget'+    { domainName = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      vpcIngressConnectionArn = Prelude.Nothing+    }++-- | The domain name of your target DNS that is associated with the Amazon+-- VPC.+vpcDNSTarget_domainName :: Lens.Lens' VpcDNSTarget (Prelude.Maybe Prelude.Text)+vpcDNSTarget_domainName = Lens.lens (\VpcDNSTarget' {domainName} -> domainName) (\s@VpcDNSTarget' {} a -> s {domainName = a} :: VpcDNSTarget)++-- | The ID of the Amazon VPC that is associated with the custom domain name+-- of the target DNS.+vpcDNSTarget_vpcId :: Lens.Lens' VpcDNSTarget (Prelude.Maybe Prelude.Text)+vpcDNSTarget_vpcId = Lens.lens (\VpcDNSTarget' {vpcId} -> vpcId) (\s@VpcDNSTarget' {} a -> s {vpcId = a} :: VpcDNSTarget)++-- | The Amazon Resource Name (ARN) of the VPC Ingress Connection that is+-- associated with your service.+vpcDNSTarget_vpcIngressConnectionArn :: Lens.Lens' VpcDNSTarget (Prelude.Maybe Prelude.Text)+vpcDNSTarget_vpcIngressConnectionArn = Lens.lens (\VpcDNSTarget' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@VpcDNSTarget' {} a -> s {vpcIngressConnectionArn = a} :: VpcDNSTarget)++instance Data.FromJSON VpcDNSTarget where+  parseJSON =+    Data.withObject+      "VpcDNSTarget"+      ( \x ->+          VpcDNSTarget'+            Prelude.<$> (x Data..:? "DomainName")+            Prelude.<*> (x Data..:? "VpcId")+            Prelude.<*> (x Data..:? "VpcIngressConnectionArn")+      )++instance Prelude.Hashable VpcDNSTarget where+  hashWithSalt _salt VpcDNSTarget' {..} =+    _salt+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` vpcId+      `Prelude.hashWithSalt` vpcIngressConnectionArn++instance Prelude.NFData VpcDNSTarget where+  rnf VpcDNSTarget' {..} =+    Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf vpcIngressConnectionArn
+ gen/Amazonka/AppRunner/Types/VpcIngressConnection.hs view
@@ -0,0 +1,224 @@+{-# 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.AppRunner.Types.VpcIngressConnection+-- 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.AppRunner.Types.VpcIngressConnection where++import Amazonka.AppRunner.Types.IngressVpcConfiguration+import Amazonka.AppRunner.Types.VpcIngressConnectionStatus+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 App Runner resource that specifies an App Runner endpoint for+-- incoming traffic. It establishes a connection between a VPC interface+-- endpoint and a App Runner service, to make your App Runner service+-- accessible from only within an Amazon VPC.+--+-- /See:/ 'newVpcIngressConnection' smart constructor.+data VpcIngressConnection = VpcIngressConnection'+  { -- | The Account Id you use to create the VPC Ingress Connection resource.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The time when the VPC Ingress Connection was created. It\'s in the Unix+    -- time stamp format.+    --+    -- -   Type: Timestamp+    --+    -- -   Required: Yes+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The time when the App Runner service was deleted. It\'s in the Unix time+    -- stamp format.+    --+    -- -   Type: Timestamp+    --+    -- -   Required: No+    deletedAt :: Prelude.Maybe Data.POSIX,+    -- | The domain name associated with the VPC Ingress Connection resource.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | Specifications for the customer’s VPC and related PrivateLink VPC+    -- endpoint that are used to associate with the VPC Ingress Connection+    -- resource.+    ingressVpcConfiguration :: Prelude.Maybe IngressVpcConfiguration,+    -- | The Amazon Resource Name (ARN) of the service associated with the VPC+    -- Ingress Connection.+    serviceArn :: Prelude.Maybe Prelude.Text,+    -- | The current status of the VPC Ingress Connection. The VPC Ingress+    -- Connection displays one of the following statuses: @AVAILABLE@,+    -- @PENDING_CREATION@, @PENDING_UPDATE@,+    -- @PENDING_DELETION@,@FAILED_CREATION@, @FAILED_UPDATE@,+    -- @FAILED_DELETION@, and @DELETED@..+    status :: Prelude.Maybe VpcIngressConnectionStatus,+    -- | The Amazon Resource Name (ARN) of the VPC Ingress Connection.+    vpcIngressConnectionArn :: Prelude.Maybe Prelude.Text,+    -- | The customer-provided VPC Ingress Connection name.+    vpcIngressConnectionName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcIngressConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'vpcIngressConnection_accountId' - The Account Id you use to create the VPC Ingress Connection resource.+--+-- 'createdAt', 'vpcIngressConnection_createdAt' - The time when the VPC Ingress Connection was created. It\'s in the Unix+-- time stamp format.+--+-- -   Type: Timestamp+--+-- -   Required: Yes+--+-- 'deletedAt', 'vpcIngressConnection_deletedAt' - The time when the App Runner service was deleted. It\'s in the Unix time+-- stamp format.+--+-- -   Type: Timestamp+--+-- -   Required: No+--+-- 'domainName', 'vpcIngressConnection_domainName' - The domain name associated with the VPC Ingress Connection resource.+--+-- 'ingressVpcConfiguration', 'vpcIngressConnection_ingressVpcConfiguration' - Specifications for the customer’s VPC and related PrivateLink VPC+-- endpoint that are used to associate with the VPC Ingress Connection+-- resource.+--+-- 'serviceArn', 'vpcIngressConnection_serviceArn' - The Amazon Resource Name (ARN) of the service associated with the VPC+-- Ingress Connection.+--+-- 'status', 'vpcIngressConnection_status' - The current status of the VPC Ingress Connection. The VPC Ingress+-- Connection displays one of the following statuses: @AVAILABLE@,+-- @PENDING_CREATION@, @PENDING_UPDATE@,+-- @PENDING_DELETION@,@FAILED_CREATION@, @FAILED_UPDATE@,+-- @FAILED_DELETION@, and @DELETED@..+--+-- 'vpcIngressConnectionArn', 'vpcIngressConnection_vpcIngressConnectionArn' - The Amazon Resource Name (ARN) of the VPC Ingress Connection.+--+-- 'vpcIngressConnectionName', 'vpcIngressConnection_vpcIngressConnectionName' - The customer-provided VPC Ingress Connection name.+newVpcIngressConnection ::+  VpcIngressConnection+newVpcIngressConnection =+  VpcIngressConnection'+    { accountId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      deletedAt = Prelude.Nothing,+      domainName = Prelude.Nothing,+      ingressVpcConfiguration = Prelude.Nothing,+      serviceArn = Prelude.Nothing,+      status = Prelude.Nothing,+      vpcIngressConnectionArn = Prelude.Nothing,+      vpcIngressConnectionName = Prelude.Nothing+    }++-- | The Account Id you use to create the VPC Ingress Connection resource.+vpcIngressConnection_accountId :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.Text)+vpcIngressConnection_accountId = Lens.lens (\VpcIngressConnection' {accountId} -> accountId) (\s@VpcIngressConnection' {} a -> s {accountId = a} :: VpcIngressConnection)++-- | The time when the VPC Ingress Connection was created. It\'s in the Unix+-- time stamp format.+--+-- -   Type: Timestamp+--+-- -   Required: Yes+vpcIngressConnection_createdAt :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.UTCTime)+vpcIngressConnection_createdAt = Lens.lens (\VpcIngressConnection' {createdAt} -> createdAt) (\s@VpcIngressConnection' {} a -> s {createdAt = a} :: VpcIngressConnection) Prelude.. Lens.mapping Data._Time++-- | The time when the App Runner service was deleted. It\'s in the Unix time+-- stamp format.+--+-- -   Type: Timestamp+--+-- -   Required: No+vpcIngressConnection_deletedAt :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.UTCTime)+vpcIngressConnection_deletedAt = Lens.lens (\VpcIngressConnection' {deletedAt} -> deletedAt) (\s@VpcIngressConnection' {} a -> s {deletedAt = a} :: VpcIngressConnection) Prelude.. Lens.mapping Data._Time++-- | The domain name associated with the VPC Ingress Connection resource.+vpcIngressConnection_domainName :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.Text)+vpcIngressConnection_domainName = Lens.lens (\VpcIngressConnection' {domainName} -> domainName) (\s@VpcIngressConnection' {} a -> s {domainName = a} :: VpcIngressConnection)++-- | Specifications for the customer’s VPC and related PrivateLink VPC+-- endpoint that are used to associate with the VPC Ingress Connection+-- resource.+vpcIngressConnection_ingressVpcConfiguration :: Lens.Lens' VpcIngressConnection (Prelude.Maybe IngressVpcConfiguration)+vpcIngressConnection_ingressVpcConfiguration = Lens.lens (\VpcIngressConnection' {ingressVpcConfiguration} -> ingressVpcConfiguration) (\s@VpcIngressConnection' {} a -> s {ingressVpcConfiguration = a} :: VpcIngressConnection)++-- | The Amazon Resource Name (ARN) of the service associated with the VPC+-- Ingress Connection.+vpcIngressConnection_serviceArn :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.Text)+vpcIngressConnection_serviceArn = Lens.lens (\VpcIngressConnection' {serviceArn} -> serviceArn) (\s@VpcIngressConnection' {} a -> s {serviceArn = a} :: VpcIngressConnection)++-- | The current status of the VPC Ingress Connection. The VPC Ingress+-- Connection displays one of the following statuses: @AVAILABLE@,+-- @PENDING_CREATION@, @PENDING_UPDATE@,+-- @PENDING_DELETION@,@FAILED_CREATION@, @FAILED_UPDATE@,+-- @FAILED_DELETION@, and @DELETED@..+vpcIngressConnection_status :: Lens.Lens' VpcIngressConnection (Prelude.Maybe VpcIngressConnectionStatus)+vpcIngressConnection_status = Lens.lens (\VpcIngressConnection' {status} -> status) (\s@VpcIngressConnection' {} a -> s {status = a} :: VpcIngressConnection)++-- | The Amazon Resource Name (ARN) of the VPC Ingress Connection.+vpcIngressConnection_vpcIngressConnectionArn :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.Text)+vpcIngressConnection_vpcIngressConnectionArn = Lens.lens (\VpcIngressConnection' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@VpcIngressConnection' {} a -> s {vpcIngressConnectionArn = a} :: VpcIngressConnection)++-- | The customer-provided VPC Ingress Connection name.+vpcIngressConnection_vpcIngressConnectionName :: Lens.Lens' VpcIngressConnection (Prelude.Maybe Prelude.Text)+vpcIngressConnection_vpcIngressConnectionName = Lens.lens (\VpcIngressConnection' {vpcIngressConnectionName} -> vpcIngressConnectionName) (\s@VpcIngressConnection' {} a -> s {vpcIngressConnectionName = a} :: VpcIngressConnection)++instance Data.FromJSON VpcIngressConnection where+  parseJSON =+    Data.withObject+      "VpcIngressConnection"+      ( \x ->+          VpcIngressConnection'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "DeletedAt")+            Prelude.<*> (x Data..:? "DomainName")+            Prelude.<*> (x Data..:? "IngressVpcConfiguration")+            Prelude.<*> (x Data..:? "ServiceArn")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "VpcIngressConnectionArn")+            Prelude.<*> (x Data..:? "VpcIngressConnectionName")+      )++instance Prelude.Hashable VpcIngressConnection where+  hashWithSalt _salt VpcIngressConnection' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` deletedAt+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` ingressVpcConfiguration+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` vpcIngressConnectionArn+      `Prelude.hashWithSalt` vpcIngressConnectionName++instance Prelude.NFData VpcIngressConnection where+  rnf VpcIngressConnection' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf deletedAt+      `Prelude.seq` Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf ingressVpcConfiguration+      `Prelude.seq` Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf vpcIngressConnectionArn+      `Prelude.seq` Prelude.rnf vpcIngressConnectionName
+ gen/Amazonka/AppRunner/Types/VpcIngressConnectionStatus.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.Types.VpcIngressConnectionStatus+-- 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.AppRunner.Types.VpcIngressConnectionStatus+  ( VpcIngressConnectionStatus+      ( ..,+        VpcIngressConnectionStatus_AVAILABLE,+        VpcIngressConnectionStatus_DELETED,+        VpcIngressConnectionStatus_FAILED_CREATION,+        VpcIngressConnectionStatus_FAILED_DELETION,+        VpcIngressConnectionStatus_FAILED_UPDATE,+        VpcIngressConnectionStatus_PENDING_CREATION,+        VpcIngressConnectionStatus_PENDING_DELETION,+        VpcIngressConnectionStatus_PENDING_UPDATE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VpcIngressConnectionStatus = VpcIngressConnectionStatus'+  { fromVpcIngressConnectionStatus ::+      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 VpcIngressConnectionStatus_AVAILABLE :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_AVAILABLE = VpcIngressConnectionStatus' "AVAILABLE"++pattern VpcIngressConnectionStatus_DELETED :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_DELETED = VpcIngressConnectionStatus' "DELETED"++pattern VpcIngressConnectionStatus_FAILED_CREATION :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_FAILED_CREATION = VpcIngressConnectionStatus' "FAILED_CREATION"++pattern VpcIngressConnectionStatus_FAILED_DELETION :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_FAILED_DELETION = VpcIngressConnectionStatus' "FAILED_DELETION"++pattern VpcIngressConnectionStatus_FAILED_UPDATE :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_FAILED_UPDATE = VpcIngressConnectionStatus' "FAILED_UPDATE"++pattern VpcIngressConnectionStatus_PENDING_CREATION :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_PENDING_CREATION = VpcIngressConnectionStatus' "PENDING_CREATION"++pattern VpcIngressConnectionStatus_PENDING_DELETION :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_PENDING_DELETION = VpcIngressConnectionStatus' "PENDING_DELETION"++pattern VpcIngressConnectionStatus_PENDING_UPDATE :: VpcIngressConnectionStatus+pattern VpcIngressConnectionStatus_PENDING_UPDATE = VpcIngressConnectionStatus' "PENDING_UPDATE"++{-# COMPLETE+  VpcIngressConnectionStatus_AVAILABLE,+  VpcIngressConnectionStatus_DELETED,+  VpcIngressConnectionStatus_FAILED_CREATION,+  VpcIngressConnectionStatus_FAILED_DELETION,+  VpcIngressConnectionStatus_FAILED_UPDATE,+  VpcIngressConnectionStatus_PENDING_CREATION,+  VpcIngressConnectionStatus_PENDING_DELETION,+  VpcIngressConnectionStatus_PENDING_UPDATE,+  VpcIngressConnectionStatus'+  #-}
+ gen/Amazonka/AppRunner/Types/VpcIngressConnectionSummary.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.AppRunner.Types.VpcIngressConnectionSummary+-- 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.AppRunner.Types.VpcIngressConnectionSummary 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++-- | Provides summary information about an VPC Ingress Connection, which+-- includes its VPC Ingress Connection ARN and its associated Service ARN.+--+-- /See:/ 'newVpcIngressConnectionSummary' smart constructor.+data VpcIngressConnectionSummary = VpcIngressConnectionSummary'+  { -- | The Amazon Resource Name (ARN) of the service associated with the VPC+    -- Ingress Connection.+    serviceArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the VPC Ingress Connection.+    vpcIngressConnectionArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcIngressConnectionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceArn', 'vpcIngressConnectionSummary_serviceArn' - The Amazon Resource Name (ARN) of the service associated with the VPC+-- Ingress Connection.+--+-- 'vpcIngressConnectionArn', 'vpcIngressConnectionSummary_vpcIngressConnectionArn' - The Amazon Resource Name (ARN) of the VPC Ingress Connection.+newVpcIngressConnectionSummary ::+  VpcIngressConnectionSummary+newVpcIngressConnectionSummary =+  VpcIngressConnectionSummary'+    { serviceArn =+        Prelude.Nothing,+      vpcIngressConnectionArn = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the service associated with the VPC+-- Ingress Connection.+vpcIngressConnectionSummary_serviceArn :: Lens.Lens' VpcIngressConnectionSummary (Prelude.Maybe Prelude.Text)+vpcIngressConnectionSummary_serviceArn = Lens.lens (\VpcIngressConnectionSummary' {serviceArn} -> serviceArn) (\s@VpcIngressConnectionSummary' {} a -> s {serviceArn = a} :: VpcIngressConnectionSummary)++-- | The Amazon Resource Name (ARN) of the VPC Ingress Connection.+vpcIngressConnectionSummary_vpcIngressConnectionArn :: Lens.Lens' VpcIngressConnectionSummary (Prelude.Maybe Prelude.Text)+vpcIngressConnectionSummary_vpcIngressConnectionArn = Lens.lens (\VpcIngressConnectionSummary' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@VpcIngressConnectionSummary' {} a -> s {vpcIngressConnectionArn = a} :: VpcIngressConnectionSummary)++instance Data.FromJSON VpcIngressConnectionSummary where+  parseJSON =+    Data.withObject+      "VpcIngressConnectionSummary"+      ( \x ->+          VpcIngressConnectionSummary'+            Prelude.<$> (x Data..:? "ServiceArn")+            Prelude.<*> (x Data..:? "VpcIngressConnectionArn")+      )++instance Prelude.Hashable VpcIngressConnectionSummary where+  hashWithSalt _salt VpcIngressConnectionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` serviceArn+      `Prelude.hashWithSalt` vpcIngressConnectionArn++instance Prelude.NFData VpcIngressConnectionSummary where+  rnf VpcIngressConnectionSummary' {..} =+    Prelude.rnf serviceArn+      `Prelude.seq` Prelude.rnf vpcIngressConnectionArn
+ gen/Amazonka/AppRunner/UntagResource.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.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)+--+-- Remove tags from an App Runner resource.+module Amazonka.AppRunner.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.AppRunner.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.+    --+    -- It must be the ARN of an App Runner resource.+    resourceArn :: Prelude.Text,+    -- | A list of tag keys that you want to remove.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to remove+-- tags from.+--+-- It must be the ARN of an App Runner resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of tag keys that you want to remove.+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.+--+-- It must be the ARN of an App Runner resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of tag keys that you want to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.UntagResource" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppRunner/UpdateService.hs view
@@ -0,0 +1,343 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.UpdateService+-- 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 an App Runner service. You can update the source configuration+-- and instance configuration of the service. You can also update the ARN+-- of the auto scaling configuration resource that\'s associated with the+-- service. However, you can\'t change the name or the encryption+-- configuration of the service. These can be set only when you create the+-- service.+--+-- To update the tags applied to your service, use the separate actions+-- TagResource and UntagResource.+--+-- This is an asynchronous operation. On a successful call, you can use the+-- returned @OperationId@ and the ListOperations call to track the+-- operation\'s progress.+module Amazonka.AppRunner.UpdateService+  ( -- * Creating a Request+    UpdateService (..),+    newUpdateService,++    -- * Request Lenses+    updateService_autoScalingConfigurationArn,+    updateService_healthCheckConfiguration,+    updateService_instanceConfiguration,+    updateService_networkConfiguration,+    updateService_observabilityConfiguration,+    updateService_sourceConfiguration,+    updateService_serviceArn,++    -- * Destructuring the Response+    UpdateServiceResponse (..),+    newUpdateServiceResponse,++    -- * Response Lenses+    updateServiceResponse_httpStatus,+    updateServiceResponse_service,+    updateServiceResponse_operationId,+  )+where++import Amazonka.AppRunner.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:/ 'newUpdateService' smart constructor.+data UpdateService = UpdateService'+  { -- | The Amazon Resource Name (ARN) of an App Runner automatic scaling+    -- configuration resource that you want to associate with the App Runner+    -- service.+    autoScalingConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The settings for the health check that App Runner performs to monitor+    -- the health of the App Runner service.+    healthCheckConfiguration :: Prelude.Maybe HealthCheckConfiguration,+    -- | The runtime configuration to apply to instances (scaling units) of your+    -- service.+    instanceConfiguration :: Prelude.Maybe InstanceConfiguration,+    -- | Configuration settings related to network traffic of the web application+    -- that the App Runner service runs.+    networkConfiguration :: Prelude.Maybe NetworkConfiguration,+    -- | The observability configuration of your service.+    observabilityConfiguration :: Prelude.Maybe ServiceObservabilityConfiguration,+    -- | The source configuration to apply to the App Runner service.+    --+    -- You can change the configuration of the code or image repository that+    -- the service uses. However, you can\'t switch from code to image or the+    -- other way around. This means that you must provide the same structure+    -- member of @SourceConfiguration@ that you originally included when you+    -- created the service. Specifically, you can include either+    -- @CodeRepository@ or @ImageRepository@. To update the source+    -- configuration, set the values to members of the structure that you+    -- include.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration,+    -- | The Amazon Resource Name (ARN) of the App Runner service that you want+    -- to update.+    serviceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScalingConfigurationArn', 'updateService_autoScalingConfigurationArn' - The Amazon Resource Name (ARN) of an App Runner automatic scaling+-- configuration resource that you want to associate with the App Runner+-- service.+--+-- 'healthCheckConfiguration', 'updateService_healthCheckConfiguration' - The settings for the health check that App Runner performs to monitor+-- the health of the App Runner service.+--+-- 'instanceConfiguration', 'updateService_instanceConfiguration' - The runtime configuration to apply to instances (scaling units) of your+-- service.+--+-- 'networkConfiguration', 'updateService_networkConfiguration' - Configuration settings related to network traffic of the web application+-- that the App Runner service runs.+--+-- 'observabilityConfiguration', 'updateService_observabilityConfiguration' - The observability configuration of your service.+--+-- 'sourceConfiguration', 'updateService_sourceConfiguration' - The source configuration to apply to the App Runner service.+--+-- You can change the configuration of the code or image repository that+-- the service uses. However, you can\'t switch from code to image or the+-- other way around. This means that you must provide the same structure+-- member of @SourceConfiguration@ that you originally included when you+-- created the service. Specifically, you can include either+-- @CodeRepository@ or @ImageRepository@. To update the source+-- configuration, set the values to members of the structure that you+-- include.+--+-- 'serviceArn', 'updateService_serviceArn' - The Amazon Resource Name (ARN) of the App Runner service that you want+-- to update.+newUpdateService ::+  -- | 'serviceArn'+  Prelude.Text ->+  UpdateService+newUpdateService pServiceArn_ =+  UpdateService'+    { autoScalingConfigurationArn =+        Prelude.Nothing,+      healthCheckConfiguration = Prelude.Nothing,+      instanceConfiguration = Prelude.Nothing,+      networkConfiguration = Prelude.Nothing,+      observabilityConfiguration = Prelude.Nothing,+      sourceConfiguration = Prelude.Nothing,+      serviceArn = pServiceArn_+    }++-- | The Amazon Resource Name (ARN) of an App Runner automatic scaling+-- configuration resource that you want to associate with the App Runner+-- service.+updateService_autoScalingConfigurationArn :: Lens.Lens' UpdateService (Prelude.Maybe Prelude.Text)+updateService_autoScalingConfigurationArn = Lens.lens (\UpdateService' {autoScalingConfigurationArn} -> autoScalingConfigurationArn) (\s@UpdateService' {} a -> s {autoScalingConfigurationArn = a} :: UpdateService)++-- | The settings for the health check that App Runner performs to monitor+-- the health of the App Runner service.+updateService_healthCheckConfiguration :: Lens.Lens' UpdateService (Prelude.Maybe HealthCheckConfiguration)+updateService_healthCheckConfiguration = Lens.lens (\UpdateService' {healthCheckConfiguration} -> healthCheckConfiguration) (\s@UpdateService' {} a -> s {healthCheckConfiguration = a} :: UpdateService)++-- | The runtime configuration to apply to instances (scaling units) of your+-- service.+updateService_instanceConfiguration :: Lens.Lens' UpdateService (Prelude.Maybe InstanceConfiguration)+updateService_instanceConfiguration = Lens.lens (\UpdateService' {instanceConfiguration} -> instanceConfiguration) (\s@UpdateService' {} a -> s {instanceConfiguration = a} :: UpdateService)++-- | Configuration settings related to network traffic of the web application+-- that the App Runner service runs.+updateService_networkConfiguration :: Lens.Lens' UpdateService (Prelude.Maybe NetworkConfiguration)+updateService_networkConfiguration = Lens.lens (\UpdateService' {networkConfiguration} -> networkConfiguration) (\s@UpdateService' {} a -> s {networkConfiguration = a} :: UpdateService)++-- | The observability configuration of your service.+updateService_observabilityConfiguration :: Lens.Lens' UpdateService (Prelude.Maybe ServiceObservabilityConfiguration)+updateService_observabilityConfiguration = Lens.lens (\UpdateService' {observabilityConfiguration} -> observabilityConfiguration) (\s@UpdateService' {} a -> s {observabilityConfiguration = a} :: UpdateService)++-- | The source configuration to apply to the App Runner service.+--+-- You can change the configuration of the code or image repository that+-- the service uses. However, you can\'t switch from code to image or the+-- other way around. This means that you must provide the same structure+-- member of @SourceConfiguration@ that you originally included when you+-- created the service. Specifically, you can include either+-- @CodeRepository@ or @ImageRepository@. To update the source+-- configuration, set the values to members of the structure that you+-- include.+updateService_sourceConfiguration :: Lens.Lens' UpdateService (Prelude.Maybe SourceConfiguration)+updateService_sourceConfiguration = Lens.lens (\UpdateService' {sourceConfiguration} -> sourceConfiguration) (\s@UpdateService' {} a -> s {sourceConfiguration = a} :: UpdateService)++-- | The Amazon Resource Name (ARN) of the App Runner service that you want+-- to update.+updateService_serviceArn :: Lens.Lens' UpdateService Prelude.Text+updateService_serviceArn = Lens.lens (\UpdateService' {serviceArn} -> serviceArn) (\s@UpdateService' {} a -> s {serviceArn = a} :: UpdateService)++instance Core.AWSRequest UpdateService where+  type+    AWSResponse UpdateService =+      UpdateServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateServiceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Service")+            Prelude.<*> (x Data..:> "OperationId")+      )++instance Prelude.Hashable UpdateService where+  hashWithSalt _salt UpdateService' {..} =+    _salt+      `Prelude.hashWithSalt` autoScalingConfigurationArn+      `Prelude.hashWithSalt` healthCheckConfiguration+      `Prelude.hashWithSalt` instanceConfiguration+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` observabilityConfiguration+      `Prelude.hashWithSalt` sourceConfiguration+      `Prelude.hashWithSalt` serviceArn++instance Prelude.NFData UpdateService where+  rnf UpdateService' {..} =+    Prelude.rnf autoScalingConfigurationArn+      `Prelude.seq` Prelude.rnf healthCheckConfiguration+      `Prelude.seq` Prelude.rnf instanceConfiguration+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf observabilityConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf serviceArn++instance Data.ToHeaders UpdateService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AppRunner.UpdateService" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateService where+  toJSON UpdateService' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoScalingConfigurationArn" Data..=)+              Prelude.<$> autoScalingConfigurationArn,+            ("HealthCheckConfiguration" Data..=)+              Prelude.<$> healthCheckConfiguration,+            ("InstanceConfiguration" Data..=)+              Prelude.<$> instanceConfiguration,+            ("NetworkConfiguration" Data..=)+              Prelude.<$> networkConfiguration,+            ("ObservabilityConfiguration" Data..=)+              Prelude.<$> observabilityConfiguration,+            ("SourceConfiguration" Data..=)+              Prelude.<$> sourceConfiguration,+            Prelude.Just ("ServiceArn" Data..= serviceArn)+          ]+      )++instance Data.ToPath UpdateService where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateServiceResponse' smart constructor.+data UpdateServiceResponse = UpdateServiceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner service updated by this request. All+    -- configuration values in the returned @Service@ structure reflect+    -- configuration changes that are being applied by this request.+    service :: Service,+    -- | The unique ID of the asynchronous operation that this request started.+    -- You can use it combined with the ListOperations call to track the+    -- operation\'s progress.+    operationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateServiceResponse_httpStatus' - The response's http status code.+--+-- 'service', 'updateServiceResponse_service' - A description of the App Runner service updated by this request. All+-- configuration values in the returned @Service@ structure reflect+-- configuration changes that are being applied by this request.+--+-- 'operationId', 'updateServiceResponse_operationId' - The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+newUpdateServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'service'+  Service ->+  -- | 'operationId'+  Prelude.Text ->+  UpdateServiceResponse+newUpdateServiceResponse+  pHttpStatus_+  pService_+  pOperationId_ =+    UpdateServiceResponse'+      { httpStatus = pHttpStatus_,+        service = pService_,+        operationId = pOperationId_+      }++-- | The response's http status code.+updateServiceResponse_httpStatus :: Lens.Lens' UpdateServiceResponse Prelude.Int+updateServiceResponse_httpStatus = Lens.lens (\UpdateServiceResponse' {httpStatus} -> httpStatus) (\s@UpdateServiceResponse' {} a -> s {httpStatus = a} :: UpdateServiceResponse)++-- | A description of the App Runner service updated by this request. All+-- configuration values in the returned @Service@ structure reflect+-- configuration changes that are being applied by this request.+updateServiceResponse_service :: Lens.Lens' UpdateServiceResponse Service+updateServiceResponse_service = Lens.lens (\UpdateServiceResponse' {service} -> service) (\s@UpdateServiceResponse' {} a -> s {service = a} :: UpdateServiceResponse)++-- | The unique ID of the asynchronous operation that this request started.+-- You can use it combined with the ListOperations call to track the+-- operation\'s progress.+updateServiceResponse_operationId :: Lens.Lens' UpdateServiceResponse Prelude.Text+updateServiceResponse_operationId = Lens.lens (\UpdateServiceResponse' {operationId} -> operationId) (\s@UpdateServiceResponse' {} a -> s {operationId = a} :: UpdateServiceResponse)++instance Prelude.NFData UpdateServiceResponse where+  rnf UpdateServiceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf service+      `Prelude.seq` Prelude.rnf operationId
+ gen/Amazonka/AppRunner/UpdateVpcIngressConnection.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppRunner.UpdateVpcIngressConnection+-- 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 an existing App Runner VPC Ingress Connection resource. The VPC+-- Ingress Connection must be in one of the following states to be updated:+--+-- -   AVAILABLE+--+-- -   FAILED_CREATION+--+-- -   FAILED_UPDATE+module Amazonka.AppRunner.UpdateVpcIngressConnection+  ( -- * Creating a Request+    UpdateVpcIngressConnection (..),+    newUpdateVpcIngressConnection,++    -- * Request Lenses+    updateVpcIngressConnection_vpcIngressConnectionArn,+    updateVpcIngressConnection_ingressVpcConfiguration,++    -- * Destructuring the Response+    UpdateVpcIngressConnectionResponse (..),+    newUpdateVpcIngressConnectionResponse,++    -- * Response Lenses+    updateVpcIngressConnectionResponse_httpStatus,+    updateVpcIngressConnectionResponse_vpcIngressConnection,+  )+where++import Amazonka.AppRunner.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:/ 'newUpdateVpcIngressConnection' smart constructor.+data UpdateVpcIngressConnection = UpdateVpcIngressConnection'+  { -- | The Amazon Resource Name (Arn) for the App Runner VPC Ingress Connection+    -- resource that you want to update.+    vpcIngressConnectionArn :: Prelude.Text,+    -- | Specifications for the customer’s Amazon VPC and the related Amazon Web+    -- Services PrivateLink VPC endpoint that are used to update the VPC+    -- Ingress Connection resource.+    ingressVpcConfiguration :: IngressVpcConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcIngressConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcIngressConnectionArn', 'updateVpcIngressConnection_vpcIngressConnectionArn' - The Amazon Resource Name (Arn) for the App Runner VPC Ingress Connection+-- resource that you want to update.+--+-- 'ingressVpcConfiguration', 'updateVpcIngressConnection_ingressVpcConfiguration' - Specifications for the customer’s Amazon VPC and the related Amazon Web+-- Services PrivateLink VPC endpoint that are used to update the VPC+-- Ingress Connection resource.+newUpdateVpcIngressConnection ::+  -- | 'vpcIngressConnectionArn'+  Prelude.Text ->+  -- | 'ingressVpcConfiguration'+  IngressVpcConfiguration ->+  UpdateVpcIngressConnection+newUpdateVpcIngressConnection+  pVpcIngressConnectionArn_+  pIngressVpcConfiguration_ =+    UpdateVpcIngressConnection'+      { vpcIngressConnectionArn =+          pVpcIngressConnectionArn_,+        ingressVpcConfiguration =+          pIngressVpcConfiguration_+      }++-- | The Amazon Resource Name (Arn) for the App Runner VPC Ingress Connection+-- resource that you want to update.+updateVpcIngressConnection_vpcIngressConnectionArn :: Lens.Lens' UpdateVpcIngressConnection Prelude.Text+updateVpcIngressConnection_vpcIngressConnectionArn = Lens.lens (\UpdateVpcIngressConnection' {vpcIngressConnectionArn} -> vpcIngressConnectionArn) (\s@UpdateVpcIngressConnection' {} a -> s {vpcIngressConnectionArn = a} :: UpdateVpcIngressConnection)++-- | Specifications for the customer’s Amazon VPC and the related Amazon Web+-- Services PrivateLink VPC endpoint that are used to update the VPC+-- Ingress Connection resource.+updateVpcIngressConnection_ingressVpcConfiguration :: Lens.Lens' UpdateVpcIngressConnection IngressVpcConfiguration+updateVpcIngressConnection_ingressVpcConfiguration = Lens.lens (\UpdateVpcIngressConnection' {ingressVpcConfiguration} -> ingressVpcConfiguration) (\s@UpdateVpcIngressConnection' {} a -> s {ingressVpcConfiguration = a} :: UpdateVpcIngressConnection)++instance Core.AWSRequest UpdateVpcIngressConnection where+  type+    AWSResponse UpdateVpcIngressConnection =+      UpdateVpcIngressConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateVpcIngressConnectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "VpcIngressConnection")+      )++instance Prelude.Hashable UpdateVpcIngressConnection where+  hashWithSalt _salt UpdateVpcIngressConnection' {..} =+    _salt+      `Prelude.hashWithSalt` vpcIngressConnectionArn+      `Prelude.hashWithSalt` ingressVpcConfiguration++instance Prelude.NFData UpdateVpcIngressConnection where+  rnf UpdateVpcIngressConnection' {..} =+    Prelude.rnf vpcIngressConnectionArn+      `Prelude.seq` Prelude.rnf ingressVpcConfiguration++instance Data.ToHeaders UpdateVpcIngressConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AppRunner.UpdateVpcIngressConnection" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateVpcIngressConnection where+  toJSON UpdateVpcIngressConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "VpcIngressConnectionArn"+                  Data..= vpcIngressConnectionArn+              ),+            Prelude.Just+              ( "IngressVpcConfiguration"+                  Data..= ingressVpcConfiguration+              )+          ]+      )++instance Data.ToPath UpdateVpcIngressConnection where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateVpcIngressConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVpcIngressConnectionResponse' smart constructor.+data UpdateVpcIngressConnectionResponse = UpdateVpcIngressConnectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A description of the App Runner VPC Ingress Connection resource that\'s+    -- updated by this request.+    vpcIngressConnection :: VpcIngressConnection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcIngressConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateVpcIngressConnectionResponse_httpStatus' - The response's http status code.+--+-- 'vpcIngressConnection', 'updateVpcIngressConnectionResponse_vpcIngressConnection' - A description of the App Runner VPC Ingress Connection resource that\'s+-- updated by this request.+newUpdateVpcIngressConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'vpcIngressConnection'+  VpcIngressConnection ->+  UpdateVpcIngressConnectionResponse+newUpdateVpcIngressConnectionResponse+  pHttpStatus_+  pVpcIngressConnection_ =+    UpdateVpcIngressConnectionResponse'+      { httpStatus =+          pHttpStatus_,+        vpcIngressConnection =+          pVpcIngressConnection_+      }++-- | The response's http status code.+updateVpcIngressConnectionResponse_httpStatus :: Lens.Lens' UpdateVpcIngressConnectionResponse Prelude.Int+updateVpcIngressConnectionResponse_httpStatus = Lens.lens (\UpdateVpcIngressConnectionResponse' {httpStatus} -> httpStatus) (\s@UpdateVpcIngressConnectionResponse' {} a -> s {httpStatus = a} :: UpdateVpcIngressConnectionResponse)++-- | A description of the App Runner VPC Ingress Connection resource that\'s+-- updated by this request.+updateVpcIngressConnectionResponse_vpcIngressConnection :: Lens.Lens' UpdateVpcIngressConnectionResponse VpcIngressConnection+updateVpcIngressConnectionResponse_vpcIngressConnection = Lens.lens (\UpdateVpcIngressConnectionResponse' {vpcIngressConnection} -> vpcIngressConnection) (\s@UpdateVpcIngressConnectionResponse' {} a -> s {vpcIngressConnection = a} :: UpdateVpcIngressConnectionResponse)++instance+  Prelude.NFData+    UpdateVpcIngressConnectionResponse+  where+  rnf UpdateVpcIngressConnectionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vpcIngressConnection
+ gen/Amazonka/AppRunner/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.AppRunner.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.AppRunner.Waiters where++import Amazonka.AppRunner.Lens+import Amazonka.AppRunner.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.AppRunner+import Test.Amazonka.AppRunner.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "AppRunner"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/AppRunner.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.AppRunner+-- 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.AppRunner+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AppRunner/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.AppRunner.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.AppRunner.Internal where
+ test/Test/Amazonka/Gen/AppRunner.hs view
@@ -0,0 +1,738 @@+{-# 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.AppRunner+-- 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.AppRunner where++import Amazonka.AppRunner+import qualified Data.Proxy as Proxy+import Test.Amazonka.AppRunner.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"+--         [ requestAssociateCustomDomain $+--             newAssociateCustomDomain+--+--         , requestCreateAutoScalingConfiguration $+--             newCreateAutoScalingConfiguration+--+--         , requestCreateConnection $+--             newCreateConnection+--+--         , requestCreateObservabilityConfiguration $+--             newCreateObservabilityConfiguration+--+--         , requestCreateService $+--             newCreateService+--+--         , requestCreateVpcConnector $+--             newCreateVpcConnector+--+--         , requestCreateVpcIngressConnection $+--             newCreateVpcIngressConnection+--+--         , requestDeleteAutoScalingConfiguration $+--             newDeleteAutoScalingConfiguration+--+--         , requestDeleteConnection $+--             newDeleteConnection+--+--         , requestDeleteObservabilityConfiguration $+--             newDeleteObservabilityConfiguration+--+--         , requestDeleteService $+--             newDeleteService+--+--         , requestDeleteVpcConnector $+--             newDeleteVpcConnector+--+--         , requestDeleteVpcIngressConnection $+--             newDeleteVpcIngressConnection+--+--         , requestDescribeAutoScalingConfiguration $+--             newDescribeAutoScalingConfiguration+--+--         , requestDescribeCustomDomains $+--             newDescribeCustomDomains+--+--         , requestDescribeObservabilityConfiguration $+--             newDescribeObservabilityConfiguration+--+--         , requestDescribeService $+--             newDescribeService+--+--         , requestDescribeVpcConnector $+--             newDescribeVpcConnector+--+--         , requestDescribeVpcIngressConnection $+--             newDescribeVpcIngressConnection+--+--         , requestDisassociateCustomDomain $+--             newDisassociateCustomDomain+--+--         , requestListAutoScalingConfigurations $+--             newListAutoScalingConfigurations+--+--         , requestListConnections $+--             newListConnections+--+--         , requestListObservabilityConfigurations $+--             newListObservabilityConfigurations+--+--         , requestListOperations $+--             newListOperations+--+--         , requestListServices $+--             newListServices+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListVpcConnectors $+--             newListVpcConnectors+--+--         , requestListVpcIngressConnections $+--             newListVpcIngressConnections+--+--         , requestPauseService $+--             newPauseService+--+--         , requestResumeService $+--             newResumeService+--+--         , requestStartDeployment $+--             newStartDeployment+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateService $+--             newUpdateService+--+--         , requestUpdateVpcIngressConnection $+--             newUpdateVpcIngressConnection+--+--           ]++--     , testGroup "response"+--         [ responseAssociateCustomDomain $+--             newAssociateCustomDomainResponse+--+--         , responseCreateAutoScalingConfiguration $+--             newCreateAutoScalingConfigurationResponse+--+--         , responseCreateConnection $+--             newCreateConnectionResponse+--+--         , responseCreateObservabilityConfiguration $+--             newCreateObservabilityConfigurationResponse+--+--         , responseCreateService $+--             newCreateServiceResponse+--+--         , responseCreateVpcConnector $+--             newCreateVpcConnectorResponse+--+--         , responseCreateVpcIngressConnection $+--             newCreateVpcIngressConnectionResponse+--+--         , responseDeleteAutoScalingConfiguration $+--             newDeleteAutoScalingConfigurationResponse+--+--         , responseDeleteConnection $+--             newDeleteConnectionResponse+--+--         , responseDeleteObservabilityConfiguration $+--             newDeleteObservabilityConfigurationResponse+--+--         , responseDeleteService $+--             newDeleteServiceResponse+--+--         , responseDeleteVpcConnector $+--             newDeleteVpcConnectorResponse+--+--         , responseDeleteVpcIngressConnection $+--             newDeleteVpcIngressConnectionResponse+--+--         , responseDescribeAutoScalingConfiguration $+--             newDescribeAutoScalingConfigurationResponse+--+--         , responseDescribeCustomDomains $+--             newDescribeCustomDomainsResponse+--+--         , responseDescribeObservabilityConfiguration $+--             newDescribeObservabilityConfigurationResponse+--+--         , responseDescribeService $+--             newDescribeServiceResponse+--+--         , responseDescribeVpcConnector $+--             newDescribeVpcConnectorResponse+--+--         , responseDescribeVpcIngressConnection $+--             newDescribeVpcIngressConnectionResponse+--+--         , responseDisassociateCustomDomain $+--             newDisassociateCustomDomainResponse+--+--         , responseListAutoScalingConfigurations $+--             newListAutoScalingConfigurationsResponse+--+--         , responseListConnections $+--             newListConnectionsResponse+--+--         , responseListObservabilityConfigurations $+--             newListObservabilityConfigurationsResponse+--+--         , responseListOperations $+--             newListOperationsResponse+--+--         , responseListServices $+--             newListServicesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListVpcConnectors $+--             newListVpcConnectorsResponse+--+--         , responseListVpcIngressConnections $+--             newListVpcIngressConnectionsResponse+--+--         , responsePauseService $+--             newPauseServiceResponse+--+--         , responseResumeService $+--             newResumeServiceResponse+--+--         , responseStartDeployment $+--             newStartDeploymentResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateService $+--             newUpdateServiceResponse+--+--         , responseUpdateVpcIngressConnection $+--             newUpdateVpcIngressConnectionResponse+--+--           ]+--     ]++-- Requests++requestAssociateCustomDomain :: AssociateCustomDomain -> TestTree+requestAssociateCustomDomain =+  req+    "AssociateCustomDomain"+    "fixture/AssociateCustomDomain.yaml"++requestCreateAutoScalingConfiguration :: CreateAutoScalingConfiguration -> TestTree+requestCreateAutoScalingConfiguration =+  req+    "CreateAutoScalingConfiguration"+    "fixture/CreateAutoScalingConfiguration.yaml"++requestCreateConnection :: CreateConnection -> TestTree+requestCreateConnection =+  req+    "CreateConnection"+    "fixture/CreateConnection.yaml"++requestCreateObservabilityConfiguration :: CreateObservabilityConfiguration -> TestTree+requestCreateObservabilityConfiguration =+  req+    "CreateObservabilityConfiguration"+    "fixture/CreateObservabilityConfiguration.yaml"++requestCreateService :: CreateService -> TestTree+requestCreateService =+  req+    "CreateService"+    "fixture/CreateService.yaml"++requestCreateVpcConnector :: CreateVpcConnector -> TestTree+requestCreateVpcConnector =+  req+    "CreateVpcConnector"+    "fixture/CreateVpcConnector.yaml"++requestCreateVpcIngressConnection :: CreateVpcIngressConnection -> TestTree+requestCreateVpcIngressConnection =+  req+    "CreateVpcIngressConnection"+    "fixture/CreateVpcIngressConnection.yaml"++requestDeleteAutoScalingConfiguration :: DeleteAutoScalingConfiguration -> TestTree+requestDeleteAutoScalingConfiguration =+  req+    "DeleteAutoScalingConfiguration"+    "fixture/DeleteAutoScalingConfiguration.yaml"++requestDeleteConnection :: DeleteConnection -> TestTree+requestDeleteConnection =+  req+    "DeleteConnection"+    "fixture/DeleteConnection.yaml"++requestDeleteObservabilityConfiguration :: DeleteObservabilityConfiguration -> TestTree+requestDeleteObservabilityConfiguration =+  req+    "DeleteObservabilityConfiguration"+    "fixture/DeleteObservabilityConfiguration.yaml"++requestDeleteService :: DeleteService -> TestTree+requestDeleteService =+  req+    "DeleteService"+    "fixture/DeleteService.yaml"++requestDeleteVpcConnector :: DeleteVpcConnector -> TestTree+requestDeleteVpcConnector =+  req+    "DeleteVpcConnector"+    "fixture/DeleteVpcConnector.yaml"++requestDeleteVpcIngressConnection :: DeleteVpcIngressConnection -> TestTree+requestDeleteVpcIngressConnection =+  req+    "DeleteVpcIngressConnection"+    "fixture/DeleteVpcIngressConnection.yaml"++requestDescribeAutoScalingConfiguration :: DescribeAutoScalingConfiguration -> TestTree+requestDescribeAutoScalingConfiguration =+  req+    "DescribeAutoScalingConfiguration"+    "fixture/DescribeAutoScalingConfiguration.yaml"++requestDescribeCustomDomains :: DescribeCustomDomains -> TestTree+requestDescribeCustomDomains =+  req+    "DescribeCustomDomains"+    "fixture/DescribeCustomDomains.yaml"++requestDescribeObservabilityConfiguration :: DescribeObservabilityConfiguration -> TestTree+requestDescribeObservabilityConfiguration =+  req+    "DescribeObservabilityConfiguration"+    "fixture/DescribeObservabilityConfiguration.yaml"++requestDescribeService :: DescribeService -> TestTree+requestDescribeService =+  req+    "DescribeService"+    "fixture/DescribeService.yaml"++requestDescribeVpcConnector :: DescribeVpcConnector -> TestTree+requestDescribeVpcConnector =+  req+    "DescribeVpcConnector"+    "fixture/DescribeVpcConnector.yaml"++requestDescribeVpcIngressConnection :: DescribeVpcIngressConnection -> TestTree+requestDescribeVpcIngressConnection =+  req+    "DescribeVpcIngressConnection"+    "fixture/DescribeVpcIngressConnection.yaml"++requestDisassociateCustomDomain :: DisassociateCustomDomain -> TestTree+requestDisassociateCustomDomain =+  req+    "DisassociateCustomDomain"+    "fixture/DisassociateCustomDomain.yaml"++requestListAutoScalingConfigurations :: ListAutoScalingConfigurations -> TestTree+requestListAutoScalingConfigurations =+  req+    "ListAutoScalingConfigurations"+    "fixture/ListAutoScalingConfigurations.yaml"++requestListConnections :: ListConnections -> TestTree+requestListConnections =+  req+    "ListConnections"+    "fixture/ListConnections.yaml"++requestListObservabilityConfigurations :: ListObservabilityConfigurations -> TestTree+requestListObservabilityConfigurations =+  req+    "ListObservabilityConfigurations"+    "fixture/ListObservabilityConfigurations.yaml"++requestListOperations :: ListOperations -> TestTree+requestListOperations =+  req+    "ListOperations"+    "fixture/ListOperations.yaml"++requestListServices :: ListServices -> TestTree+requestListServices =+  req+    "ListServices"+    "fixture/ListServices.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListVpcConnectors :: ListVpcConnectors -> TestTree+requestListVpcConnectors =+  req+    "ListVpcConnectors"+    "fixture/ListVpcConnectors.yaml"++requestListVpcIngressConnections :: ListVpcIngressConnections -> TestTree+requestListVpcIngressConnections =+  req+    "ListVpcIngressConnections"+    "fixture/ListVpcIngressConnections.yaml"++requestPauseService :: PauseService -> TestTree+requestPauseService =+  req+    "PauseService"+    "fixture/PauseService.yaml"++requestResumeService :: ResumeService -> TestTree+requestResumeService =+  req+    "ResumeService"+    "fixture/ResumeService.yaml"++requestStartDeployment :: StartDeployment -> TestTree+requestStartDeployment =+  req+    "StartDeployment"+    "fixture/StartDeployment.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateService :: UpdateService -> TestTree+requestUpdateService =+  req+    "UpdateService"+    "fixture/UpdateService.yaml"++requestUpdateVpcIngressConnection :: UpdateVpcIngressConnection -> TestTree+requestUpdateVpcIngressConnection =+  req+    "UpdateVpcIngressConnection"+    "fixture/UpdateVpcIngressConnection.yaml"++-- Responses++responseAssociateCustomDomain :: AssociateCustomDomainResponse -> TestTree+responseAssociateCustomDomain =+  res+    "AssociateCustomDomainResponse"+    "fixture/AssociateCustomDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateCustomDomain)++responseCreateAutoScalingConfiguration :: CreateAutoScalingConfigurationResponse -> TestTree+responseCreateAutoScalingConfiguration =+  res+    "CreateAutoScalingConfigurationResponse"+    "fixture/CreateAutoScalingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAutoScalingConfiguration)++responseCreateConnection :: CreateConnectionResponse -> TestTree+responseCreateConnection =+  res+    "CreateConnectionResponse"+    "fixture/CreateConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnection)++responseCreateObservabilityConfiguration :: CreateObservabilityConfigurationResponse -> TestTree+responseCreateObservabilityConfiguration =+  res+    "CreateObservabilityConfigurationResponse"+    "fixture/CreateObservabilityConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateObservabilityConfiguration)++responseCreateService :: CreateServiceResponse -> TestTree+responseCreateService =+  res+    "CreateServiceResponse"+    "fixture/CreateServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateService)++responseCreateVpcConnector :: CreateVpcConnectorResponse -> TestTree+responseCreateVpcConnector =+  res+    "CreateVpcConnectorResponse"+    "fixture/CreateVpcConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateVpcConnector)++responseCreateVpcIngressConnection :: CreateVpcIngressConnectionResponse -> TestTree+responseCreateVpcIngressConnection =+  res+    "CreateVpcIngressConnectionResponse"+    "fixture/CreateVpcIngressConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateVpcIngressConnection)++responseDeleteAutoScalingConfiguration :: DeleteAutoScalingConfigurationResponse -> TestTree+responseDeleteAutoScalingConfiguration =+  res+    "DeleteAutoScalingConfigurationResponse"+    "fixture/DeleteAutoScalingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAutoScalingConfiguration)++responseDeleteConnection :: DeleteConnectionResponse -> TestTree+responseDeleteConnection =+  res+    "DeleteConnectionResponse"+    "fixture/DeleteConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteConnection)++responseDeleteObservabilityConfiguration :: DeleteObservabilityConfigurationResponse -> TestTree+responseDeleteObservabilityConfiguration =+  res+    "DeleteObservabilityConfigurationResponse"+    "fixture/DeleteObservabilityConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteObservabilityConfiguration)++responseDeleteService :: DeleteServiceResponse -> TestTree+responseDeleteService =+  res+    "DeleteServiceResponse"+    "fixture/DeleteServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteService)++responseDeleteVpcConnector :: DeleteVpcConnectorResponse -> TestTree+responseDeleteVpcConnector =+  res+    "DeleteVpcConnectorResponse"+    "fixture/DeleteVpcConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVpcConnector)++responseDeleteVpcIngressConnection :: DeleteVpcIngressConnectionResponse -> TestTree+responseDeleteVpcIngressConnection =+  res+    "DeleteVpcIngressConnectionResponse"+    "fixture/DeleteVpcIngressConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVpcIngressConnection)++responseDescribeAutoScalingConfiguration :: DescribeAutoScalingConfigurationResponse -> TestTree+responseDescribeAutoScalingConfiguration =+  res+    "DescribeAutoScalingConfigurationResponse"+    "fixture/DescribeAutoScalingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAutoScalingConfiguration)++responseDescribeCustomDomains :: DescribeCustomDomainsResponse -> TestTree+responseDescribeCustomDomains =+  res+    "DescribeCustomDomainsResponse"+    "fixture/DescribeCustomDomainsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeCustomDomains)++responseDescribeObservabilityConfiguration :: DescribeObservabilityConfigurationResponse -> TestTree+responseDescribeObservabilityConfiguration =+  res+    "DescribeObservabilityConfigurationResponse"+    "fixture/DescribeObservabilityConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeObservabilityConfiguration)++responseDescribeService :: DescribeServiceResponse -> TestTree+responseDescribeService =+  res+    "DescribeServiceResponse"+    "fixture/DescribeServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeService)++responseDescribeVpcConnector :: DescribeVpcConnectorResponse -> TestTree+responseDescribeVpcConnector =+  res+    "DescribeVpcConnectorResponse"+    "fixture/DescribeVpcConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeVpcConnector)++responseDescribeVpcIngressConnection :: DescribeVpcIngressConnectionResponse -> TestTree+responseDescribeVpcIngressConnection =+  res+    "DescribeVpcIngressConnectionResponse"+    "fixture/DescribeVpcIngressConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeVpcIngressConnection)++responseDisassociateCustomDomain :: DisassociateCustomDomainResponse -> TestTree+responseDisassociateCustomDomain =+  res+    "DisassociateCustomDomainResponse"+    "fixture/DisassociateCustomDomainResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateCustomDomain)++responseListAutoScalingConfigurations :: ListAutoScalingConfigurationsResponse -> TestTree+responseListAutoScalingConfigurations =+  res+    "ListAutoScalingConfigurationsResponse"+    "fixture/ListAutoScalingConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAutoScalingConfigurations)++responseListConnections :: ListConnectionsResponse -> TestTree+responseListConnections =+  res+    "ListConnectionsResponse"+    "fixture/ListConnectionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConnections)++responseListObservabilityConfigurations :: ListObservabilityConfigurationsResponse -> TestTree+responseListObservabilityConfigurations =+  res+    "ListObservabilityConfigurationsResponse"+    "fixture/ListObservabilityConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListObservabilityConfigurations)++responseListOperations :: ListOperationsResponse -> TestTree+responseListOperations =+  res+    "ListOperationsResponse"+    "fixture/ListOperationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListOperations)++responseListServices :: ListServicesResponse -> TestTree+responseListServices =+  res+    "ListServicesResponse"+    "fixture/ListServicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListServices)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVpcConnectors :: ListVpcConnectorsResponse -> TestTree+responseListVpcConnectors =+  res+    "ListVpcConnectorsResponse"+    "fixture/ListVpcConnectorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVpcConnectors)++responseListVpcIngressConnections :: ListVpcIngressConnectionsResponse -> TestTree+responseListVpcIngressConnections =+  res+    "ListVpcIngressConnectionsResponse"+    "fixture/ListVpcIngressConnectionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVpcIngressConnections)++responsePauseService :: PauseServiceResponse -> TestTree+responsePauseService =+  res+    "PauseServiceResponse"+    "fixture/PauseServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PauseService)++responseResumeService :: ResumeServiceResponse -> TestTree+responseResumeService =+  res+    "ResumeServiceResponse"+    "fixture/ResumeServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResumeService)++responseStartDeployment :: StartDeploymentResponse -> TestTree+responseStartDeployment =+  res+    "StartDeploymentResponse"+    "fixture/StartDeploymentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartDeployment)++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)++responseUpdateService :: UpdateServiceResponse -> TestTree+responseUpdateService =+  res+    "UpdateServiceResponse"+    "fixture/UpdateServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateService)++responseUpdateVpcIngressConnection :: UpdateVpcIngressConnectionResponse -> TestTree+responseUpdateVpcIngressConnection =+  res+    "UpdateVpcIngressConnectionResponse"+    "fixture/UpdateVpcIngressConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateVpcIngressConnection)