packages feed

amazonka-mwaa (empty) → 2.0

raw patch · 62 files changed

+6786/−0 lines, 62 filesdep +amazonka-coredep +amazonka-mwaadep +amazonka-test

Dependencies added: amazonka-core, amazonka-mwaa, 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 MWAA SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-07-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-mwaa)+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.MwAA](http://hackage.haskell.org/package/amazonka-mwaa/docs/Amazonka-MwAA.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-mwaa` 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-mwaa.cabal view
@@ -0,0 +1,111 @@+cabal-version:      2.2+name:               amazonka-mwaa+version:            2.0+synopsis:           Amazon MWAA 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-07-01@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.MwAA.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.MwAA" 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-mwaa++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.MwAA+    Amazonka.MwAA.CreateCliToken+    Amazonka.MwAA.CreateEnvironment+    Amazonka.MwAA.CreateWebLoginToken+    Amazonka.MwAA.DeleteEnvironment+    Amazonka.MwAA.GetEnvironment+    Amazonka.MwAA.Lens+    Amazonka.MwAA.ListEnvironments+    Amazonka.MwAA.ListTagsForResource+    Amazonka.MwAA.PublishMetrics+    Amazonka.MwAA.TagResource+    Amazonka.MwAA.Types+    Amazonka.MwAA.Types.Dimension+    Amazonka.MwAA.Types.Environment+    Amazonka.MwAA.Types.EnvironmentStatus+    Amazonka.MwAA.Types.LastUpdate+    Amazonka.MwAA.Types.LoggingConfiguration+    Amazonka.MwAA.Types.LoggingConfigurationInput+    Amazonka.MwAA.Types.LoggingLevel+    Amazonka.MwAA.Types.MetricDatum+    Amazonka.MwAA.Types.ModuleLoggingConfiguration+    Amazonka.MwAA.Types.ModuleLoggingConfigurationInput+    Amazonka.MwAA.Types.NetworkConfiguration+    Amazonka.MwAA.Types.StatisticSet+    Amazonka.MwAA.Types.Unit+    Amazonka.MwAA.Types.UpdateError+    Amazonka.MwAA.Types.UpdateNetworkConfigurationInput+    Amazonka.MwAA.Types.UpdateStatus+    Amazonka.MwAA.Types.WebserverAccessMode+    Amazonka.MwAA.UntagResource+    Amazonka.MwAA.UpdateEnvironment+    Amazonka.MwAA.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-mwaa-test+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded++  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Gen.MwAA+    Test.Amazonka.MwAA+    Test.Amazonka.MwAA.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-mwaa+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateCliToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/CreateCliTokenResponse.proto view
+ fixture/CreateEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/CreateEnvironmentResponse.proto view
+ fixture/CreateWebLoginToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/CreateWebLoginTokenResponse.proto view
+ fixture/DeleteEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/DeleteEnvironmentResponse.proto view
+ fixture/GetEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/GetEnvironmentResponse.proto view
+ fixture/ListEnvironments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/ListEnvironmentsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/PublishMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/PublishMetricsResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/UpdateEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/airflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  airflow.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/UpdateEnvironmentResponse.proto view
+ gen/Amazonka/MwAA.hs view
@@ -0,0 +1,256 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.MwAA+-- 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-07-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Managed Workflows for Apache Airflow+--+-- This section contains the Amazon Managed Workflows for Apache Airflow+-- (MWAA) API reference documentation. For more information, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html What Is Amazon MWAA?>.+--+-- __Endpoints__+--+-- -   @api.airflow.{region}.amazonaws.com@ - This endpoint is used for+--     environment management.+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_CreateEnvironment.html CreateEnvironment>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_DeleteEnvironment.html DeleteEnvironment>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_GetEnvironment.html GetEnvironment>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_ListEnvironments.html ListEnvironments>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_ListTagsForResource.html ListTagsForResource>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_TagResource.html TagResource>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_UntagResource.html UntagResource>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_UpdateEnvironment.html UpdateEnvironment>+--+-- -   @env.airflow.{region}.amazonaws.com@ - This endpoint is used to+--     operate the Airflow environment.+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_CreateCliToken.html%20 CreateCliToken>+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_CreateWebLoginToken.html CreateWebLoginToken>+--+-- -   @ops.airflow.{region}.amazonaws.com@ - This endpoint is used to push+--     environment metrics that track environment health.+--+--     -   <https://docs.aws.amazon.com/mwaa/latest/API/API_PublishMetrics.html%20 PublishMetrics>+--+-- __Regions__+--+-- For a list of regions that Amazon MWAA supports, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html#regions-mwaa Region availability>+-- in the /Amazon MWAA User Guide/.+module Amazonka.MwAA+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateCliToken+    CreateCliToken (CreateCliToken'),+    newCreateCliToken,+    CreateCliTokenResponse (CreateCliTokenResponse'),+    newCreateCliTokenResponse,++    -- ** CreateEnvironment+    CreateEnvironment (CreateEnvironment'),+    newCreateEnvironment,+    CreateEnvironmentResponse (CreateEnvironmentResponse'),+    newCreateEnvironmentResponse,++    -- ** CreateWebLoginToken+    CreateWebLoginToken (CreateWebLoginToken'),+    newCreateWebLoginToken,+    CreateWebLoginTokenResponse (CreateWebLoginTokenResponse'),+    newCreateWebLoginTokenResponse,++    -- ** DeleteEnvironment+    DeleteEnvironment (DeleteEnvironment'),+    newDeleteEnvironment,+    DeleteEnvironmentResponse (DeleteEnvironmentResponse'),+    newDeleteEnvironmentResponse,++    -- ** GetEnvironment+    GetEnvironment (GetEnvironment'),+    newGetEnvironment,+    GetEnvironmentResponse (GetEnvironmentResponse'),+    newGetEnvironmentResponse,++    -- ** ListEnvironments (Paginated)+    ListEnvironments (ListEnvironments'),+    newListEnvironments,+    ListEnvironmentsResponse (ListEnvironmentsResponse'),+    newListEnvironmentsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PublishMetrics+    PublishMetrics (PublishMetrics'),+    newPublishMetrics,+    PublishMetricsResponse (PublishMetricsResponse'),+    newPublishMetricsResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateEnvironment+    UpdateEnvironment (UpdateEnvironment'),+    newUpdateEnvironment,+    UpdateEnvironmentResponse (UpdateEnvironmentResponse'),+    newUpdateEnvironmentResponse,++    -- * Types++    -- ** EnvironmentStatus+    EnvironmentStatus (..),++    -- ** LoggingLevel+    LoggingLevel (..),++    -- ** Unit+    Unit (..),++    -- ** UpdateStatus+    UpdateStatus (..),++    -- ** WebserverAccessMode+    WebserverAccessMode (..),++    -- ** Dimension+    Dimension (Dimension'),+    newDimension,++    -- ** Environment+    Environment (Environment'),+    newEnvironment,++    -- ** LastUpdate+    LastUpdate (LastUpdate'),+    newLastUpdate,++    -- ** LoggingConfiguration+    LoggingConfiguration (LoggingConfiguration'),+    newLoggingConfiguration,++    -- ** LoggingConfigurationInput+    LoggingConfigurationInput (LoggingConfigurationInput'),+    newLoggingConfigurationInput,++    -- ** MetricDatum+    MetricDatum (MetricDatum'),+    newMetricDatum,++    -- ** ModuleLoggingConfiguration+    ModuleLoggingConfiguration (ModuleLoggingConfiguration'),+    newModuleLoggingConfiguration,++    -- ** ModuleLoggingConfigurationInput+    ModuleLoggingConfigurationInput (ModuleLoggingConfigurationInput'),+    newModuleLoggingConfigurationInput,++    -- ** NetworkConfiguration+    NetworkConfiguration (NetworkConfiguration'),+    newNetworkConfiguration,++    -- ** StatisticSet+    StatisticSet (StatisticSet'),+    newStatisticSet,++    -- ** UpdateError+    UpdateError (UpdateError'),+    newUpdateError,++    -- ** UpdateNetworkConfigurationInput+    UpdateNetworkConfigurationInput (UpdateNetworkConfigurationInput'),+    newUpdateNetworkConfigurationInput,+  )+where++import Amazonka.MwAA.CreateCliToken+import Amazonka.MwAA.CreateEnvironment+import Amazonka.MwAA.CreateWebLoginToken+import Amazonka.MwAA.DeleteEnvironment+import Amazonka.MwAA.GetEnvironment+import Amazonka.MwAA.Lens+import Amazonka.MwAA.ListEnvironments+import Amazonka.MwAA.ListTagsForResource+import Amazonka.MwAA.PublishMetrics+import Amazonka.MwAA.TagResource+import Amazonka.MwAA.Types+import Amazonka.MwAA.UntagResource+import Amazonka.MwAA.UpdateEnvironment+import Amazonka.MwAA.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 'MwAA'.++-- $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/MwAA/CreateCliToken.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.MwAA.CreateCliToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a CLI token for the Airflow CLI. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/call-mwaa-apis-cli.html Creating an Apache Airflow CLI token>.+module Amazonka.MwAA.CreateCliToken+  ( -- * Creating a Request+    CreateCliToken (..),+    newCreateCliToken,++    -- * Request Lenses+    createCliToken_name,++    -- * Destructuring the Response+    CreateCliTokenResponse (..),+    newCreateCliTokenResponse,++    -- * Response Lenses+    createCliTokenResponse_cliToken,+    createCliTokenResponse_webServerHostname,+    createCliTokenResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCliToken' smart constructor.+data CreateCliToken = CreateCliToken'+  { -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCliToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createCliToken_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+newCreateCliToken ::+  -- | 'name'+  Prelude.Text ->+  CreateCliToken+newCreateCliToken pName_ =+  CreateCliToken' {name = pName_}++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+createCliToken_name :: Lens.Lens' CreateCliToken Prelude.Text+createCliToken_name = Lens.lens (\CreateCliToken' {name} -> name) (\s@CreateCliToken' {} a -> s {name = a} :: CreateCliToken)++instance Core.AWSRequest CreateCliToken where+  type+    AWSResponse CreateCliToken =+      CreateCliTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateCliTokenResponse'+            Prelude.<$> (x Data..?> "CliToken")+            Prelude.<*> (x Data..?> "WebServerHostname")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateCliToken where+  hashWithSalt _salt CreateCliToken' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData CreateCliToken where+  rnf CreateCliToken' {..} = Prelude.rnf name++instance Data.ToHeaders CreateCliToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateCliToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CreateCliToken where+  toPath CreateCliToken' {..} =+    Prelude.mconcat ["/clitoken/", Data.toBS name]++instance Data.ToQuery CreateCliToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCliTokenResponse' smart constructor.+data CreateCliTokenResponse = CreateCliTokenResponse'+  { -- | An Airflow CLI login token.+    cliToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Airflow web server hostname for the environment.+    webServerHostname :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCliTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cliToken', 'createCliTokenResponse_cliToken' - An Airflow CLI login token.+--+-- 'webServerHostname', 'createCliTokenResponse_webServerHostname' - The Airflow web server hostname for the environment.+--+-- 'httpStatus', 'createCliTokenResponse_httpStatus' - The response's http status code.+newCreateCliTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateCliTokenResponse+newCreateCliTokenResponse pHttpStatus_ =+  CreateCliTokenResponse'+    { cliToken = Prelude.Nothing,+      webServerHostname = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An Airflow CLI login token.+createCliTokenResponse_cliToken :: Lens.Lens' CreateCliTokenResponse (Prelude.Maybe Prelude.Text)+createCliTokenResponse_cliToken = Lens.lens (\CreateCliTokenResponse' {cliToken} -> cliToken) (\s@CreateCliTokenResponse' {} a -> s {cliToken = a} :: CreateCliTokenResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The Airflow web server hostname for the environment.+createCliTokenResponse_webServerHostname :: Lens.Lens' CreateCliTokenResponse (Prelude.Maybe Prelude.Text)+createCliTokenResponse_webServerHostname = Lens.lens (\CreateCliTokenResponse' {webServerHostname} -> webServerHostname) (\s@CreateCliTokenResponse' {} a -> s {webServerHostname = a} :: CreateCliTokenResponse)++-- | The response's http status code.+createCliTokenResponse_httpStatus :: Lens.Lens' CreateCliTokenResponse Prelude.Int+createCliTokenResponse_httpStatus = Lens.lens (\CreateCliTokenResponse' {httpStatus} -> httpStatus) (\s@CreateCliTokenResponse' {} a -> s {httpStatus = a} :: CreateCliTokenResponse)++instance Prelude.NFData CreateCliTokenResponse where+  rnf CreateCliTokenResponse' {..} =+    Prelude.rnf cliToken+      `Prelude.seq` Prelude.rnf webServerHostname+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/CreateEnvironment.hs view
@@ -0,0 +1,623 @@+{-# 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.MwAA.CreateEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon Managed Workflows for Apache Airflow (MWAA)+-- environment.+module Amazonka.MwAA.CreateEnvironment+  ( -- * Creating a Request+    CreateEnvironment (..),+    newCreateEnvironment,++    -- * Request Lenses+    createEnvironment_airflowConfigurationOptions,+    createEnvironment_airflowVersion,+    createEnvironment_environmentClass,+    createEnvironment_kmsKey,+    createEnvironment_loggingConfiguration,+    createEnvironment_maxWorkers,+    createEnvironment_minWorkers,+    createEnvironment_pluginsS3ObjectVersion,+    createEnvironment_pluginsS3Path,+    createEnvironment_requirementsS3ObjectVersion,+    createEnvironment_requirementsS3Path,+    createEnvironment_schedulers,+    createEnvironment_tags,+    createEnvironment_webserverAccessMode,+    createEnvironment_weeklyMaintenanceWindowStart,+    createEnvironment_dagS3Path,+    createEnvironment_executionRoleArn,+    createEnvironment_name,+    createEnvironment_networkConfiguration,+    createEnvironment_sourceBucketArn,++    -- * Destructuring the Response+    CreateEnvironmentResponse (..),+    newCreateEnvironmentResponse,++    -- * Response Lenses+    createEnvironmentResponse_arn,+    createEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | This section contains the Amazon Managed Workflows for Apache Airflow+-- (MWAA) API reference documentation to create an environment. For more+-- information, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html Get started with Amazon Managed Workflows for Apache Airflow>.+--+-- /See:/ 'newCreateEnvironment' smart constructor.+data CreateEnvironment = CreateEnvironment'+  { -- | A list of key-value pairs containing the Apache Airflow configuration+    -- options you want to attach to your environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+    airflowConfigurationOptions :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))),+    -- | The Apache Airflow version for your environment. If no value is+    -- specified, it defaults to the latest version. Valid values: @1.10.12@,+    -- @2.0.2@, @2.2.2@, and @2.4.3@. For more information, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-versions.html Apache Airflow versions on Amazon Managed Workflows for Apache Airflow (MWAA)>.+    airflowVersion :: Prelude.Maybe Prelude.Text,+    -- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+    -- @mw1.large@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+    environmentClass :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Key Management Service (KMS) key to encrypt the+    -- data in your environment. You can use an Amazon Web Services owned CMK,+    -- or a Customer managed CMK (advanced). To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/create-environment.html Create an Amazon MWAA environment>.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | Defines the Apache Airflow logs to send to CloudWatch Logs.+    loggingConfiguration :: Prelude.Maybe LoggingConfigurationInput,+    -- | The maximum number of workers that you want to run in your environment.+    -- MWAA scales the number of Apache Airflow workers up to the number you+    -- specify in the @MaxWorkers@ field. For example, @20@. When there are no+    -- more tasks running, and no more in the queue, MWAA disposes of the extra+    -- workers leaving the one worker that is included with your environment,+    -- or the number you specify in @MinWorkers@.+    maxWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The minimum number of workers that you want to run in your environment.+    -- MWAA scales the number of Apache Airflow workers up to the number you+    -- specify in the @MaxWorkers@ field. When there are no more tasks running,+    -- and no more in the queue, MWAA disposes of the extra workers leaving the+    -- worker count you specify in the @MinWorkers@ field. For example, @2@.+    minWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The version of the plugins.zip file on your Amazon S3 bucket. A version+    -- must be specified each time a plugins.zip file is updated. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+    pluginsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+    -- For example, @plugins.zip@. If specified, then the plugins.zip version+    -- is required. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+    pluginsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The version of the requirements.txt file on your Amazon S3 bucket. A+    -- version must be specified each time a requirements.txt file is updated.+    -- To learn more, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+    requirementsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @requirements.txt@ file on your Amazon S3+    -- bucket. For example, @requirements.txt@. If specified, then a file+    -- version is required. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+    requirementsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The number of Apache Airflow schedulers to run in your environment.+    -- Valid values:+    --+    -- -   v2 - Accepts between 2 to 5. Defaults to 2.+    --+    -- -   v1 - Accepts 1.+    schedulers :: Prelude.Maybe Prelude.Int,+    -- | The key-value tag pairs you want to associate to your environment. For+    -- example, @\"Environment\": \"Staging\"@. To learn more, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Apache Airflow /Web server/ access mode. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+    webserverAccessMode :: Prelude.Maybe WebserverAccessMode,+    -- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+    -- standard time to start weekly maintenance updates of your environment in+    -- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+    -- specify a start time in 30 minute increments only.+    weeklyMaintenanceWindowStart :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the DAGs folder on your Amazon S3 bucket. For+    -- example, @dags@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+    dagS3Path :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the execution role for your+    -- environment. An execution role is an Amazon Web Services Identity and+    -- Access Management (IAM) role that grants MWAA permission to access+    -- Amazon Web Services services and resources used by your environment. For+    -- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+    executionRoleArn :: Prelude.Text,+    -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text,+    -- | The VPC networking components used to secure and enable network traffic+    -- between the Amazon Web Services resources for your environment. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+    networkConfiguration :: NetworkConfiguration,+    -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+    -- code and supporting files are stored. For example,+    -- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+    sourceBucketArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'airflowConfigurationOptions', 'createEnvironment_airflowConfigurationOptions' - A list of key-value pairs containing the Apache Airflow configuration+-- options you want to attach to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+--+-- 'airflowVersion', 'createEnvironment_airflowVersion' - The Apache Airflow version for your environment. If no value is+-- specified, it defaults to the latest version. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@. For more information, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-versions.html Apache Airflow versions on Amazon Managed Workflows for Apache Airflow (MWAA)>.+--+-- 'environmentClass', 'createEnvironment_environmentClass' - The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+--+-- 'kmsKey', 'createEnvironment_kmsKey' - The Amazon Web Services Key Management Service (KMS) key to encrypt the+-- data in your environment. You can use an Amazon Web Services owned CMK,+-- or a Customer managed CMK (advanced). To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/create-environment.html Create an Amazon MWAA environment>.+--+-- 'loggingConfiguration', 'createEnvironment_loggingConfiguration' - Defines the Apache Airflow logs to send to CloudWatch Logs.+--+-- 'maxWorkers', 'createEnvironment_maxWorkers' - The maximum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. For example, @20@. When there are no+-- more tasks running, and no more in the queue, MWAA disposes of the extra+-- workers leaving the one worker that is included with your environment,+-- or the number you specify in @MinWorkers@.+--+-- 'minWorkers', 'createEnvironment_minWorkers' - The minimum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. When there are no more tasks running,+-- and no more in the queue, MWAA disposes of the extra workers leaving the+-- worker count you specify in the @MinWorkers@ field. For example, @2@.+--+-- 'pluginsS3ObjectVersion', 'createEnvironment_pluginsS3ObjectVersion' - The version of the plugins.zip file on your Amazon S3 bucket. A version+-- must be specified each time a plugins.zip file is updated. To learn+-- more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+--+-- 'pluginsS3Path', 'createEnvironment_pluginsS3Path' - The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. If specified, then the plugins.zip version+-- is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+--+-- 'requirementsS3ObjectVersion', 'createEnvironment_requirementsS3ObjectVersion' - The version of the requirements.txt file on your Amazon S3 bucket. A+-- version must be specified each time a requirements.txt file is updated.+-- To learn more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+--+-- 'requirementsS3Path', 'createEnvironment_requirementsS3Path' - The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. If specified, then a file+-- version is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+--+-- 'schedulers', 'createEnvironment_schedulers' - The number of Apache Airflow schedulers to run in your environment.+-- Valid values:+--+-- -   v2 - Accepts between 2 to 5. Defaults to 2.+--+-- -   v1 - Accepts 1.+--+-- 'tags', 'createEnvironment_tags' - The key-value tag pairs you want to associate to your environment. For+-- example, @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+--+-- 'webserverAccessMode', 'createEnvironment_webserverAccessMode' - The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+--+-- 'weeklyMaintenanceWindowStart', 'createEnvironment_weeklyMaintenanceWindowStart' - The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time to start weekly maintenance updates of your environment in+-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+-- specify a start time in 30 minute increments only.+--+-- 'dagS3Path', 'createEnvironment_dagS3Path' - The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+--+-- 'executionRoleArn', 'createEnvironment_executionRoleArn' - The Amazon Resource Name (ARN) of the execution role for your+-- environment. An execution role is an Amazon Web Services Identity and+-- Access Management (IAM) role that grants MWAA permission to access+-- Amazon Web Services services and resources used by your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+--+-- 'name', 'createEnvironment_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+--+-- 'networkConfiguration', 'createEnvironment_networkConfiguration' - The VPC networking components used to secure and enable network traffic+-- between the Amazon Web Services resources for your environment. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+--+-- 'sourceBucketArn', 'createEnvironment_sourceBucketArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+newCreateEnvironment ::+  -- | 'dagS3Path'+  Prelude.Text ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'networkConfiguration'+  NetworkConfiguration ->+  -- | 'sourceBucketArn'+  Prelude.Text ->+  CreateEnvironment+newCreateEnvironment+  pDagS3Path_+  pExecutionRoleArn_+  pName_+  pNetworkConfiguration_+  pSourceBucketArn_ =+    CreateEnvironment'+      { airflowConfigurationOptions =+          Prelude.Nothing,+        airflowVersion = Prelude.Nothing,+        environmentClass = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        loggingConfiguration = Prelude.Nothing,+        maxWorkers = Prelude.Nothing,+        minWorkers = Prelude.Nothing,+        pluginsS3ObjectVersion = Prelude.Nothing,+        pluginsS3Path = Prelude.Nothing,+        requirementsS3ObjectVersion = Prelude.Nothing,+        requirementsS3Path = Prelude.Nothing,+        schedulers = Prelude.Nothing,+        tags = Prelude.Nothing,+        webserverAccessMode = Prelude.Nothing,+        weeklyMaintenanceWindowStart = Prelude.Nothing,+        dagS3Path = pDagS3Path_,+        executionRoleArn = pExecutionRoleArn_,+        name = pName_,+        networkConfiguration = pNetworkConfiguration_,+        sourceBucketArn = pSourceBucketArn_+      }++-- | A list of key-value pairs containing the Apache Airflow configuration+-- options you want to attach to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+createEnvironment_airflowConfigurationOptions :: Lens.Lens' CreateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEnvironment_airflowConfigurationOptions = Lens.lens (\CreateEnvironment' {airflowConfigurationOptions} -> airflowConfigurationOptions) (\s@CreateEnvironment' {} a -> s {airflowConfigurationOptions = a} :: CreateEnvironment) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The Apache Airflow version for your environment. If no value is+-- specified, it defaults to the latest version. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@. For more information, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/airflow-versions.html Apache Airflow versions on Amazon Managed Workflows for Apache Airflow (MWAA)>.+createEnvironment_airflowVersion :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_airflowVersion = Lens.lens (\CreateEnvironment' {airflowVersion} -> airflowVersion) (\s@CreateEnvironment' {} a -> s {airflowVersion = a} :: CreateEnvironment)++-- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+createEnvironment_environmentClass :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_environmentClass = Lens.lens (\CreateEnvironment' {environmentClass} -> environmentClass) (\s@CreateEnvironment' {} a -> s {environmentClass = a} :: CreateEnvironment)++-- | The Amazon Web Services Key Management Service (KMS) key to encrypt the+-- data in your environment. You can use an Amazon Web Services owned CMK,+-- or a Customer managed CMK (advanced). To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/create-environment.html Create an Amazon MWAA environment>.+createEnvironment_kmsKey :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_kmsKey = Lens.lens (\CreateEnvironment' {kmsKey} -> kmsKey) (\s@CreateEnvironment' {} a -> s {kmsKey = a} :: CreateEnvironment)++-- | Defines the Apache Airflow logs to send to CloudWatch Logs.+createEnvironment_loggingConfiguration :: Lens.Lens' CreateEnvironment (Prelude.Maybe LoggingConfigurationInput)+createEnvironment_loggingConfiguration = Lens.lens (\CreateEnvironment' {loggingConfiguration} -> loggingConfiguration) (\s@CreateEnvironment' {} a -> s {loggingConfiguration = a} :: CreateEnvironment)++-- | The maximum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. For example, @20@. When there are no+-- more tasks running, and no more in the queue, MWAA disposes of the extra+-- workers leaving the one worker that is included with your environment,+-- or the number you specify in @MinWorkers@.+createEnvironment_maxWorkers :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Natural)+createEnvironment_maxWorkers = Lens.lens (\CreateEnvironment' {maxWorkers} -> maxWorkers) (\s@CreateEnvironment' {} a -> s {maxWorkers = a} :: CreateEnvironment)++-- | The minimum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. When there are no more tasks running,+-- and no more in the queue, MWAA disposes of the extra workers leaving the+-- worker count you specify in the @MinWorkers@ field. For example, @2@.+createEnvironment_minWorkers :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Natural)+createEnvironment_minWorkers = Lens.lens (\CreateEnvironment' {minWorkers} -> minWorkers) (\s@CreateEnvironment' {} a -> s {minWorkers = a} :: CreateEnvironment)++-- | The version of the plugins.zip file on your Amazon S3 bucket. A version+-- must be specified each time a plugins.zip file is updated. To learn+-- more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+createEnvironment_pluginsS3ObjectVersion :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_pluginsS3ObjectVersion = Lens.lens (\CreateEnvironment' {pluginsS3ObjectVersion} -> pluginsS3ObjectVersion) (\s@CreateEnvironment' {} a -> s {pluginsS3ObjectVersion = a} :: CreateEnvironment)++-- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. If specified, then the plugins.zip version+-- is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+createEnvironment_pluginsS3Path :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_pluginsS3Path = Lens.lens (\CreateEnvironment' {pluginsS3Path} -> pluginsS3Path) (\s@CreateEnvironment' {} a -> s {pluginsS3Path = a} :: CreateEnvironment)++-- | The version of the requirements.txt file on your Amazon S3 bucket. A+-- version must be specified each time a requirements.txt file is updated.+-- To learn more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+createEnvironment_requirementsS3ObjectVersion :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_requirementsS3ObjectVersion = Lens.lens (\CreateEnvironment' {requirementsS3ObjectVersion} -> requirementsS3ObjectVersion) (\s@CreateEnvironment' {} a -> s {requirementsS3ObjectVersion = a} :: CreateEnvironment)++-- | The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. If specified, then a file+-- version is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+createEnvironment_requirementsS3Path :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_requirementsS3Path = Lens.lens (\CreateEnvironment' {requirementsS3Path} -> requirementsS3Path) (\s@CreateEnvironment' {} a -> s {requirementsS3Path = a} :: CreateEnvironment)++-- | The number of Apache Airflow schedulers to run in your environment.+-- Valid values:+--+-- -   v2 - Accepts between 2 to 5. Defaults to 2.+--+-- -   v1 - Accepts 1.+createEnvironment_schedulers :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Int)+createEnvironment_schedulers = Lens.lens (\CreateEnvironment' {schedulers} -> schedulers) (\s@CreateEnvironment' {} a -> s {schedulers = a} :: CreateEnvironment)++-- | The key-value tag pairs you want to associate to your environment. For+-- example, @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+createEnvironment_tags :: Lens.Lens' CreateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEnvironment_tags = Lens.lens (\CreateEnvironment' {tags} -> tags) (\s@CreateEnvironment' {} a -> s {tags = a} :: CreateEnvironment) Prelude.. Lens.mapping Lens.coerced++-- | The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+createEnvironment_webserverAccessMode :: Lens.Lens' CreateEnvironment (Prelude.Maybe WebserverAccessMode)+createEnvironment_webserverAccessMode = Lens.lens (\CreateEnvironment' {webserverAccessMode} -> webserverAccessMode) (\s@CreateEnvironment' {} a -> s {webserverAccessMode = a} :: CreateEnvironment)++-- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time to start weekly maintenance updates of your environment in+-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+-- specify a start time in 30 minute increments only.+createEnvironment_weeklyMaintenanceWindowStart :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_weeklyMaintenanceWindowStart = Lens.lens (\CreateEnvironment' {weeklyMaintenanceWindowStart} -> weeklyMaintenanceWindowStart) (\s@CreateEnvironment' {} a -> s {weeklyMaintenanceWindowStart = a} :: CreateEnvironment)++-- | The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+createEnvironment_dagS3Path :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_dagS3Path = Lens.lens (\CreateEnvironment' {dagS3Path} -> dagS3Path) (\s@CreateEnvironment' {} a -> s {dagS3Path = a} :: CreateEnvironment)++-- | The Amazon Resource Name (ARN) of the execution role for your+-- environment. An execution role is an Amazon Web Services Identity and+-- Access Management (IAM) role that grants MWAA permission to access+-- Amazon Web Services services and resources used by your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+createEnvironment_executionRoleArn :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_executionRoleArn = Lens.lens (\CreateEnvironment' {executionRoleArn} -> executionRoleArn) (\s@CreateEnvironment' {} a -> s {executionRoleArn = a} :: CreateEnvironment)++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+createEnvironment_name :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_name = Lens.lens (\CreateEnvironment' {name} -> name) (\s@CreateEnvironment' {} a -> s {name = a} :: CreateEnvironment)++-- | The VPC networking components used to secure and enable network traffic+-- between the Amazon Web Services resources for your environment. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+createEnvironment_networkConfiguration :: Lens.Lens' CreateEnvironment NetworkConfiguration+createEnvironment_networkConfiguration = Lens.lens (\CreateEnvironment' {networkConfiguration} -> networkConfiguration) (\s@CreateEnvironment' {} a -> s {networkConfiguration = a} :: CreateEnvironment)++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+createEnvironment_sourceBucketArn :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_sourceBucketArn = Lens.lens (\CreateEnvironment' {sourceBucketArn} -> sourceBucketArn) (\s@CreateEnvironment' {} a -> s {sourceBucketArn = a} :: CreateEnvironment)++instance Core.AWSRequest CreateEnvironment where+  type+    AWSResponse CreateEnvironment =+      CreateEnvironmentResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateEnvironmentResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateEnvironment where+  hashWithSalt _salt CreateEnvironment' {..} =+    _salt+      `Prelude.hashWithSalt` airflowConfigurationOptions+      `Prelude.hashWithSalt` airflowVersion+      `Prelude.hashWithSalt` environmentClass+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` loggingConfiguration+      `Prelude.hashWithSalt` maxWorkers+      `Prelude.hashWithSalt` minWorkers+      `Prelude.hashWithSalt` pluginsS3ObjectVersion+      `Prelude.hashWithSalt` pluginsS3Path+      `Prelude.hashWithSalt` requirementsS3ObjectVersion+      `Prelude.hashWithSalt` requirementsS3Path+      `Prelude.hashWithSalt` schedulers+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` webserverAccessMode+      `Prelude.hashWithSalt` weeklyMaintenanceWindowStart+      `Prelude.hashWithSalt` dagS3Path+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` sourceBucketArn++instance Prelude.NFData CreateEnvironment where+  rnf CreateEnvironment' {..} =+    Prelude.rnf airflowConfigurationOptions+      `Prelude.seq` Prelude.rnf airflowVersion+      `Prelude.seq` Prelude.rnf environmentClass+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf loggingConfiguration+      `Prelude.seq` Prelude.rnf maxWorkers+      `Prelude.seq` Prelude.rnf minWorkers+      `Prelude.seq` Prelude.rnf pluginsS3ObjectVersion+      `Prelude.seq` Prelude.rnf pluginsS3Path+      `Prelude.seq` Prelude.rnf requirementsS3ObjectVersion+      `Prelude.seq` Prelude.rnf requirementsS3Path+      `Prelude.seq` Prelude.rnf schedulers+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf webserverAccessMode+      `Prelude.seq` Prelude.rnf weeklyMaintenanceWindowStart+      `Prelude.seq` Prelude.rnf dagS3Path+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf sourceBucketArn++instance Data.ToHeaders CreateEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateEnvironment where+  toJSON CreateEnvironment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AirflowConfigurationOptions" Data..=)+              Prelude.<$> airflowConfigurationOptions,+            ("AirflowVersion" Data..=)+              Prelude.<$> airflowVersion,+            ("EnvironmentClass" Data..=)+              Prelude.<$> environmentClass,+            ("KmsKey" Data..=) Prelude.<$> kmsKey,+            ("LoggingConfiguration" Data..=)+              Prelude.<$> loggingConfiguration,+            ("MaxWorkers" Data..=) Prelude.<$> maxWorkers,+            ("MinWorkers" Data..=) Prelude.<$> minWorkers,+            ("PluginsS3ObjectVersion" Data..=)+              Prelude.<$> pluginsS3ObjectVersion,+            ("PluginsS3Path" Data..=) Prelude.<$> pluginsS3Path,+            ("RequirementsS3ObjectVersion" Data..=)+              Prelude.<$> requirementsS3ObjectVersion,+            ("RequirementsS3Path" Data..=)+              Prelude.<$> requirementsS3Path,+            ("Schedulers" Data..=) Prelude.<$> schedulers,+            ("Tags" Data..=) Prelude.<$> tags,+            ("WebserverAccessMode" Data..=)+              Prelude.<$> webserverAccessMode,+            ("WeeklyMaintenanceWindowStart" Data..=)+              Prelude.<$> weeklyMaintenanceWindowStart,+            Prelude.Just ("DagS3Path" Data..= dagS3Path),+            Prelude.Just+              ("ExecutionRoleArn" Data..= executionRoleArn),+            Prelude.Just+              ( "NetworkConfiguration"+                  Data..= networkConfiguration+              ),+            Prelude.Just+              ("SourceBucketArn" Data..= sourceBucketArn)+          ]+      )++instance Data.ToPath CreateEnvironment where+  toPath CreateEnvironment' {..} =+    Prelude.mconcat ["/environments/", Data.toBS name]++instance Data.ToQuery CreateEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateEnvironmentResponse' smart constructor.+data CreateEnvironmentResponse = CreateEnvironmentResponse'+  { -- | The Amazon Resource Name (ARN) returned in the response for the+    -- environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEnvironmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createEnvironmentResponse_arn' - The Amazon Resource Name (ARN) returned in the response for the+-- environment.+--+-- 'httpStatus', 'createEnvironmentResponse_httpStatus' - The response's http status code.+newCreateEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateEnvironmentResponse+newCreateEnvironmentResponse pHttpStatus_ =+  CreateEnvironmentResponse'+    { arn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) returned in the response for the+-- environment.+createEnvironmentResponse_arn :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_arn = Lens.lens (\CreateEnvironmentResponse' {arn} -> arn) (\s@CreateEnvironmentResponse' {} a -> s {arn = a} :: CreateEnvironmentResponse)++-- | The response's http status code.+createEnvironmentResponse_httpStatus :: Lens.Lens' CreateEnvironmentResponse Prelude.Int+createEnvironmentResponse_httpStatus = Lens.lens (\CreateEnvironmentResponse' {httpStatus} -> httpStatus) (\s@CreateEnvironmentResponse' {} a -> s {httpStatus = a} :: CreateEnvironmentResponse)++instance Prelude.NFData CreateEnvironmentResponse where+  rnf CreateEnvironmentResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/CreateWebLoginToken.hs view
@@ -0,0 +1,177 @@+{-# 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.MwAA.CreateWebLoginToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a web login token for the Airflow Web UI. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/call-mwaa-apis-web.html Creating an Apache Airflow web login token>.+module Amazonka.MwAA.CreateWebLoginToken+  ( -- * Creating a Request+    CreateWebLoginToken (..),+    newCreateWebLoginToken,++    -- * Request Lenses+    createWebLoginToken_name,++    -- * Destructuring the Response+    CreateWebLoginTokenResponse (..),+    newCreateWebLoginTokenResponse,++    -- * Response Lenses+    createWebLoginTokenResponse_webServerHostname,+    createWebLoginTokenResponse_webToken,+    createWebLoginTokenResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWebLoginToken' smart constructor.+data CreateWebLoginToken = CreateWebLoginToken'+  { -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebLoginToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createWebLoginToken_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+newCreateWebLoginToken ::+  -- | 'name'+  Prelude.Text ->+  CreateWebLoginToken+newCreateWebLoginToken pName_ =+  CreateWebLoginToken' {name = pName_}++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+createWebLoginToken_name :: Lens.Lens' CreateWebLoginToken Prelude.Text+createWebLoginToken_name = Lens.lens (\CreateWebLoginToken' {name} -> name) (\s@CreateWebLoginToken' {} a -> s {name = a} :: CreateWebLoginToken)++instance Core.AWSRequest CreateWebLoginToken where+  type+    AWSResponse CreateWebLoginToken =+      CreateWebLoginTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWebLoginTokenResponse'+            Prelude.<$> (x Data..?> "WebServerHostname")+            Prelude.<*> (x Data..?> "WebToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWebLoginToken where+  hashWithSalt _salt CreateWebLoginToken' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData CreateWebLoginToken where+  rnf CreateWebLoginToken' {..} = Prelude.rnf name++instance Data.ToHeaders CreateWebLoginToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWebLoginToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CreateWebLoginToken where+  toPath CreateWebLoginToken' {..} =+    Prelude.mconcat ["/webtoken/", Data.toBS name]++instance Data.ToQuery CreateWebLoginToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWebLoginTokenResponse' smart constructor.+data CreateWebLoginTokenResponse = CreateWebLoginTokenResponse'+  { -- | The Airflow web server hostname for the environment.+    webServerHostname :: Prelude.Maybe Prelude.Text,+    -- | An Airflow web server login token.+    webToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebLoginTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webServerHostname', 'createWebLoginTokenResponse_webServerHostname' - The Airflow web server hostname for the environment.+--+-- 'webToken', 'createWebLoginTokenResponse_webToken' - An Airflow web server login token.+--+-- 'httpStatus', 'createWebLoginTokenResponse_httpStatus' - The response's http status code.+newCreateWebLoginTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWebLoginTokenResponse+newCreateWebLoginTokenResponse pHttpStatus_ =+  CreateWebLoginTokenResponse'+    { webServerHostname =+        Prelude.Nothing,+      webToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Airflow web server hostname for the environment.+createWebLoginTokenResponse_webServerHostname :: Lens.Lens' CreateWebLoginTokenResponse (Prelude.Maybe Prelude.Text)+createWebLoginTokenResponse_webServerHostname = Lens.lens (\CreateWebLoginTokenResponse' {webServerHostname} -> webServerHostname) (\s@CreateWebLoginTokenResponse' {} a -> s {webServerHostname = a} :: CreateWebLoginTokenResponse)++-- | An Airflow web server login token.+createWebLoginTokenResponse_webToken :: Lens.Lens' CreateWebLoginTokenResponse (Prelude.Maybe Prelude.Text)+createWebLoginTokenResponse_webToken = Lens.lens (\CreateWebLoginTokenResponse' {webToken} -> webToken) (\s@CreateWebLoginTokenResponse' {} a -> s {webToken = a} :: CreateWebLoginTokenResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+createWebLoginTokenResponse_httpStatus :: Lens.Lens' CreateWebLoginTokenResponse Prelude.Int+createWebLoginTokenResponse_httpStatus = Lens.lens (\CreateWebLoginTokenResponse' {httpStatus} -> httpStatus) (\s@CreateWebLoginTokenResponse' {} a -> s {httpStatus = a} :: CreateWebLoginTokenResponse)++instance Prelude.NFData CreateWebLoginTokenResponse where+  rnf CreateWebLoginTokenResponse' {..} =+    Prelude.rnf webServerHostname+      `Prelude.seq` Prelude.rnf webToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/DeleteEnvironment.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.DeleteEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an Amazon Managed Workflows for Apache Airflow (MWAA)+-- environment.+module Amazonka.MwAA.DeleteEnvironment+  ( -- * Creating a Request+    DeleteEnvironment (..),+    newDeleteEnvironment,++    -- * Request Lenses+    deleteEnvironment_name,++    -- * Destructuring the Response+    DeleteEnvironmentResponse (..),+    newDeleteEnvironmentResponse,++    -- * Response Lenses+    deleteEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteEnvironment' smart constructor.+data DeleteEnvironment = DeleteEnvironment'+  { -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEnvironment_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+newDeleteEnvironment ::+  -- | 'name'+  Prelude.Text ->+  DeleteEnvironment+newDeleteEnvironment pName_ =+  DeleteEnvironment' {name = pName_}++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+deleteEnvironment_name :: Lens.Lens' DeleteEnvironment Prelude.Text+deleteEnvironment_name = Lens.lens (\DeleteEnvironment' {name} -> name) (\s@DeleteEnvironment' {} a -> s {name = a} :: DeleteEnvironment)++instance Core.AWSRequest DeleteEnvironment where+  type+    AWSResponse DeleteEnvironment =+      DeleteEnvironmentResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteEnvironmentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteEnvironment where+  hashWithSalt _salt DeleteEnvironment' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteEnvironment where+  rnf DeleteEnvironment' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteEnvironment where+  toPath DeleteEnvironment' {..} =+    Prelude.mconcat ["/environments/", Data.toBS name]++instance Data.ToQuery DeleteEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEnvironmentResponse' smart constructor.+data DeleteEnvironmentResponse = DeleteEnvironmentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEnvironmentResponse_httpStatus' - The response's http status code.+newDeleteEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteEnvironmentResponse+newDeleteEnvironmentResponse pHttpStatus_ =+  DeleteEnvironmentResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteEnvironmentResponse_httpStatus :: Lens.Lens' DeleteEnvironmentResponse Prelude.Int+deleteEnvironmentResponse_httpStatus = Lens.lens (\DeleteEnvironmentResponse' {httpStatus} -> httpStatus) (\s@DeleteEnvironmentResponse' {} a -> s {httpStatus = a} :: DeleteEnvironmentResponse)++instance Prelude.NFData DeleteEnvironmentResponse where+  rnf DeleteEnvironmentResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/GetEnvironment.hs view
@@ -0,0 +1,162 @@+{-# 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.MwAA.GetEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an Amazon Managed Workflows for Apache Airflow (MWAA)+-- environment.+module Amazonka.MwAA.GetEnvironment+  ( -- * Creating a Request+    GetEnvironment (..),+    newGetEnvironment,++    -- * Request Lenses+    getEnvironment_name,++    -- * Destructuring the Response+    GetEnvironmentResponse (..),+    newGetEnvironmentResponse,++    -- * Response Lenses+    getEnvironmentResponse_environment,+    getEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEnvironment' smart constructor.+data GetEnvironment = GetEnvironment'+  { -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getEnvironment_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+newGetEnvironment ::+  -- | 'name'+  Prelude.Text ->+  GetEnvironment+newGetEnvironment pName_ =+  GetEnvironment' {name = pName_}++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+getEnvironment_name :: Lens.Lens' GetEnvironment Prelude.Text+getEnvironment_name = Lens.lens (\GetEnvironment' {name} -> name) (\s@GetEnvironment' {} a -> s {name = a} :: GetEnvironment)++instance Core.AWSRequest GetEnvironment where+  type+    AWSResponse GetEnvironment =+      GetEnvironmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEnvironmentResponse'+            Prelude.<$> (x Data..?> "Environment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetEnvironment where+  hashWithSalt _salt GetEnvironment' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetEnvironment where+  rnf GetEnvironment' {..} = Prelude.rnf name++instance Data.ToHeaders GetEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetEnvironment where+  toPath GetEnvironment' {..} =+    Prelude.mconcat ["/environments/", Data.toBS name]++instance Data.ToQuery GetEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEnvironmentResponse' smart constructor.+data GetEnvironmentResponse = GetEnvironmentResponse'+  { -- | An object containing all available details about the environment.+    environment :: Prelude.Maybe Environment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEnvironmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'environment', 'getEnvironmentResponse_environment' - An object containing all available details about the environment.+--+-- 'httpStatus', 'getEnvironmentResponse_httpStatus' - The response's http status code.+newGetEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetEnvironmentResponse+newGetEnvironmentResponse pHttpStatus_ =+  GetEnvironmentResponse'+    { environment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An object containing all available details about the environment.+getEnvironmentResponse_environment :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Environment)+getEnvironmentResponse_environment = Lens.lens (\GetEnvironmentResponse' {environment} -> environment) (\s@GetEnvironmentResponse' {} a -> s {environment = a} :: GetEnvironmentResponse)++-- | The response's http status code.+getEnvironmentResponse_httpStatus :: Lens.Lens' GetEnvironmentResponse Prelude.Int+getEnvironmentResponse_httpStatus = Lens.lens (\GetEnvironmentResponse' {httpStatus} -> httpStatus) (\s@GetEnvironmentResponse' {} a -> s {httpStatus = a} :: GetEnvironmentResponse)++instance Prelude.NFData GetEnvironmentResponse where+  rnf GetEnvironmentResponse' {..} =+    Prelude.rnf environment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/Lens.hs view
@@ -0,0 +1,223 @@+{-# 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.MwAA.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.MwAA.Lens+  ( -- * Operations++    -- ** CreateCliToken+    createCliToken_name,+    createCliTokenResponse_cliToken,+    createCliTokenResponse_webServerHostname,+    createCliTokenResponse_httpStatus,++    -- ** CreateEnvironment+    createEnvironment_airflowConfigurationOptions,+    createEnvironment_airflowVersion,+    createEnvironment_environmentClass,+    createEnvironment_kmsKey,+    createEnvironment_loggingConfiguration,+    createEnvironment_maxWorkers,+    createEnvironment_minWorkers,+    createEnvironment_pluginsS3ObjectVersion,+    createEnvironment_pluginsS3Path,+    createEnvironment_requirementsS3ObjectVersion,+    createEnvironment_requirementsS3Path,+    createEnvironment_schedulers,+    createEnvironment_tags,+    createEnvironment_webserverAccessMode,+    createEnvironment_weeklyMaintenanceWindowStart,+    createEnvironment_dagS3Path,+    createEnvironment_executionRoleArn,+    createEnvironment_name,+    createEnvironment_networkConfiguration,+    createEnvironment_sourceBucketArn,+    createEnvironmentResponse_arn,+    createEnvironmentResponse_httpStatus,++    -- ** CreateWebLoginToken+    createWebLoginToken_name,+    createWebLoginTokenResponse_webServerHostname,+    createWebLoginTokenResponse_webToken,+    createWebLoginTokenResponse_httpStatus,++    -- ** DeleteEnvironment+    deleteEnvironment_name,+    deleteEnvironmentResponse_httpStatus,++    -- ** GetEnvironment+    getEnvironment_name,+    getEnvironmentResponse_environment,+    getEnvironmentResponse_httpStatus,++    -- ** ListEnvironments+    listEnvironments_maxResults,+    listEnvironments_nextToken,+    listEnvironmentsResponse_nextToken,+    listEnvironmentsResponse_httpStatus,+    listEnvironmentsResponse_environments,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PublishMetrics+    publishMetrics_environmentName,+    publishMetrics_metricData,+    publishMetricsResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateEnvironment+    updateEnvironment_airflowConfigurationOptions,+    updateEnvironment_airflowVersion,+    updateEnvironment_dagS3Path,+    updateEnvironment_environmentClass,+    updateEnvironment_executionRoleArn,+    updateEnvironment_loggingConfiguration,+    updateEnvironment_maxWorkers,+    updateEnvironment_minWorkers,+    updateEnvironment_networkConfiguration,+    updateEnvironment_pluginsS3ObjectVersion,+    updateEnvironment_pluginsS3Path,+    updateEnvironment_requirementsS3ObjectVersion,+    updateEnvironment_requirementsS3Path,+    updateEnvironment_schedulers,+    updateEnvironment_sourceBucketArn,+    updateEnvironment_webserverAccessMode,+    updateEnvironment_weeklyMaintenanceWindowStart,+    updateEnvironment_name,+    updateEnvironmentResponse_arn,+    updateEnvironmentResponse_httpStatus,++    -- * Types++    -- ** Dimension+    dimension_name,+    dimension_value,++    -- ** Environment+    environment_airflowConfigurationOptions,+    environment_airflowVersion,+    environment_arn,+    environment_createdAt,+    environment_dagS3Path,+    environment_environmentClass,+    environment_executionRoleArn,+    environment_kmsKey,+    environment_lastUpdate,+    environment_loggingConfiguration,+    environment_maxWorkers,+    environment_minWorkers,+    environment_name,+    environment_networkConfiguration,+    environment_pluginsS3ObjectVersion,+    environment_pluginsS3Path,+    environment_requirementsS3ObjectVersion,+    environment_requirementsS3Path,+    environment_schedulers,+    environment_serviceRoleArn,+    environment_sourceBucketArn,+    environment_status,+    environment_tags,+    environment_webserverAccessMode,+    environment_webserverUrl,+    environment_weeklyMaintenanceWindowStart,++    -- ** LastUpdate+    lastUpdate_createdAt,+    lastUpdate_error,+    lastUpdate_source,+    lastUpdate_status,++    -- ** LoggingConfiguration+    loggingConfiguration_dagProcessingLogs,+    loggingConfiguration_schedulerLogs,+    loggingConfiguration_taskLogs,+    loggingConfiguration_webserverLogs,+    loggingConfiguration_workerLogs,++    -- ** LoggingConfigurationInput+    loggingConfigurationInput_dagProcessingLogs,+    loggingConfigurationInput_schedulerLogs,+    loggingConfigurationInput_taskLogs,+    loggingConfigurationInput_webserverLogs,+    loggingConfigurationInput_workerLogs,++    -- ** MetricDatum+    metricDatum_dimensions,+    metricDatum_statisticValues,+    metricDatum_unit,+    metricDatum_value,+    metricDatum_metricName,+    metricDatum_timestamp,++    -- ** ModuleLoggingConfiguration+    moduleLoggingConfiguration_cloudWatchLogGroupArn,+    moduleLoggingConfiguration_enabled,+    moduleLoggingConfiguration_logLevel,++    -- ** ModuleLoggingConfigurationInput+    moduleLoggingConfigurationInput_enabled,+    moduleLoggingConfigurationInput_logLevel,++    -- ** NetworkConfiguration+    networkConfiguration_securityGroupIds,+    networkConfiguration_subnetIds,++    -- ** StatisticSet+    statisticSet_maximum,+    statisticSet_minimum,+    statisticSet_sampleCount,+    statisticSet_sum,++    -- ** UpdateError+    updateError_errorCode,+    updateError_errorMessage,++    -- ** UpdateNetworkConfigurationInput+    updateNetworkConfigurationInput_securityGroupIds,+  )+where++import Amazonka.MwAA.CreateCliToken+import Amazonka.MwAA.CreateEnvironment+import Amazonka.MwAA.CreateWebLoginToken+import Amazonka.MwAA.DeleteEnvironment+import Amazonka.MwAA.GetEnvironment+import Amazonka.MwAA.ListEnvironments+import Amazonka.MwAA.ListTagsForResource+import Amazonka.MwAA.PublishMetrics+import Amazonka.MwAA.TagResource+import Amazonka.MwAA.Types.Dimension+import Amazonka.MwAA.Types.Environment+import Amazonka.MwAA.Types.LastUpdate+import Amazonka.MwAA.Types.LoggingConfiguration+import Amazonka.MwAA.Types.LoggingConfigurationInput+import Amazonka.MwAA.Types.MetricDatum+import Amazonka.MwAA.Types.ModuleLoggingConfiguration+import Amazonka.MwAA.Types.ModuleLoggingConfigurationInput+import Amazonka.MwAA.Types.NetworkConfiguration+import Amazonka.MwAA.Types.StatisticSet+import Amazonka.MwAA.Types.UpdateError+import Amazonka.MwAA.Types.UpdateNetworkConfigurationInput+import Amazonka.MwAA.UntagResource+import Amazonka.MwAA.UpdateEnvironment
+ gen/Amazonka/MwAA/ListEnvironments.hs view
@@ -0,0 +1,212 @@+{-# 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.MwAA.ListEnvironments+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the Amazon Managed Workflows for Apache Airflow (MWAA)+-- environments.+--+-- This operation returns paginated results.+module Amazonka.MwAA.ListEnvironments+  ( -- * Creating a Request+    ListEnvironments (..),+    newListEnvironments,++    -- * Request Lenses+    listEnvironments_maxResults,+    listEnvironments_nextToken,++    -- * Destructuring the Response+    ListEnvironmentsResponse (..),+    newListEnvironmentsResponse,++    -- * Response Lenses+    listEnvironmentsResponse_nextToken,+    listEnvironmentsResponse_httpStatus,+    listEnvironmentsResponse_environments,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEnvironments' smart constructor.+data ListEnvironments = ListEnvironments'+  { -- | The maximum number of results to retrieve per page. For example, @5@+    -- environments per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Retrieves the next page of the results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEnvironments_maxResults' - The maximum number of results to retrieve per page. For example, @5@+-- environments per page.+--+-- 'nextToken', 'listEnvironments_nextToken' - Retrieves the next page of the results.+newListEnvironments ::+  ListEnvironments+newListEnvironments =+  ListEnvironments'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to retrieve per page. For example, @5@+-- environments per page.+listEnvironments_maxResults :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Natural)+listEnvironments_maxResults = Lens.lens (\ListEnvironments' {maxResults} -> maxResults) (\s@ListEnvironments' {} a -> s {maxResults = a} :: ListEnvironments)++-- | Retrieves the next page of the results.+listEnvironments_nextToken :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Text)+listEnvironments_nextToken = Lens.lens (\ListEnvironments' {nextToken} -> nextToken) (\s@ListEnvironments' {} a -> s {nextToken = a} :: ListEnvironments)++instance Core.AWSPager ListEnvironments where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listEnvironmentsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. listEnvironmentsResponse_environments) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listEnvironments_nextToken+          Lens..~ rs+          Lens.^? listEnvironmentsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListEnvironments where+  type+    AWSResponse ListEnvironments =+      ListEnvironmentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEnvironmentsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Environments" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListEnvironments where+  hashWithSalt _salt ListEnvironments' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEnvironments where+  rnf ListEnvironments' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEnvironments where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListEnvironments where+  toPath = Prelude.const "/environments"++instance Data.ToQuery ListEnvironments where+  toQuery ListEnvironments' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListEnvironmentsResponse' smart constructor.+data ListEnvironmentsResponse = ListEnvironmentsResponse'+  { -- | Retrieves the next page of the results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Returns a list of Amazon MWAA environments.+    environments :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironmentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEnvironmentsResponse_nextToken' - Retrieves the next page of the results.+--+-- 'httpStatus', 'listEnvironmentsResponse_httpStatus' - The response's http status code.+--+-- 'environments', 'listEnvironmentsResponse_environments' - Returns a list of Amazon MWAA environments.+newListEnvironmentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEnvironmentsResponse+newListEnvironmentsResponse pHttpStatus_ =+  ListEnvironmentsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      environments = Prelude.mempty+    }++-- | Retrieves the next page of the results.+listEnvironmentsResponse_nextToken :: Lens.Lens' ListEnvironmentsResponse (Prelude.Maybe Prelude.Text)+listEnvironmentsResponse_nextToken = Lens.lens (\ListEnvironmentsResponse' {nextToken} -> nextToken) (\s@ListEnvironmentsResponse' {} a -> s {nextToken = a} :: ListEnvironmentsResponse)++-- | The response's http status code.+listEnvironmentsResponse_httpStatus :: Lens.Lens' ListEnvironmentsResponse Prelude.Int+listEnvironmentsResponse_httpStatus = Lens.lens (\ListEnvironmentsResponse' {httpStatus} -> httpStatus) (\s@ListEnvironmentsResponse' {} a -> s {httpStatus = a} :: ListEnvironmentsResponse)++-- | Returns a list of Amazon MWAA environments.+listEnvironmentsResponse_environments :: Lens.Lens' ListEnvironmentsResponse [Prelude.Text]+listEnvironmentsResponse_environments = Lens.lens (\ListEnvironmentsResponse' {environments} -> environments) (\s@ListEnvironmentsResponse' {} a -> s {environments = a} :: ListEnvironmentsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListEnvironmentsResponse where+  rnf ListEnvironmentsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf environments
+ gen/Amazonka/MwAA/ListTagsForResource.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.MwAA.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the key-value tag pairs associated to the Amazon Managed Workflows+-- for Apache Airflow (MWAA) environment. For example,+-- @\"Environment\": \"Staging\"@.+module Amazonka.MwAA.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+    -- example,+    -- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+    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 Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The key-value tag pairs associated to your environment. To learn more,+    -- see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The key-value tag pairs associated to your environment. To learn more,+-- see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The key-value tag pairs associated to your environment. To learn more,+-- see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/PublishMetrics.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.PublishMetrics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- __Internal only__. Publishes environment health metrics to Amazon+-- CloudWatch.+module Amazonka.MwAA.PublishMetrics+  ( -- * Creating a Request+    PublishMetrics (..),+    newPublishMetrics,++    -- * Request Lenses+    publishMetrics_environmentName,+    publishMetrics_metricData,++    -- * Destructuring the Response+    PublishMetricsResponse (..),+    newPublishMetricsResponse,++    -- * Response Lenses+    publishMetricsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPublishMetrics' smart constructor.+data PublishMetrics = PublishMetrics'+  { -- | __Internal only__. The name of the environment.+    environmentName :: Prelude.Text,+    -- | __Internal only__. Publishes metrics to Amazon CloudWatch. To learn more+    -- about the metrics published to Amazon CloudWatch, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+    metricData :: [MetricDatum]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PublishMetrics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'environmentName', 'publishMetrics_environmentName' - __Internal only__. The name of the environment.+--+-- 'metricData', 'publishMetrics_metricData' - __Internal only__. Publishes metrics to Amazon CloudWatch. To learn more+-- about the metrics published to Amazon CloudWatch, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+newPublishMetrics ::+  -- | 'environmentName'+  Prelude.Text ->+  PublishMetrics+newPublishMetrics pEnvironmentName_ =+  PublishMetrics'+    { environmentName =+        pEnvironmentName_,+      metricData = Prelude.mempty+    }++-- | __Internal only__. The name of the environment.+publishMetrics_environmentName :: Lens.Lens' PublishMetrics Prelude.Text+publishMetrics_environmentName = Lens.lens (\PublishMetrics' {environmentName} -> environmentName) (\s@PublishMetrics' {} a -> s {environmentName = a} :: PublishMetrics)++-- | __Internal only__. Publishes metrics to Amazon CloudWatch. To learn more+-- about the metrics published to Amazon CloudWatch, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+publishMetrics_metricData :: Lens.Lens' PublishMetrics [MetricDatum]+publishMetrics_metricData = Lens.lens (\PublishMetrics' {metricData} -> metricData) (\s@PublishMetrics' {} a -> s {metricData = a} :: PublishMetrics) Prelude.. Lens.coerced++instance Core.AWSRequest PublishMetrics where+  type+    AWSResponse PublishMetrics =+      PublishMetricsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PublishMetricsResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PublishMetrics where+  hashWithSalt _salt PublishMetrics' {..} =+    _salt+      `Prelude.hashWithSalt` environmentName+      `Prelude.hashWithSalt` metricData++instance Prelude.NFData PublishMetrics where+  rnf PublishMetrics' {..} =+    Prelude.rnf environmentName+      `Prelude.seq` Prelude.rnf metricData++instance Data.ToHeaders PublishMetrics where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PublishMetrics where+  toJSON PublishMetrics' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MetricData" Data..= metricData)]+      )++instance Data.ToPath PublishMetrics where+  toPath PublishMetrics' {..} =+    Prelude.mconcat+      ["/metrics/environments/", Data.toBS environmentName]++instance Data.ToQuery PublishMetrics where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPublishMetricsResponse' smart constructor.+data PublishMetricsResponse = PublishMetricsResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PublishMetricsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'publishMetricsResponse_httpStatus' - The response's http status code.+newPublishMetricsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PublishMetricsResponse+newPublishMetricsResponse pHttpStatus_ =+  PublishMetricsResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+publishMetricsResponse_httpStatus :: Lens.Lens' PublishMetricsResponse Prelude.Int+publishMetricsResponse_httpStatus = Lens.lens (\PublishMetricsResponse' {httpStatus} -> httpStatus) (\s@PublishMetricsResponse' {} a -> s {httpStatus = a} :: PublishMetricsResponse)++instance Prelude.NFData PublishMetricsResponse where+  rnf PublishMetricsResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/TagResource.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.MwAA.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)+--+-- Associates key-value tag pairs to your Amazon Managed Workflows for+-- Apache Airflow (MWAA) environment.+module Amazonka.MwAA.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+    -- example,+    -- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+    resourceArn :: Prelude.Text,+    -- | The key-value tag pairs you want to associate to your environment. For+    -- example, @\"Environment\": \"Staging\"@. To learn more, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+--+-- 'tags', 'tagResource_tags' - The key-value tag pairs you want to associate to your environment. For+-- example, @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The key-value tag pairs you want to associate to your environment. For+-- example, @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/Types.hs view
@@ -0,0 +1,277 @@+{-# 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.MwAA.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.MwAA.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ValidationException,++    -- * EnvironmentStatus+    EnvironmentStatus (..),++    -- * LoggingLevel+    LoggingLevel (..),++    -- * Unit+    Unit (..),++    -- * UpdateStatus+    UpdateStatus (..),++    -- * WebserverAccessMode+    WebserverAccessMode (..),++    -- * Dimension+    Dimension (..),+    newDimension,+    dimension_name,+    dimension_value,++    -- * Environment+    Environment (..),+    newEnvironment,+    environment_airflowConfigurationOptions,+    environment_airflowVersion,+    environment_arn,+    environment_createdAt,+    environment_dagS3Path,+    environment_environmentClass,+    environment_executionRoleArn,+    environment_kmsKey,+    environment_lastUpdate,+    environment_loggingConfiguration,+    environment_maxWorkers,+    environment_minWorkers,+    environment_name,+    environment_networkConfiguration,+    environment_pluginsS3ObjectVersion,+    environment_pluginsS3Path,+    environment_requirementsS3ObjectVersion,+    environment_requirementsS3Path,+    environment_schedulers,+    environment_serviceRoleArn,+    environment_sourceBucketArn,+    environment_status,+    environment_tags,+    environment_webserverAccessMode,+    environment_webserverUrl,+    environment_weeklyMaintenanceWindowStart,++    -- * LastUpdate+    LastUpdate (..),+    newLastUpdate,+    lastUpdate_createdAt,+    lastUpdate_error,+    lastUpdate_source,+    lastUpdate_status,++    -- * LoggingConfiguration+    LoggingConfiguration (..),+    newLoggingConfiguration,+    loggingConfiguration_dagProcessingLogs,+    loggingConfiguration_schedulerLogs,+    loggingConfiguration_taskLogs,+    loggingConfiguration_webserverLogs,+    loggingConfiguration_workerLogs,++    -- * LoggingConfigurationInput+    LoggingConfigurationInput (..),+    newLoggingConfigurationInput,+    loggingConfigurationInput_dagProcessingLogs,+    loggingConfigurationInput_schedulerLogs,+    loggingConfigurationInput_taskLogs,+    loggingConfigurationInput_webserverLogs,+    loggingConfigurationInput_workerLogs,++    -- * MetricDatum+    MetricDatum (..),+    newMetricDatum,+    metricDatum_dimensions,+    metricDatum_statisticValues,+    metricDatum_unit,+    metricDatum_value,+    metricDatum_metricName,+    metricDatum_timestamp,++    -- * ModuleLoggingConfiguration+    ModuleLoggingConfiguration (..),+    newModuleLoggingConfiguration,+    moduleLoggingConfiguration_cloudWatchLogGroupArn,+    moduleLoggingConfiguration_enabled,+    moduleLoggingConfiguration_logLevel,++    -- * ModuleLoggingConfigurationInput+    ModuleLoggingConfigurationInput (..),+    newModuleLoggingConfigurationInput,+    moduleLoggingConfigurationInput_enabled,+    moduleLoggingConfigurationInput_logLevel,++    -- * NetworkConfiguration+    NetworkConfiguration (..),+    newNetworkConfiguration,+    networkConfiguration_securityGroupIds,+    networkConfiguration_subnetIds,++    -- * StatisticSet+    StatisticSet (..),+    newStatisticSet,+    statisticSet_maximum,+    statisticSet_minimum,+    statisticSet_sampleCount,+    statisticSet_sum,++    -- * UpdateError+    UpdateError (..),+    newUpdateError,+    updateError_errorCode,+    updateError_errorMessage,++    -- * UpdateNetworkConfigurationInput+    UpdateNetworkConfigurationInput (..),+    newUpdateNetworkConfigurationInput,+    updateNetworkConfigurationInput_securityGroupIds,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MwAA.Types.Dimension+import Amazonka.MwAA.Types.Environment+import Amazonka.MwAA.Types.EnvironmentStatus+import Amazonka.MwAA.Types.LastUpdate+import Amazonka.MwAA.Types.LoggingConfiguration+import Amazonka.MwAA.Types.LoggingConfigurationInput+import Amazonka.MwAA.Types.LoggingLevel+import Amazonka.MwAA.Types.MetricDatum+import Amazonka.MwAA.Types.ModuleLoggingConfiguration+import Amazonka.MwAA.Types.ModuleLoggingConfigurationInput+import Amazonka.MwAA.Types.NetworkConfiguration+import Amazonka.MwAA.Types.StatisticSet+import Amazonka.MwAA.Types.Unit+import Amazonka.MwAA.Types.UpdateError+import Amazonka.MwAA.Types.UpdateNetworkConfigurationInput+import Amazonka.MwAA.Types.UpdateStatus+import Amazonka.MwAA.Types.WebserverAccessMode+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-07-01@ of the Amazon MWAA SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "MwAA",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "airflow",+      Core.signingName = "airflow",+      Core.version = "2020-07-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "MwAA",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | Access to the Apache Airflow Web UI or CLI has been denied due to+-- insufficient permissions. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/access-policies.html Accessing an Amazon MWAA environment>.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | InternalServerException: An internal error has occurred.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | ResourceNotFoundException: The resource is not available.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | ValidationException: The provided input is not valid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/MwAA/Types/Dimension.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.Types.Dimension+-- 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.MwAA.Types.Dimension 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++-- | __Internal only__. Represents the dimensions of a metric. To learn more+-- about the metrics published to Amazon CloudWatch, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+--+-- /See:/ 'newDimension' smart constructor.+data Dimension = Dimension'+  { -- | __Internal only__. The name of the dimension.+    name :: Prelude.Text,+    -- | __Internal only__. The value of the dimension.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Dimension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dimension_name' - __Internal only__. The name of the dimension.+--+-- 'value', 'dimension_value' - __Internal only__. The value of the dimension.+newDimension ::+  -- | 'name'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Dimension+newDimension pName_ pValue_ =+  Dimension' {name = pName_, value = pValue_}++-- | __Internal only__. The name of the dimension.+dimension_name :: Lens.Lens' Dimension Prelude.Text+dimension_name = Lens.lens (\Dimension' {name} -> name) (\s@Dimension' {} a -> s {name = a} :: Dimension)++-- | __Internal only__. The value of the dimension.+dimension_value :: Lens.Lens' Dimension Prelude.Text+dimension_value = Lens.lens (\Dimension' {value} -> value) (\s@Dimension' {} a -> s {value = a} :: Dimension)++instance Prelude.Hashable Dimension where+  hashWithSalt _salt Dimension' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData Dimension where+  rnf Dimension' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Dimension where+  toJSON Dimension' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/MwAA/Types/Environment.hs view
@@ -0,0 +1,590 @@+{-# 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.MwAA.Types.Environment+-- 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.MwAA.Types.Environment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.EnvironmentStatus+import Amazonka.MwAA.Types.LastUpdate+import Amazonka.MwAA.Types.LoggingConfiguration+import Amazonka.MwAA.Types.NetworkConfiguration+import Amazonka.MwAA.Types.WebserverAccessMode+import qualified Amazonka.Prelude as Prelude++-- | Describes an Amazon Managed Workflows for Apache Airflow (MWAA)+-- environment.+--+-- /See:/ 'newEnvironment' smart constructor.+data Environment = Environment'+  { -- | A list of key-value pairs containing the Apache Airflow configuration+    -- options attached to your environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+    airflowConfigurationOptions :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))),+    -- | The Apache Airflow version on your environment. Valid values: @1.10.12@,+    -- @2.0.2@, @2.2.2@, and @2.4.3@.+    airflowVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The day and time the environment was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The relative path to the DAGs folder on your Amazon S3 bucket. For+    -- example, @dags@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+    dagS3Path :: Prelude.Maybe Prelude.Text,+    -- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+    -- @mw1.large@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+    environmentClass :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the execution role in IAM that allows+    -- MWAA to access Amazon Web Services resources in your environment. For+    -- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Key Management Service (KMS) encryption key used+    -- to encrypt the data in your environment.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The status of the last update on the environment.+    lastUpdate :: Prelude.Maybe LastUpdate,+    -- | The Apache Airflow logs published to CloudWatch Logs.+    loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+    -- | The maximum number of workers that run in your environment. For example,+    -- @20@.+    maxWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The minimum number of workers that run in your environment. For example,+    -- @2@.+    minWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The name of the Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Maybe Prelude.Text,+    -- | Describes the VPC networking components used to secure and enable+    -- network traffic between the Amazon Web Services resources for your+    -- environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+    networkConfiguration :: Prelude.Maybe NetworkConfiguration,+    -- | The version of the plugins.zip file on your Amazon S3 bucket. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+    pluginsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+    -- For example, @plugins.zip@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+    pluginsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The version of the requirements.txt file on your Amazon S3 bucket. To+    -- learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+    requirementsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @requirements.txt@ file on your Amazon S3+    -- bucket. For example, @requirements.txt@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+    requirementsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The number of Apache Airflow schedulers that run in your Amazon MWAA+    -- environment.+    schedulers :: Prelude.Maybe Prelude.Int,+    -- | The Amazon Resource Name (ARN) for the service-linked role of the+    -- environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-slr.html Amazon MWAA Service-linked role>.+    serviceRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+    -- code and supporting files are stored. For example,+    -- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+    sourceBucketArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the Amazon MWAA environment. Valid values:+    --+    -- -   @CREATING@ - Indicates the request to create the environment is in+    --     progress.+    --+    -- -   @CREATE_FAILED@ - Indicates the request to create the environment+    --     failed, and the environment could not be created.+    --+    -- -   @AVAILABLE@ - Indicates the request was successful and the+    --     environment is ready to use.+    --+    -- -   @UPDATING@ - Indicates the request to update the environment is in+    --     progress.+    --+    -- -   @DELETING@ - Indicates the request to delete the environment is in+    --     progress.+    --+    -- -   @DELETED@ - Indicates the request to delete the environment is+    --     complete, and the environment has been deleted.+    --+    -- -   @UNAVAILABLE@ - Indicates the request failed, but the environment+    --     was unable to rollback and is not in a stable state.+    --+    -- -   @UPDATE_FAILED@ - Indicates the request to update the environment+    --     failed, and the environment has rolled back successfully and is+    --     ready to use.+    --+    -- We recommend reviewing our troubleshooting guide for a list of common+    -- errors and their solutions. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/troubleshooting.html Amazon MWAA troubleshooting>.+    status :: Prelude.Maybe EnvironmentStatus,+    -- | The key-value tag pairs associated to your environment. For example,+    -- @\"Environment\": \"Staging\"@. To learn more, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Apache Airflow /Web server/ access mode. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+    webserverAccessMode :: Prelude.Maybe WebserverAccessMode,+    -- | The Apache Airflow /Web server/ host name for the Amazon MWAA+    -- environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/access-airflow-ui.html Accessing the Apache Airflow UI>.+    webserverUrl :: Prelude.Maybe Prelude.Text,+    -- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+    -- standard time that weekly maintenance updates are scheduled. For+    -- example: @TUE:03:30@.+    weeklyMaintenanceWindowStart :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Environment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'airflowConfigurationOptions', 'environment_airflowConfigurationOptions' - A list of key-value pairs containing the Apache Airflow configuration+-- options attached to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+--+-- 'airflowVersion', 'environment_airflowVersion' - The Apache Airflow version on your environment. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@.+--+-- 'arn', 'environment_arn' - The Amazon Resource Name (ARN) of the Amazon MWAA environment.+--+-- 'createdAt', 'environment_createdAt' - The day and time the environment was created.+--+-- 'dagS3Path', 'environment_dagS3Path' - The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+--+-- 'environmentClass', 'environment_environmentClass' - The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+--+-- 'executionRoleArn', 'environment_executionRoleArn' - The Amazon Resource Name (ARN) of the execution role in IAM that allows+-- MWAA to access Amazon Web Services resources in your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+--+-- 'kmsKey', 'environment_kmsKey' - The Amazon Web Services Key Management Service (KMS) encryption key used+-- to encrypt the data in your environment.+--+-- 'lastUpdate', 'environment_lastUpdate' - The status of the last update on the environment.+--+-- 'loggingConfiguration', 'environment_loggingConfiguration' - The Apache Airflow logs published to CloudWatch Logs.+--+-- 'maxWorkers', 'environment_maxWorkers' - The maximum number of workers that run in your environment. For example,+-- @20@.+--+-- 'minWorkers', 'environment_minWorkers' - The minimum number of workers that run in your environment. For example,+-- @2@.+--+-- 'name', 'environment_name' - The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+--+-- 'networkConfiguration', 'environment_networkConfiguration' - Describes the VPC networking components used to secure and enable+-- network traffic between the Amazon Web Services resources for your+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+--+-- 'pluginsS3ObjectVersion', 'environment_pluginsS3ObjectVersion' - The version of the plugins.zip file on your Amazon S3 bucket. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+--+-- 'pluginsS3Path', 'environment_pluginsS3Path' - The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+--+-- 'requirementsS3ObjectVersion', 'environment_requirementsS3ObjectVersion' - The version of the requirements.txt file on your Amazon S3 bucket. To+-- learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+--+-- 'requirementsS3Path', 'environment_requirementsS3Path' - The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+--+-- 'schedulers', 'environment_schedulers' - The number of Apache Airflow schedulers that run in your Amazon MWAA+-- environment.+--+-- 'serviceRoleArn', 'environment_serviceRoleArn' - The Amazon Resource Name (ARN) for the service-linked role of the+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-slr.html Amazon MWAA Service-linked role>.+--+-- 'sourceBucketArn', 'environment_sourceBucketArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+--+-- 'status', 'environment_status' - The status of the Amazon MWAA environment. Valid values:+--+-- -   @CREATING@ - Indicates the request to create the environment is in+--     progress.+--+-- -   @CREATE_FAILED@ - Indicates the request to create the environment+--     failed, and the environment could not be created.+--+-- -   @AVAILABLE@ - Indicates the request was successful and the+--     environment is ready to use.+--+-- -   @UPDATING@ - Indicates the request to update the environment is in+--     progress.+--+-- -   @DELETING@ - Indicates the request to delete the environment is in+--     progress.+--+-- -   @DELETED@ - Indicates the request to delete the environment is+--     complete, and the environment has been deleted.+--+-- -   @UNAVAILABLE@ - Indicates the request failed, but the environment+--     was unable to rollback and is not in a stable state.+--+-- -   @UPDATE_FAILED@ - Indicates the request to update the environment+--     failed, and the environment has rolled back successfully and is+--     ready to use.+--+-- We recommend reviewing our troubleshooting guide for a list of common+-- errors and their solutions. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/troubleshooting.html Amazon MWAA troubleshooting>.+--+-- 'tags', 'environment_tags' - The key-value tag pairs associated to your environment. For example,+-- @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+--+-- 'webserverAccessMode', 'environment_webserverAccessMode' - The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+--+-- 'webserverUrl', 'environment_webserverUrl' - The Apache Airflow /Web server/ host name for the Amazon MWAA+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/access-airflow-ui.html Accessing the Apache Airflow UI>.+--+-- 'weeklyMaintenanceWindowStart', 'environment_weeklyMaintenanceWindowStart' - The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time that weekly maintenance updates are scheduled. For+-- example: @TUE:03:30@.+newEnvironment ::+  Environment+newEnvironment =+  Environment'+    { airflowConfigurationOptions =+        Prelude.Nothing,+      airflowVersion = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      dagS3Path = Prelude.Nothing,+      environmentClass = Prelude.Nothing,+      executionRoleArn = Prelude.Nothing,+      kmsKey = Prelude.Nothing,+      lastUpdate = Prelude.Nothing,+      loggingConfiguration = Prelude.Nothing,+      maxWorkers = Prelude.Nothing,+      minWorkers = Prelude.Nothing,+      name = Prelude.Nothing,+      networkConfiguration = Prelude.Nothing,+      pluginsS3ObjectVersion = Prelude.Nothing,+      pluginsS3Path = Prelude.Nothing,+      requirementsS3ObjectVersion = Prelude.Nothing,+      requirementsS3Path = Prelude.Nothing,+      schedulers = Prelude.Nothing,+      serviceRoleArn = Prelude.Nothing,+      sourceBucketArn = Prelude.Nothing,+      status = Prelude.Nothing,+      tags = Prelude.Nothing,+      webserverAccessMode = Prelude.Nothing,+      webserverUrl = Prelude.Nothing,+      weeklyMaintenanceWindowStart = Prelude.Nothing+    }++-- | A list of key-value pairs containing the Apache Airflow configuration+-- options attached to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+environment_airflowConfigurationOptions :: Lens.Lens' Environment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+environment_airflowConfigurationOptions = Lens.lens (\Environment' {airflowConfigurationOptions} -> airflowConfigurationOptions) (\s@Environment' {} a -> s {airflowConfigurationOptions = a} :: Environment) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The Apache Airflow version on your environment. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@.+environment_airflowVersion :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_airflowVersion = Lens.lens (\Environment' {airflowVersion} -> airflowVersion) (\s@Environment' {} a -> s {airflowVersion = a} :: Environment)++-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment.+environment_arn :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_arn = Lens.lens (\Environment' {arn} -> arn) (\s@Environment' {} a -> s {arn = a} :: Environment)++-- | The day and time the environment was created.+environment_createdAt :: Lens.Lens' Environment (Prelude.Maybe Prelude.UTCTime)+environment_createdAt = Lens.lens (\Environment' {createdAt} -> createdAt) (\s@Environment' {} a -> s {createdAt = a} :: Environment) Prelude.. Lens.mapping Data._Time++-- | The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+environment_dagS3Path :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_dagS3Path = Lens.lens (\Environment' {dagS3Path} -> dagS3Path) (\s@Environment' {} a -> s {dagS3Path = a} :: Environment)++-- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+environment_environmentClass :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_environmentClass = Lens.lens (\Environment' {environmentClass} -> environmentClass) (\s@Environment' {} a -> s {environmentClass = a} :: Environment)++-- | The Amazon Resource Name (ARN) of the execution role in IAM that allows+-- MWAA to access Amazon Web Services resources in your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+environment_executionRoleArn :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_executionRoleArn = Lens.lens (\Environment' {executionRoleArn} -> executionRoleArn) (\s@Environment' {} a -> s {executionRoleArn = a} :: Environment)++-- | The Amazon Web Services Key Management Service (KMS) encryption key used+-- to encrypt the data in your environment.+environment_kmsKey :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_kmsKey = Lens.lens (\Environment' {kmsKey} -> kmsKey) (\s@Environment' {} a -> s {kmsKey = a} :: Environment)++-- | The status of the last update on the environment.+environment_lastUpdate :: Lens.Lens' Environment (Prelude.Maybe LastUpdate)+environment_lastUpdate = Lens.lens (\Environment' {lastUpdate} -> lastUpdate) (\s@Environment' {} a -> s {lastUpdate = a} :: Environment)++-- | The Apache Airflow logs published to CloudWatch Logs.+environment_loggingConfiguration :: Lens.Lens' Environment (Prelude.Maybe LoggingConfiguration)+environment_loggingConfiguration = Lens.lens (\Environment' {loggingConfiguration} -> loggingConfiguration) (\s@Environment' {} a -> s {loggingConfiguration = a} :: Environment)++-- | The maximum number of workers that run in your environment. For example,+-- @20@.+environment_maxWorkers :: Lens.Lens' Environment (Prelude.Maybe Prelude.Natural)+environment_maxWorkers = Lens.lens (\Environment' {maxWorkers} -> maxWorkers) (\s@Environment' {} a -> s {maxWorkers = a} :: Environment)++-- | The minimum number of workers that run in your environment. For example,+-- @2@.+environment_minWorkers :: Lens.Lens' Environment (Prelude.Maybe Prelude.Natural)+environment_minWorkers = Lens.lens (\Environment' {minWorkers} -> minWorkers) (\s@Environment' {} a -> s {minWorkers = a} :: Environment)++-- | The name of the Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+environment_name :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_name = Lens.lens (\Environment' {name} -> name) (\s@Environment' {} a -> s {name = a} :: Environment)++-- | Describes the VPC networking components used to secure and enable+-- network traffic between the Amazon Web Services resources for your+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+environment_networkConfiguration :: Lens.Lens' Environment (Prelude.Maybe NetworkConfiguration)+environment_networkConfiguration = Lens.lens (\Environment' {networkConfiguration} -> networkConfiguration) (\s@Environment' {} a -> s {networkConfiguration = a} :: Environment)++-- | The version of the plugins.zip file on your Amazon S3 bucket. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+environment_pluginsS3ObjectVersion :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_pluginsS3ObjectVersion = Lens.lens (\Environment' {pluginsS3ObjectVersion} -> pluginsS3ObjectVersion) (\s@Environment' {} a -> s {pluginsS3ObjectVersion = a} :: Environment)++-- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+environment_pluginsS3Path :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_pluginsS3Path = Lens.lens (\Environment' {pluginsS3Path} -> pluginsS3Path) (\s@Environment' {} a -> s {pluginsS3Path = a} :: Environment)++-- | The version of the requirements.txt file on your Amazon S3 bucket. To+-- learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+environment_requirementsS3ObjectVersion :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_requirementsS3ObjectVersion = Lens.lens (\Environment' {requirementsS3ObjectVersion} -> requirementsS3ObjectVersion) (\s@Environment' {} a -> s {requirementsS3ObjectVersion = a} :: Environment)++-- | The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+environment_requirementsS3Path :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_requirementsS3Path = Lens.lens (\Environment' {requirementsS3Path} -> requirementsS3Path) (\s@Environment' {} a -> s {requirementsS3Path = a} :: Environment)++-- | The number of Apache Airflow schedulers that run in your Amazon MWAA+-- environment.+environment_schedulers :: Lens.Lens' Environment (Prelude.Maybe Prelude.Int)+environment_schedulers = Lens.lens (\Environment' {schedulers} -> schedulers) (\s@Environment' {} a -> s {schedulers = a} :: Environment)++-- | The Amazon Resource Name (ARN) for the service-linked role of the+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-slr.html Amazon MWAA Service-linked role>.+environment_serviceRoleArn :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_serviceRoleArn = Lens.lens (\Environment' {serviceRoleArn} -> serviceRoleArn) (\s@Environment' {} a -> s {serviceRoleArn = a} :: Environment)++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+environment_sourceBucketArn :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_sourceBucketArn = Lens.lens (\Environment' {sourceBucketArn} -> sourceBucketArn) (\s@Environment' {} a -> s {sourceBucketArn = a} :: Environment)++-- | The status of the Amazon MWAA environment. Valid values:+--+-- -   @CREATING@ - Indicates the request to create the environment is in+--     progress.+--+-- -   @CREATE_FAILED@ - Indicates the request to create the environment+--     failed, and the environment could not be created.+--+-- -   @AVAILABLE@ - Indicates the request was successful and the+--     environment is ready to use.+--+-- -   @UPDATING@ - Indicates the request to update the environment is in+--     progress.+--+-- -   @DELETING@ - Indicates the request to delete the environment is in+--     progress.+--+-- -   @DELETED@ - Indicates the request to delete the environment is+--     complete, and the environment has been deleted.+--+-- -   @UNAVAILABLE@ - Indicates the request failed, but the environment+--     was unable to rollback and is not in a stable state.+--+-- -   @UPDATE_FAILED@ - Indicates the request to update the environment+--     failed, and the environment has rolled back successfully and is+--     ready to use.+--+-- We recommend reviewing our troubleshooting guide for a list of common+-- errors and their solutions. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/troubleshooting.html Amazon MWAA troubleshooting>.+environment_status :: Lens.Lens' Environment (Prelude.Maybe EnvironmentStatus)+environment_status = Lens.lens (\Environment' {status} -> status) (\s@Environment' {} a -> s {status = a} :: Environment)++-- | The key-value tag pairs associated to your environment. For example,+-- @\"Environment\": \"Staging\"@. To learn more, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>.+environment_tags :: Lens.Lens' Environment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+environment_tags = Lens.lens (\Environment' {tags} -> tags) (\s@Environment' {} a -> s {tags = a} :: Environment) Prelude.. Lens.mapping Lens.coerced++-- | The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+environment_webserverAccessMode :: Lens.Lens' Environment (Prelude.Maybe WebserverAccessMode)+environment_webserverAccessMode = Lens.lens (\Environment' {webserverAccessMode} -> webserverAccessMode) (\s@Environment' {} a -> s {webserverAccessMode = a} :: Environment)++-- | The Apache Airflow /Web server/ host name for the Amazon MWAA+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/access-airflow-ui.html Accessing the Apache Airflow UI>.+environment_webserverUrl :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_webserverUrl = Lens.lens (\Environment' {webserverUrl} -> webserverUrl) (\s@Environment' {} a -> s {webserverUrl = a} :: Environment)++-- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time that weekly maintenance updates are scheduled. For+-- example: @TUE:03:30@.+environment_weeklyMaintenanceWindowStart :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_weeklyMaintenanceWindowStart = Lens.lens (\Environment' {weeklyMaintenanceWindowStart} -> weeklyMaintenanceWindowStart) (\s@Environment' {} a -> s {weeklyMaintenanceWindowStart = a} :: Environment)++instance Data.FromJSON Environment where+  parseJSON =+    Data.withObject+      "Environment"+      ( \x ->+          Environment'+            Prelude.<$> ( x+                            Data..:? "AirflowConfigurationOptions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "AirflowVersion")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "DagS3Path")+            Prelude.<*> (x Data..:? "EnvironmentClass")+            Prelude.<*> (x Data..:? "ExecutionRoleArn")+            Prelude.<*> (x Data..:? "KmsKey")+            Prelude.<*> (x Data..:? "LastUpdate")+            Prelude.<*> (x Data..:? "LoggingConfiguration")+            Prelude.<*> (x Data..:? "MaxWorkers")+            Prelude.<*> (x Data..:? "MinWorkers")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "NetworkConfiguration")+            Prelude.<*> (x Data..:? "PluginsS3ObjectVersion")+            Prelude.<*> (x Data..:? "PluginsS3Path")+            Prelude.<*> (x Data..:? "RequirementsS3ObjectVersion")+            Prelude.<*> (x Data..:? "RequirementsS3Path")+            Prelude.<*> (x Data..:? "Schedulers")+            Prelude.<*> (x Data..:? "ServiceRoleArn")+            Prelude.<*> (x Data..:? "SourceBucketArn")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "WebserverAccessMode")+            Prelude.<*> (x Data..:? "WebserverUrl")+            Prelude.<*> (x Data..:? "WeeklyMaintenanceWindowStart")+      )++instance Prelude.Hashable Environment where+  hashWithSalt _salt Environment' {..} =+    _salt+      `Prelude.hashWithSalt` airflowConfigurationOptions+      `Prelude.hashWithSalt` airflowVersion+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` dagS3Path+      `Prelude.hashWithSalt` environmentClass+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` lastUpdate+      `Prelude.hashWithSalt` loggingConfiguration+      `Prelude.hashWithSalt` maxWorkers+      `Prelude.hashWithSalt` minWorkers+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` pluginsS3ObjectVersion+      `Prelude.hashWithSalt` pluginsS3Path+      `Prelude.hashWithSalt` requirementsS3ObjectVersion+      `Prelude.hashWithSalt` requirementsS3Path+      `Prelude.hashWithSalt` schedulers+      `Prelude.hashWithSalt` serviceRoleArn+      `Prelude.hashWithSalt` sourceBucketArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` webserverAccessMode+      `Prelude.hashWithSalt` webserverUrl+      `Prelude.hashWithSalt` weeklyMaintenanceWindowStart++instance Prelude.NFData Environment where+  rnf Environment' {..} =+    Prelude.rnf airflowConfigurationOptions+      `Prelude.seq` Prelude.rnf airflowVersion+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf dagS3Path+      `Prelude.seq` Prelude.rnf environmentClass+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf lastUpdate+      `Prelude.seq` Prelude.rnf loggingConfiguration+      `Prelude.seq` Prelude.rnf maxWorkers+      `Prelude.seq` Prelude.rnf minWorkers+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf pluginsS3ObjectVersion+      `Prelude.seq` Prelude.rnf pluginsS3Path+      `Prelude.seq` Prelude.rnf+        requirementsS3ObjectVersion+      `Prelude.seq` Prelude.rnf requirementsS3Path+      `Prelude.seq` Prelude.rnf schedulers+      `Prelude.seq` Prelude.rnf serviceRoleArn+      `Prelude.seq` Prelude.rnf sourceBucketArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf+        webserverAccessMode+      `Prelude.seq` Prelude.rnf+        webserverUrl+      `Prelude.seq` Prelude.rnf+        weeklyMaintenanceWindowStart
+ gen/Amazonka/MwAA/Types/EnvironmentStatus.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.MwAA.Types.EnvironmentStatus+-- 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.MwAA.Types.EnvironmentStatus+  ( EnvironmentStatus+      ( ..,+        EnvironmentStatus_AVAILABLE,+        EnvironmentStatus_CREATE_FAILED,+        EnvironmentStatus_CREATING,+        EnvironmentStatus_DELETED,+        EnvironmentStatus_DELETING,+        EnvironmentStatus_UNAVAILABLE,+        EnvironmentStatus_UPDATE_FAILED,+        EnvironmentStatus_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EnvironmentStatus = EnvironmentStatus'+  { fromEnvironmentStatus ::+      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 EnvironmentStatus_AVAILABLE :: EnvironmentStatus+pattern EnvironmentStatus_AVAILABLE = EnvironmentStatus' "AVAILABLE"++pattern EnvironmentStatus_CREATE_FAILED :: EnvironmentStatus+pattern EnvironmentStatus_CREATE_FAILED = EnvironmentStatus' "CREATE_FAILED"++pattern EnvironmentStatus_CREATING :: EnvironmentStatus+pattern EnvironmentStatus_CREATING = EnvironmentStatus' "CREATING"++pattern EnvironmentStatus_DELETED :: EnvironmentStatus+pattern EnvironmentStatus_DELETED = EnvironmentStatus' "DELETED"++pattern EnvironmentStatus_DELETING :: EnvironmentStatus+pattern EnvironmentStatus_DELETING = EnvironmentStatus' "DELETING"++pattern EnvironmentStatus_UNAVAILABLE :: EnvironmentStatus+pattern EnvironmentStatus_UNAVAILABLE = EnvironmentStatus' "UNAVAILABLE"++pattern EnvironmentStatus_UPDATE_FAILED :: EnvironmentStatus+pattern EnvironmentStatus_UPDATE_FAILED = EnvironmentStatus' "UPDATE_FAILED"++pattern EnvironmentStatus_UPDATING :: EnvironmentStatus+pattern EnvironmentStatus_UPDATING = EnvironmentStatus' "UPDATING"++{-# COMPLETE+  EnvironmentStatus_AVAILABLE,+  EnvironmentStatus_CREATE_FAILED,+  EnvironmentStatus_CREATING,+  EnvironmentStatus_DELETED,+  EnvironmentStatus_DELETING,+  EnvironmentStatus_UNAVAILABLE,+  EnvironmentStatus_UPDATE_FAILED,+  EnvironmentStatus_UPDATING,+  EnvironmentStatus'+  #-}
+ gen/Amazonka/MwAA/Types/LastUpdate.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.MwAA.Types.LastUpdate+-- 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.MwAA.Types.LastUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.UpdateError+import Amazonka.MwAA.Types.UpdateStatus+import qualified Amazonka.Prelude as Prelude++-- | Describes the status of the last update on the environment, and any+-- errors that were encountered.+--+-- /See:/ 'newLastUpdate' smart constructor.+data LastUpdate = LastUpdate'+  { -- | The day and time of the last update on the environment.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The error that was encountered during the last update of the+    -- environment.+    error :: Prelude.Maybe UpdateError,+    -- | The source of the last update to the environment. Includes internal+    -- processes by Amazon MWAA, such as an environment maintenance update.+    source :: Prelude.Maybe Prelude.Text,+    -- | The status of the last update on the environment.+    status :: Prelude.Maybe UpdateStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LastUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'lastUpdate_createdAt' - The day and time of the last update on the environment.+--+-- 'error', 'lastUpdate_error' - The error that was encountered during the last update of the+-- environment.+--+-- 'source', 'lastUpdate_source' - The source of the last update to the environment. Includes internal+-- processes by Amazon MWAA, such as an environment maintenance update.+--+-- 'status', 'lastUpdate_status' - The status of the last update on the environment.+newLastUpdate ::+  LastUpdate+newLastUpdate =+  LastUpdate'+    { createdAt = Prelude.Nothing,+      error = Prelude.Nothing,+      source = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The day and time of the last update on the environment.+lastUpdate_createdAt :: Lens.Lens' LastUpdate (Prelude.Maybe Prelude.UTCTime)+lastUpdate_createdAt = Lens.lens (\LastUpdate' {createdAt} -> createdAt) (\s@LastUpdate' {} a -> s {createdAt = a} :: LastUpdate) Prelude.. Lens.mapping Data._Time++-- | The error that was encountered during the last update of the+-- environment.+lastUpdate_error :: Lens.Lens' LastUpdate (Prelude.Maybe UpdateError)+lastUpdate_error = Lens.lens (\LastUpdate' {error} -> error) (\s@LastUpdate' {} a -> s {error = a} :: LastUpdate)++-- | The source of the last update to the environment. Includes internal+-- processes by Amazon MWAA, such as an environment maintenance update.+lastUpdate_source :: Lens.Lens' LastUpdate (Prelude.Maybe Prelude.Text)+lastUpdate_source = Lens.lens (\LastUpdate' {source} -> source) (\s@LastUpdate' {} a -> s {source = a} :: LastUpdate)++-- | The status of the last update on the environment.+lastUpdate_status :: Lens.Lens' LastUpdate (Prelude.Maybe UpdateStatus)+lastUpdate_status = Lens.lens (\LastUpdate' {status} -> status) (\s@LastUpdate' {} a -> s {status = a} :: LastUpdate)++instance Data.FromJSON LastUpdate where+  parseJSON =+    Data.withObject+      "LastUpdate"+      ( \x ->+          LastUpdate'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Error")+            Prelude.<*> (x Data..:? "Source")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable LastUpdate where+  hashWithSalt _salt LastUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` status++instance Prelude.NFData LastUpdate where+  rnf LastUpdate' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/MwAA/Types/LoggingConfiguration.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.MwAA.Types.LoggingConfiguration+-- 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.MwAA.Types.LoggingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.ModuleLoggingConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Describes the Apache Airflow log types that are published to CloudWatch+-- Logs.+--+-- /See:/ 'newLoggingConfiguration' smart constructor.+data LoggingConfiguration = LoggingConfiguration'+  { -- | The Airflow DAG processing logs published to CloudWatch Logs and the log+    -- level.+    dagProcessingLogs :: Prelude.Maybe ModuleLoggingConfiguration,+    -- | The Airflow scheduler logs published to CloudWatch Logs and the log+    -- level.+    schedulerLogs :: Prelude.Maybe ModuleLoggingConfiguration,+    -- | The Airflow task logs published to CloudWatch Logs and the log level.+    taskLogs :: Prelude.Maybe ModuleLoggingConfiguration,+    -- | The Airflow web server logs published to CloudWatch Logs and the log+    -- level.+    webserverLogs :: Prelude.Maybe ModuleLoggingConfiguration,+    -- | The Airflow worker logs published to CloudWatch Logs and the log level.+    workerLogs :: Prelude.Maybe ModuleLoggingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dagProcessingLogs', 'loggingConfiguration_dagProcessingLogs' - The Airflow DAG processing logs published to CloudWatch Logs and the log+-- level.+--+-- 'schedulerLogs', 'loggingConfiguration_schedulerLogs' - The Airflow scheduler logs published to CloudWatch Logs and the log+-- level.+--+-- 'taskLogs', 'loggingConfiguration_taskLogs' - The Airflow task logs published to CloudWatch Logs and the log level.+--+-- 'webserverLogs', 'loggingConfiguration_webserverLogs' - The Airflow web server logs published to CloudWatch Logs and the log+-- level.+--+-- 'workerLogs', 'loggingConfiguration_workerLogs' - The Airflow worker logs published to CloudWatch Logs and the log level.+newLoggingConfiguration ::+  LoggingConfiguration+newLoggingConfiguration =+  LoggingConfiguration'+    { dagProcessingLogs =+        Prelude.Nothing,+      schedulerLogs = Prelude.Nothing,+      taskLogs = Prelude.Nothing,+      webserverLogs = Prelude.Nothing,+      workerLogs = Prelude.Nothing+    }++-- | The Airflow DAG processing logs published to CloudWatch Logs and the log+-- level.+loggingConfiguration_dagProcessingLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe ModuleLoggingConfiguration)+loggingConfiguration_dagProcessingLogs = Lens.lens (\LoggingConfiguration' {dagProcessingLogs} -> dagProcessingLogs) (\s@LoggingConfiguration' {} a -> s {dagProcessingLogs = a} :: LoggingConfiguration)++-- | The Airflow scheduler logs published to CloudWatch Logs and the log+-- level.+loggingConfiguration_schedulerLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe ModuleLoggingConfiguration)+loggingConfiguration_schedulerLogs = Lens.lens (\LoggingConfiguration' {schedulerLogs} -> schedulerLogs) (\s@LoggingConfiguration' {} a -> s {schedulerLogs = a} :: LoggingConfiguration)++-- | The Airflow task logs published to CloudWatch Logs and the log level.+loggingConfiguration_taskLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe ModuleLoggingConfiguration)+loggingConfiguration_taskLogs = Lens.lens (\LoggingConfiguration' {taskLogs} -> taskLogs) (\s@LoggingConfiguration' {} a -> s {taskLogs = a} :: LoggingConfiguration)++-- | The Airflow web server logs published to CloudWatch Logs and the log+-- level.+loggingConfiguration_webserverLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe ModuleLoggingConfiguration)+loggingConfiguration_webserverLogs = Lens.lens (\LoggingConfiguration' {webserverLogs} -> webserverLogs) (\s@LoggingConfiguration' {} a -> s {webserverLogs = a} :: LoggingConfiguration)++-- | The Airflow worker logs published to CloudWatch Logs and the log level.+loggingConfiguration_workerLogs :: Lens.Lens' LoggingConfiguration (Prelude.Maybe ModuleLoggingConfiguration)+loggingConfiguration_workerLogs = Lens.lens (\LoggingConfiguration' {workerLogs} -> workerLogs) (\s@LoggingConfiguration' {} a -> s {workerLogs = a} :: LoggingConfiguration)++instance Data.FromJSON LoggingConfiguration where+  parseJSON =+    Data.withObject+      "LoggingConfiguration"+      ( \x ->+          LoggingConfiguration'+            Prelude.<$> (x Data..:? "DagProcessingLogs")+            Prelude.<*> (x Data..:? "SchedulerLogs")+            Prelude.<*> (x Data..:? "TaskLogs")+            Prelude.<*> (x Data..:? "WebserverLogs")+            Prelude.<*> (x Data..:? "WorkerLogs")+      )++instance Prelude.Hashable LoggingConfiguration where+  hashWithSalt _salt LoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dagProcessingLogs+      `Prelude.hashWithSalt` schedulerLogs+      `Prelude.hashWithSalt` taskLogs+      `Prelude.hashWithSalt` webserverLogs+      `Prelude.hashWithSalt` workerLogs++instance Prelude.NFData LoggingConfiguration where+  rnf LoggingConfiguration' {..} =+    Prelude.rnf dagProcessingLogs+      `Prelude.seq` Prelude.rnf schedulerLogs+      `Prelude.seq` Prelude.rnf taskLogs+      `Prelude.seq` Prelude.rnf webserverLogs+      `Prelude.seq` Prelude.rnf workerLogs
+ gen/Amazonka/MwAA/Types/LoggingConfigurationInput.hs view
@@ -0,0 +1,122 @@+{-# 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.MwAA.Types.LoggingConfigurationInput+-- 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.MwAA.Types.LoggingConfigurationInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.ModuleLoggingConfigurationInput+import qualified Amazonka.Prelude as Prelude++-- | Defines the Apache Airflow log types to send to CloudWatch Logs.+--+-- /See:/ 'newLoggingConfigurationInput' smart constructor.+data LoggingConfigurationInput = LoggingConfigurationInput'+  { -- | Publishes Airflow DAG processing logs to CloudWatch Logs.+    dagProcessingLogs :: Prelude.Maybe ModuleLoggingConfigurationInput,+    -- | Publishes Airflow scheduler logs to CloudWatch Logs.+    schedulerLogs :: Prelude.Maybe ModuleLoggingConfigurationInput,+    -- | Publishes Airflow task logs to CloudWatch Logs.+    taskLogs :: Prelude.Maybe ModuleLoggingConfigurationInput,+    -- | Publishes Airflow web server logs to CloudWatch Logs.+    webserverLogs :: Prelude.Maybe ModuleLoggingConfigurationInput,+    -- | Publishes Airflow worker logs to CloudWatch Logs.+    workerLogs :: Prelude.Maybe ModuleLoggingConfigurationInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfigurationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dagProcessingLogs', 'loggingConfigurationInput_dagProcessingLogs' - Publishes Airflow DAG processing logs to CloudWatch Logs.+--+-- 'schedulerLogs', 'loggingConfigurationInput_schedulerLogs' - Publishes Airflow scheduler logs to CloudWatch Logs.+--+-- 'taskLogs', 'loggingConfigurationInput_taskLogs' - Publishes Airflow task logs to CloudWatch Logs.+--+-- 'webserverLogs', 'loggingConfigurationInput_webserverLogs' - Publishes Airflow web server logs to CloudWatch Logs.+--+-- 'workerLogs', 'loggingConfigurationInput_workerLogs' - Publishes Airflow worker logs to CloudWatch Logs.+newLoggingConfigurationInput ::+  LoggingConfigurationInput+newLoggingConfigurationInput =+  LoggingConfigurationInput'+    { dagProcessingLogs =+        Prelude.Nothing,+      schedulerLogs = Prelude.Nothing,+      taskLogs = Prelude.Nothing,+      webserverLogs = Prelude.Nothing,+      workerLogs = Prelude.Nothing+    }++-- | Publishes Airflow DAG processing logs to CloudWatch Logs.+loggingConfigurationInput_dagProcessingLogs :: Lens.Lens' LoggingConfigurationInput (Prelude.Maybe ModuleLoggingConfigurationInput)+loggingConfigurationInput_dagProcessingLogs = Lens.lens (\LoggingConfigurationInput' {dagProcessingLogs} -> dagProcessingLogs) (\s@LoggingConfigurationInput' {} a -> s {dagProcessingLogs = a} :: LoggingConfigurationInput)++-- | Publishes Airflow scheduler logs to CloudWatch Logs.+loggingConfigurationInput_schedulerLogs :: Lens.Lens' LoggingConfigurationInput (Prelude.Maybe ModuleLoggingConfigurationInput)+loggingConfigurationInput_schedulerLogs = Lens.lens (\LoggingConfigurationInput' {schedulerLogs} -> schedulerLogs) (\s@LoggingConfigurationInput' {} a -> s {schedulerLogs = a} :: LoggingConfigurationInput)++-- | Publishes Airflow task logs to CloudWatch Logs.+loggingConfigurationInput_taskLogs :: Lens.Lens' LoggingConfigurationInput (Prelude.Maybe ModuleLoggingConfigurationInput)+loggingConfigurationInput_taskLogs = Lens.lens (\LoggingConfigurationInput' {taskLogs} -> taskLogs) (\s@LoggingConfigurationInput' {} a -> s {taskLogs = a} :: LoggingConfigurationInput)++-- | Publishes Airflow web server logs to CloudWatch Logs.+loggingConfigurationInput_webserverLogs :: Lens.Lens' LoggingConfigurationInput (Prelude.Maybe ModuleLoggingConfigurationInput)+loggingConfigurationInput_webserverLogs = Lens.lens (\LoggingConfigurationInput' {webserverLogs} -> webserverLogs) (\s@LoggingConfigurationInput' {} a -> s {webserverLogs = a} :: LoggingConfigurationInput)++-- | Publishes Airflow worker logs to CloudWatch Logs.+loggingConfigurationInput_workerLogs :: Lens.Lens' LoggingConfigurationInput (Prelude.Maybe ModuleLoggingConfigurationInput)+loggingConfigurationInput_workerLogs = Lens.lens (\LoggingConfigurationInput' {workerLogs} -> workerLogs) (\s@LoggingConfigurationInput' {} a -> s {workerLogs = a} :: LoggingConfigurationInput)++instance Prelude.Hashable LoggingConfigurationInput where+  hashWithSalt _salt LoggingConfigurationInput' {..} =+    _salt+      `Prelude.hashWithSalt` dagProcessingLogs+      `Prelude.hashWithSalt` schedulerLogs+      `Prelude.hashWithSalt` taskLogs+      `Prelude.hashWithSalt` webserverLogs+      `Prelude.hashWithSalt` workerLogs++instance Prelude.NFData LoggingConfigurationInput where+  rnf LoggingConfigurationInput' {..} =+    Prelude.rnf dagProcessingLogs+      `Prelude.seq` Prelude.rnf schedulerLogs+      `Prelude.seq` Prelude.rnf taskLogs+      `Prelude.seq` Prelude.rnf webserverLogs+      `Prelude.seq` Prelude.rnf workerLogs++instance Data.ToJSON LoggingConfigurationInput where+  toJSON LoggingConfigurationInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DagProcessingLogs" Data..=)+              Prelude.<$> dagProcessingLogs,+            ("SchedulerLogs" Data..=) Prelude.<$> schedulerLogs,+            ("TaskLogs" Data..=) Prelude.<$> taskLogs,+            ("WebserverLogs" Data..=) Prelude.<$> webserverLogs,+            ("WorkerLogs" Data..=) Prelude.<$> workerLogs+          ]+      )
+ gen/Amazonka/MwAA/Types/LoggingLevel.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.MwAA.Types.LoggingLevel+-- 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.MwAA.Types.LoggingLevel+  ( LoggingLevel+      ( ..,+        LoggingLevel_CRITICAL,+        LoggingLevel_DEBUG,+        LoggingLevel_ERROR,+        LoggingLevel_INFO,+        LoggingLevel_WARNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LoggingLevel = LoggingLevel'+  { fromLoggingLevel ::+      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 LoggingLevel_CRITICAL :: LoggingLevel+pattern LoggingLevel_CRITICAL = LoggingLevel' "CRITICAL"++pattern LoggingLevel_DEBUG :: LoggingLevel+pattern LoggingLevel_DEBUG = LoggingLevel' "DEBUG"++pattern LoggingLevel_ERROR :: LoggingLevel+pattern LoggingLevel_ERROR = LoggingLevel' "ERROR"++pattern LoggingLevel_INFO :: LoggingLevel+pattern LoggingLevel_INFO = LoggingLevel' "INFO"++pattern LoggingLevel_WARNING :: LoggingLevel+pattern LoggingLevel_WARNING = LoggingLevel' "WARNING"++{-# COMPLETE+  LoggingLevel_CRITICAL,+  LoggingLevel_DEBUG,+  LoggingLevel_ERROR,+  LoggingLevel_INFO,+  LoggingLevel_WARNING,+  LoggingLevel'+  #-}
+ gen/Amazonka/MwAA/Types/MetricDatum.hs view
@@ -0,0 +1,141 @@+{-# 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.MwAA.Types.MetricDatum+-- 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.MwAA.Types.MetricDatum where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.Dimension+import Amazonka.MwAA.Types.StatisticSet+import Amazonka.MwAA.Types.Unit+import qualified Amazonka.Prelude as Prelude++-- | __Internal only__. Collects Apache Airflow metrics. To learn more about+-- the metrics published to Amazon CloudWatch, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+--+-- /See:/ 'newMetricDatum' smart constructor.+data MetricDatum = MetricDatum'+  { -- | __Internal only__. The dimensions associated with the metric.+    dimensions :: Prelude.Maybe [Dimension],+    -- | __Internal only__. The statistical values for the metric.+    statisticValues :: Prelude.Maybe StatisticSet,+    -- | __Internal only__. The unit used to store the metric.+    unit :: Prelude.Maybe Unit,+    -- | __Internal only__. The value for the metric.+    value :: Prelude.Maybe Prelude.Double,+    -- | __Internal only__. The name of the metric.+    metricName :: Prelude.Text,+    -- | __Internal only__. The time the metric data was received.+    timestamp :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricDatum' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dimensions', 'metricDatum_dimensions' - __Internal only__. The dimensions associated with the metric.+--+-- 'statisticValues', 'metricDatum_statisticValues' - __Internal only__. The statistical values for the metric.+--+-- 'unit', 'metricDatum_unit' - __Internal only__. The unit used to store the metric.+--+-- 'value', 'metricDatum_value' - __Internal only__. The value for the metric.+--+-- 'metricName', 'metricDatum_metricName' - __Internal only__. The name of the metric.+--+-- 'timestamp', 'metricDatum_timestamp' - __Internal only__. The time the metric data was received.+newMetricDatum ::+  -- | 'metricName'+  Prelude.Text ->+  -- | 'timestamp'+  Prelude.UTCTime ->+  MetricDatum+newMetricDatum pMetricName_ pTimestamp_ =+  MetricDatum'+    { dimensions = Prelude.Nothing,+      statisticValues = Prelude.Nothing,+      unit = Prelude.Nothing,+      value = Prelude.Nothing,+      metricName = pMetricName_,+      timestamp = Data._Time Lens.# pTimestamp_+    }++-- | __Internal only__. The dimensions associated with the metric.+metricDatum_dimensions :: Lens.Lens' MetricDatum (Prelude.Maybe [Dimension])+metricDatum_dimensions = Lens.lens (\MetricDatum' {dimensions} -> dimensions) (\s@MetricDatum' {} a -> s {dimensions = a} :: MetricDatum) Prelude.. Lens.mapping Lens.coerced++-- | __Internal only__. The statistical values for the metric.+metricDatum_statisticValues :: Lens.Lens' MetricDatum (Prelude.Maybe StatisticSet)+metricDatum_statisticValues = Lens.lens (\MetricDatum' {statisticValues} -> statisticValues) (\s@MetricDatum' {} a -> s {statisticValues = a} :: MetricDatum)++-- | __Internal only__. The unit used to store the metric.+metricDatum_unit :: Lens.Lens' MetricDatum (Prelude.Maybe Unit)+metricDatum_unit = Lens.lens (\MetricDatum' {unit} -> unit) (\s@MetricDatum' {} a -> s {unit = a} :: MetricDatum)++-- | __Internal only__. The value for the metric.+metricDatum_value :: Lens.Lens' MetricDatum (Prelude.Maybe Prelude.Double)+metricDatum_value = Lens.lens (\MetricDatum' {value} -> value) (\s@MetricDatum' {} a -> s {value = a} :: MetricDatum)++-- | __Internal only__. The name of the metric.+metricDatum_metricName :: Lens.Lens' MetricDatum Prelude.Text+metricDatum_metricName = Lens.lens (\MetricDatum' {metricName} -> metricName) (\s@MetricDatum' {} a -> s {metricName = a} :: MetricDatum)++-- | __Internal only__. The time the metric data was received.+metricDatum_timestamp :: Lens.Lens' MetricDatum Prelude.UTCTime+metricDatum_timestamp = Lens.lens (\MetricDatum' {timestamp} -> timestamp) (\s@MetricDatum' {} a -> s {timestamp = a} :: MetricDatum) Prelude.. Data._Time++instance Prelude.Hashable MetricDatum where+  hashWithSalt _salt MetricDatum' {..} =+    _salt+      `Prelude.hashWithSalt` dimensions+      `Prelude.hashWithSalt` statisticValues+      `Prelude.hashWithSalt` unit+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` metricName+      `Prelude.hashWithSalt` timestamp++instance Prelude.NFData MetricDatum where+  rnf MetricDatum' {..} =+    Prelude.rnf dimensions+      `Prelude.seq` Prelude.rnf statisticValues+      `Prelude.seq` Prelude.rnf unit+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf metricName+      `Prelude.seq` Prelude.rnf timestamp++instance Data.ToJSON MetricDatum where+  toJSON MetricDatum' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Dimensions" Data..=) Prelude.<$> dimensions,+            ("StatisticValues" Data..=)+              Prelude.<$> statisticValues,+            ("Unit" Data..=) Prelude.<$> unit,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("MetricName" Data..= metricName),+            Prelude.Just ("Timestamp" Data..= timestamp)+          ]+      )
+ gen/Amazonka/MwAA/Types/ModuleLoggingConfiguration.hs view
@@ -0,0 +1,114 @@+{-# 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.MwAA.Types.ModuleLoggingConfiguration+-- 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.MwAA.Types.ModuleLoggingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.LoggingLevel+import qualified Amazonka.Prelude as Prelude++-- | Describes the Apache Airflow log details for the log type (e.g.+-- @DagProcessingLogs@).+--+-- /See:/ 'newModuleLoggingConfiguration' smart constructor.+data ModuleLoggingConfiguration = ModuleLoggingConfiguration'+  { -- | The Amazon Resource Name (ARN) for the CloudWatch Logs group where the+    -- Apache Airflow log type (e.g. @DagProcessingLogs@) is published. For+    -- example,+    -- @arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*@.+    cloudWatchLogGroupArn :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the Apache Airflow log type (e.g. @DagProcessingLogs@)+    -- is enabled.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | The Apache Airflow log level for the log type (e.g.+    -- @DagProcessingLogs@).+    logLevel :: Prelude.Maybe LoggingLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModuleLoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogGroupArn', 'moduleLoggingConfiguration_cloudWatchLogGroupArn' - The Amazon Resource Name (ARN) for the CloudWatch Logs group where the+-- Apache Airflow log type (e.g. @DagProcessingLogs@) is published. For+-- example,+-- @arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*@.+--+-- 'enabled', 'moduleLoggingConfiguration_enabled' - Indicates whether the Apache Airflow log type (e.g. @DagProcessingLogs@)+-- is enabled.+--+-- 'logLevel', 'moduleLoggingConfiguration_logLevel' - The Apache Airflow log level for the log type (e.g.+-- @DagProcessingLogs@).+newModuleLoggingConfiguration ::+  ModuleLoggingConfiguration+newModuleLoggingConfiguration =+  ModuleLoggingConfiguration'+    { cloudWatchLogGroupArn =+        Prelude.Nothing,+      enabled = Prelude.Nothing,+      logLevel = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the CloudWatch Logs group where the+-- Apache Airflow log type (e.g. @DagProcessingLogs@) is published. For+-- example,+-- @arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*@.+moduleLoggingConfiguration_cloudWatchLogGroupArn :: Lens.Lens' ModuleLoggingConfiguration (Prelude.Maybe Prelude.Text)+moduleLoggingConfiguration_cloudWatchLogGroupArn = Lens.lens (\ModuleLoggingConfiguration' {cloudWatchLogGroupArn} -> cloudWatchLogGroupArn) (\s@ModuleLoggingConfiguration' {} a -> s {cloudWatchLogGroupArn = a} :: ModuleLoggingConfiguration)++-- | Indicates whether the Apache Airflow log type (e.g. @DagProcessingLogs@)+-- is enabled.+moduleLoggingConfiguration_enabled :: Lens.Lens' ModuleLoggingConfiguration (Prelude.Maybe Prelude.Bool)+moduleLoggingConfiguration_enabled = Lens.lens (\ModuleLoggingConfiguration' {enabled} -> enabled) (\s@ModuleLoggingConfiguration' {} a -> s {enabled = a} :: ModuleLoggingConfiguration)++-- | The Apache Airflow log level for the log type (e.g.+-- @DagProcessingLogs@).+moduleLoggingConfiguration_logLevel :: Lens.Lens' ModuleLoggingConfiguration (Prelude.Maybe LoggingLevel)+moduleLoggingConfiguration_logLevel = Lens.lens (\ModuleLoggingConfiguration' {logLevel} -> logLevel) (\s@ModuleLoggingConfiguration' {} a -> s {logLevel = a} :: ModuleLoggingConfiguration)++instance Data.FromJSON ModuleLoggingConfiguration where+  parseJSON =+    Data.withObject+      "ModuleLoggingConfiguration"+      ( \x ->+          ModuleLoggingConfiguration'+            Prelude.<$> (x Data..:? "CloudWatchLogGroupArn")+            Prelude.<*> (x Data..:? "Enabled")+            Prelude.<*> (x Data..:? "LogLevel")+      )++instance Prelude.Hashable ModuleLoggingConfiguration where+  hashWithSalt _salt ModuleLoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` cloudWatchLogGroupArn+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData ModuleLoggingConfiguration where+  rnf ModuleLoggingConfiguration' {..} =+    Prelude.rnf cloudWatchLogGroupArn+      `Prelude.seq` Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf logLevel
+ gen/Amazonka/MwAA/Types/ModuleLoggingConfigurationInput.hs view
@@ -0,0 +1,106 @@+{-# 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.MwAA.Types.ModuleLoggingConfigurationInput+-- 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.MwAA.Types.ModuleLoggingConfigurationInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types.LoggingLevel+import qualified Amazonka.Prelude as Prelude++-- | Enables the Apache Airflow log type (e.g. @DagProcessingLogs@) and+-- defines the log level to send to CloudWatch Logs (e.g. @INFO@).+--+-- /See:/ 'newModuleLoggingConfigurationInput' smart constructor.+data ModuleLoggingConfigurationInput = ModuleLoggingConfigurationInput'+  { -- | Indicates whether to enable the Apache Airflow log type (e.g.+    -- @DagProcessingLogs@).+    enabled :: Prelude.Bool,+    -- | Defines the Apache Airflow log level (e.g. @INFO@) to send to CloudWatch+    -- Logs.+    logLevel :: LoggingLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModuleLoggingConfigurationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'moduleLoggingConfigurationInput_enabled' - Indicates whether to enable the Apache Airflow log type (e.g.+-- @DagProcessingLogs@).+--+-- 'logLevel', 'moduleLoggingConfigurationInput_logLevel' - Defines the Apache Airflow log level (e.g. @INFO@) to send to CloudWatch+-- Logs.+newModuleLoggingConfigurationInput ::+  -- | 'enabled'+  Prelude.Bool ->+  -- | 'logLevel'+  LoggingLevel ->+  ModuleLoggingConfigurationInput+newModuleLoggingConfigurationInput+  pEnabled_+  pLogLevel_ =+    ModuleLoggingConfigurationInput'+      { enabled =+          pEnabled_,+        logLevel = pLogLevel_+      }++-- | Indicates whether to enable the Apache Airflow log type (e.g.+-- @DagProcessingLogs@).+moduleLoggingConfigurationInput_enabled :: Lens.Lens' ModuleLoggingConfigurationInput Prelude.Bool+moduleLoggingConfigurationInput_enabled = Lens.lens (\ModuleLoggingConfigurationInput' {enabled} -> enabled) (\s@ModuleLoggingConfigurationInput' {} a -> s {enabled = a} :: ModuleLoggingConfigurationInput)++-- | Defines the Apache Airflow log level (e.g. @INFO@) to send to CloudWatch+-- Logs.+moduleLoggingConfigurationInput_logLevel :: Lens.Lens' ModuleLoggingConfigurationInput LoggingLevel+moduleLoggingConfigurationInput_logLevel = Lens.lens (\ModuleLoggingConfigurationInput' {logLevel} -> logLevel) (\s@ModuleLoggingConfigurationInput' {} a -> s {logLevel = a} :: ModuleLoggingConfigurationInput)++instance+  Prelude.Hashable+    ModuleLoggingConfigurationInput+  where+  hashWithSalt+    _salt+    ModuleLoggingConfigurationInput' {..} =+      _salt+        `Prelude.hashWithSalt` enabled+        `Prelude.hashWithSalt` logLevel++instance+  Prelude.NFData+    ModuleLoggingConfigurationInput+  where+  rnf ModuleLoggingConfigurationInput' {..} =+    Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToJSON ModuleLoggingConfigurationInput where+  toJSON ModuleLoggingConfigurationInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Enabled" Data..= enabled),+            Prelude.Just ("LogLevel" Data..= logLevel)+          ]+      )
+ gen/Amazonka/MwAA/Types/NetworkConfiguration.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.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.MwAA.Types.NetworkConfiguration 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 VPC networking components used to secure and enable+-- network traffic between the Amazon Web Services resources for your+-- environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+--+-- /See:/ 'newNetworkConfiguration' smart constructor.+data NetworkConfiguration = NetworkConfiguration'+  { -- | A list of security group IDs. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+    securityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | A list of subnet IDs. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+    subnetIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  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:+--+-- 'securityGroupIds', 'networkConfiguration_securityGroupIds' - A list of security group IDs. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+--+-- 'subnetIds', 'networkConfiguration_subnetIds' - A list of subnet IDs. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+newNetworkConfiguration ::+  NetworkConfiguration+newNetworkConfiguration =+  NetworkConfiguration'+    { securityGroupIds =+        Prelude.Nothing,+      subnetIds = Prelude.Nothing+    }++-- | A list of security group IDs. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+networkConfiguration_securityGroupIds :: Lens.Lens' NetworkConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+networkConfiguration_securityGroupIds = Lens.lens (\NetworkConfiguration' {securityGroupIds} -> securityGroupIds) (\s@NetworkConfiguration' {} a -> s {securityGroupIds = a} :: NetworkConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A list of subnet IDs. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+networkConfiguration_subnetIds :: Lens.Lens' NetworkConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+networkConfiguration_subnetIds = Lens.lens (\NetworkConfiguration' {subnetIds} -> subnetIds) (\s@NetworkConfiguration' {} a -> s {subnetIds = a} :: NetworkConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON NetworkConfiguration where+  parseJSON =+    Data.withObject+      "NetworkConfiguration"+      ( \x ->+          NetworkConfiguration'+            Prelude.<$> (x Data..:? "SecurityGroupIds")+            Prelude.<*> (x Data..:? "SubnetIds")+      )++instance Prelude.Hashable NetworkConfiguration where+  hashWithSalt _salt NetworkConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` securityGroupIds+      `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData NetworkConfiguration where+  rnf NetworkConfiguration' {..} =+    Prelude.rnf securityGroupIds+      `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToJSON NetworkConfiguration where+  toJSON NetworkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SecurityGroupIds" Data..=)+              Prelude.<$> securityGroupIds,+            ("SubnetIds" Data..=) Prelude.<$> subnetIds+          ]+      )
+ gen/Amazonka/MwAA/Types/StatisticSet.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.MwAA.Types.StatisticSet+-- 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.MwAA.Types.StatisticSet 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++-- | __Internal only__. Represents a set of statistics that describe a+-- specific metric. To learn more about the metrics published to Amazon+-- CloudWatch, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/cw-metrics.html Amazon MWAA performance metrics in Amazon CloudWatch>.+--+-- /See:/ 'newStatisticSet' smart constructor.+data StatisticSet = StatisticSet'+  { -- | __Internal only__. The maximum value of the sample set.+    maximum :: Prelude.Maybe Prelude.Double,+    -- | __Internal only__. The minimum value of the sample set.+    minimum :: Prelude.Maybe Prelude.Double,+    -- | __Internal only__. The number of samples used for the statistic set.+    sampleCount :: Prelude.Maybe Prelude.Int,+    -- | __Internal only__. The sum of values for the sample set.+    sum :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StatisticSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maximum', 'statisticSet_maximum' - __Internal only__. The maximum value of the sample set.+--+-- 'minimum', 'statisticSet_minimum' - __Internal only__. The minimum value of the sample set.+--+-- 'sampleCount', 'statisticSet_sampleCount' - __Internal only__. The number of samples used for the statistic set.+--+-- 'sum', 'statisticSet_sum' - __Internal only__. The sum of values for the sample set.+newStatisticSet ::+  StatisticSet+newStatisticSet =+  StatisticSet'+    { maximum = Prelude.Nothing,+      minimum = Prelude.Nothing,+      sampleCount = Prelude.Nothing,+      sum = Prelude.Nothing+    }++-- | __Internal only__. The maximum value of the sample set.+statisticSet_maximum :: Lens.Lens' StatisticSet (Prelude.Maybe Prelude.Double)+statisticSet_maximum = Lens.lens (\StatisticSet' {maximum} -> maximum) (\s@StatisticSet' {} a -> s {maximum = a} :: StatisticSet)++-- | __Internal only__. The minimum value of the sample set.+statisticSet_minimum :: Lens.Lens' StatisticSet (Prelude.Maybe Prelude.Double)+statisticSet_minimum = Lens.lens (\StatisticSet' {minimum} -> minimum) (\s@StatisticSet' {} a -> s {minimum = a} :: StatisticSet)++-- | __Internal only__. The number of samples used for the statistic set.+statisticSet_sampleCount :: Lens.Lens' StatisticSet (Prelude.Maybe Prelude.Int)+statisticSet_sampleCount = Lens.lens (\StatisticSet' {sampleCount} -> sampleCount) (\s@StatisticSet' {} a -> s {sampleCount = a} :: StatisticSet)++-- | __Internal only__. The sum of values for the sample set.+statisticSet_sum :: Lens.Lens' StatisticSet (Prelude.Maybe Prelude.Double)+statisticSet_sum = Lens.lens (\StatisticSet' {sum} -> sum) (\s@StatisticSet' {} a -> s {sum = a} :: StatisticSet)++instance Prelude.Hashable StatisticSet where+  hashWithSalt _salt StatisticSet' {..} =+    _salt+      `Prelude.hashWithSalt` maximum+      `Prelude.hashWithSalt` minimum+      `Prelude.hashWithSalt` sampleCount+      `Prelude.hashWithSalt` sum++instance Prelude.NFData StatisticSet where+  rnf StatisticSet' {..} =+    Prelude.rnf maximum+      `Prelude.seq` Prelude.rnf minimum+      `Prelude.seq` Prelude.rnf sampleCount+      `Prelude.seq` Prelude.rnf sum++instance Data.ToJSON StatisticSet where+  toJSON StatisticSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Maximum" Data..=) Prelude.<$> maximum,+            ("Minimum" Data..=) Prelude.<$> minimum,+            ("SampleCount" Data..=) Prelude.<$> sampleCount,+            ("Sum" Data..=) Prelude.<$> sum+          ]+      )
+ gen/Amazonka/MwAA/Types/Unit.hs view
@@ -0,0 +1,193 @@+{-# 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.MwAA.Types.Unit+-- 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.MwAA.Types.Unit+  ( Unit+      ( ..,+        Unit_Bits,+        Unit_Bits_Second,+        Unit_Bytes,+        Unit_Bytes_Second,+        Unit_Count,+        Unit_Count_Second,+        Unit_Gigabits,+        Unit_Gigabits_Second,+        Unit_Gigabytes,+        Unit_Gigabytes_Second,+        Unit_Kilobits,+        Unit_Kilobits_Second,+        Unit_Kilobytes,+        Unit_Kilobytes_Second,+        Unit_Megabits,+        Unit_Megabits_Second,+        Unit_Megabytes,+        Unit_Megabytes_Second,+        Unit_Microseconds,+        Unit_Milliseconds,+        Unit_None,+        Unit_Percent,+        Unit_Seconds,+        Unit_Terabits,+        Unit_Terabits_Second,+        Unit_Terabytes,+        Unit_Terabytes_Second+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Unit = Unit' {fromUnit :: 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 Unit_Bits :: Unit+pattern Unit_Bits = Unit' "Bits"++pattern Unit_Bits_Second :: Unit+pattern Unit_Bits_Second = Unit' "Bits/Second"++pattern Unit_Bytes :: Unit+pattern Unit_Bytes = Unit' "Bytes"++pattern Unit_Bytes_Second :: Unit+pattern Unit_Bytes_Second = Unit' "Bytes/Second"++pattern Unit_Count :: Unit+pattern Unit_Count = Unit' "Count"++pattern Unit_Count_Second :: Unit+pattern Unit_Count_Second = Unit' "Count/Second"++pattern Unit_Gigabits :: Unit+pattern Unit_Gigabits = Unit' "Gigabits"++pattern Unit_Gigabits_Second :: Unit+pattern Unit_Gigabits_Second = Unit' "Gigabits/Second"++pattern Unit_Gigabytes :: Unit+pattern Unit_Gigabytes = Unit' "Gigabytes"++pattern Unit_Gigabytes_Second :: Unit+pattern Unit_Gigabytes_Second = Unit' "Gigabytes/Second"++pattern Unit_Kilobits :: Unit+pattern Unit_Kilobits = Unit' "Kilobits"++pattern Unit_Kilobits_Second :: Unit+pattern Unit_Kilobits_Second = Unit' "Kilobits/Second"++pattern Unit_Kilobytes :: Unit+pattern Unit_Kilobytes = Unit' "Kilobytes"++pattern Unit_Kilobytes_Second :: Unit+pattern Unit_Kilobytes_Second = Unit' "Kilobytes/Second"++pattern Unit_Megabits :: Unit+pattern Unit_Megabits = Unit' "Megabits"++pattern Unit_Megabits_Second :: Unit+pattern Unit_Megabits_Second = Unit' "Megabits/Second"++pattern Unit_Megabytes :: Unit+pattern Unit_Megabytes = Unit' "Megabytes"++pattern Unit_Megabytes_Second :: Unit+pattern Unit_Megabytes_Second = Unit' "Megabytes/Second"++pattern Unit_Microseconds :: Unit+pattern Unit_Microseconds = Unit' "Microseconds"++pattern Unit_Milliseconds :: Unit+pattern Unit_Milliseconds = Unit' "Milliseconds"++pattern Unit_None :: Unit+pattern Unit_None = Unit' "None"++pattern Unit_Percent :: Unit+pattern Unit_Percent = Unit' "Percent"++pattern Unit_Seconds :: Unit+pattern Unit_Seconds = Unit' "Seconds"++pattern Unit_Terabits :: Unit+pattern Unit_Terabits = Unit' "Terabits"++pattern Unit_Terabits_Second :: Unit+pattern Unit_Terabits_Second = Unit' "Terabits/Second"++pattern Unit_Terabytes :: Unit+pattern Unit_Terabytes = Unit' "Terabytes"++pattern Unit_Terabytes_Second :: Unit+pattern Unit_Terabytes_Second = Unit' "Terabytes/Second"++{-# COMPLETE+  Unit_Bits,+  Unit_Bits_Second,+  Unit_Bytes,+  Unit_Bytes_Second,+  Unit_Count,+  Unit_Count_Second,+  Unit_Gigabits,+  Unit_Gigabits_Second,+  Unit_Gigabytes,+  Unit_Gigabytes_Second,+  Unit_Kilobits,+  Unit_Kilobits_Second,+  Unit_Kilobytes,+  Unit_Kilobytes_Second,+  Unit_Megabits,+  Unit_Megabits_Second,+  Unit_Megabytes,+  Unit_Megabytes_Second,+  Unit_Microseconds,+  Unit_Milliseconds,+  Unit_None,+  Unit_Percent,+  Unit_Seconds,+  Unit_Terabits,+  Unit_Terabits_Second,+  Unit_Terabytes,+  Unit_Terabytes_Second,+  Unit'+  #-}
+ gen/Amazonka/MwAA/Types/UpdateError.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.Types.UpdateError+-- 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.MwAA.Types.UpdateError 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 error(s) encountered with the last update of the+-- environment.+--+-- /See:/ 'newUpdateError' smart constructor.+data UpdateError = UpdateError'+  { -- | The error code that corresponds to the error with the last update.+    errorCode :: Prelude.Maybe Prelude.Text,+    -- | The error message that corresponds to the error code.+    errorMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'updateError_errorCode' - The error code that corresponds to the error with the last update.+--+-- 'errorMessage', 'updateError_errorMessage' - The error message that corresponds to the error code.+newUpdateError ::+  UpdateError+newUpdateError =+  UpdateError'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing+    }++-- | The error code that corresponds to the error with the last update.+updateError_errorCode :: Lens.Lens' UpdateError (Prelude.Maybe Prelude.Text)+updateError_errorCode = Lens.lens (\UpdateError' {errorCode} -> errorCode) (\s@UpdateError' {} a -> s {errorCode = a} :: UpdateError)++-- | The error message that corresponds to the error code.+updateError_errorMessage :: Lens.Lens' UpdateError (Prelude.Maybe Prelude.Text)+updateError_errorMessage = Lens.lens (\UpdateError' {errorMessage} -> errorMessage) (\s@UpdateError' {} a -> s {errorMessage = a} :: UpdateError)++instance Data.FromJSON UpdateError where+  parseJSON =+    Data.withObject+      "UpdateError"+      ( \x ->+          UpdateError'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+      )++instance Prelude.Hashable UpdateError where+  hashWithSalt _salt UpdateError' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData UpdateError where+  rnf UpdateError' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/MwAA/Types/UpdateNetworkConfigurationInput.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MwAA.Types.UpdateNetworkConfigurationInput+-- 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.MwAA.Types.UpdateNetworkConfigurationInput 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++-- | Defines the VPC networking components used to secure and enable network+-- traffic between the Amazon Web Services resources for your environment.+-- To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+--+-- /See:/ 'newUpdateNetworkConfigurationInput' smart constructor.+data UpdateNetworkConfigurationInput = UpdateNetworkConfigurationInput'+  { -- | A list of security group IDs. A security group must be attached to the+    -- same VPC as the subnets. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+    securityGroupIds :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkConfigurationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroupIds', 'updateNetworkConfigurationInput_securityGroupIds' - A list of security group IDs. A security group must be attached to the+-- same VPC as the subnets. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+newUpdateNetworkConfigurationInput ::+  -- | 'securityGroupIds'+  Prelude.NonEmpty Prelude.Text ->+  UpdateNetworkConfigurationInput+newUpdateNetworkConfigurationInput pSecurityGroupIds_ =+  UpdateNetworkConfigurationInput'+    { securityGroupIds =+        Lens.coerced Lens.# pSecurityGroupIds_+    }++-- | A list of security group IDs. A security group must be attached to the+-- same VPC as the subnets. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html Security in your VPC on Amazon MWAA>.+updateNetworkConfigurationInput_securityGroupIds :: Lens.Lens' UpdateNetworkConfigurationInput (Prelude.NonEmpty Prelude.Text)+updateNetworkConfigurationInput_securityGroupIds = Lens.lens (\UpdateNetworkConfigurationInput' {securityGroupIds} -> securityGroupIds) (\s@UpdateNetworkConfigurationInput' {} a -> s {securityGroupIds = a} :: UpdateNetworkConfigurationInput) Prelude.. Lens.coerced++instance+  Prelude.Hashable+    UpdateNetworkConfigurationInput+  where+  hashWithSalt+    _salt+    UpdateNetworkConfigurationInput' {..} =+      _salt `Prelude.hashWithSalt` securityGroupIds++instance+  Prelude.NFData+    UpdateNetworkConfigurationInput+  where+  rnf UpdateNetworkConfigurationInput' {..} =+    Prelude.rnf securityGroupIds++instance Data.ToJSON UpdateNetworkConfigurationInput where+  toJSON UpdateNetworkConfigurationInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("SecurityGroupIds" Data..= securityGroupIds)+          ]+      )
+ gen/Amazonka/MwAA/Types/UpdateStatus.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.MwAA.Types.UpdateStatus+-- 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.MwAA.Types.UpdateStatus+  ( UpdateStatus+      ( ..,+        UpdateStatus_FAILED,+        UpdateStatus_PENDING,+        UpdateStatus_SUCCESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UpdateStatus = UpdateStatus'+  { fromUpdateStatus ::+      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 UpdateStatus_FAILED :: UpdateStatus+pattern UpdateStatus_FAILED = UpdateStatus' "FAILED"++pattern UpdateStatus_PENDING :: UpdateStatus+pattern UpdateStatus_PENDING = UpdateStatus' "PENDING"++pattern UpdateStatus_SUCCESS :: UpdateStatus+pattern UpdateStatus_SUCCESS = UpdateStatus' "SUCCESS"++{-# COMPLETE+  UpdateStatus_FAILED,+  UpdateStatus_PENDING,+  UpdateStatus_SUCCESS,+  UpdateStatus'+  #-}
+ gen/Amazonka/MwAA/Types/WebserverAccessMode.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.MwAA.Types.WebserverAccessMode+-- 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.MwAA.Types.WebserverAccessMode+  ( WebserverAccessMode+      ( ..,+        WebserverAccessMode_PRIVATE_ONLY,+        WebserverAccessMode_PUBLIC_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WebserverAccessMode = WebserverAccessMode'+  { fromWebserverAccessMode ::+      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 WebserverAccessMode_PRIVATE_ONLY :: WebserverAccessMode+pattern WebserverAccessMode_PRIVATE_ONLY = WebserverAccessMode' "PRIVATE_ONLY"++pattern WebserverAccessMode_PUBLIC_ONLY :: WebserverAccessMode+pattern WebserverAccessMode_PUBLIC_ONLY = WebserverAccessMode' "PUBLIC_ONLY"++{-# COMPLETE+  WebserverAccessMode_PRIVATE_ONLY,+  WebserverAccessMode_PUBLIC_ONLY,+  WebserverAccessMode'+  #-}
+ gen/Amazonka/MwAA/UntagResource.hs view
@@ -0,0 +1,172 @@+{-# 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.MwAA.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes key-value tag pairs associated to your Amazon Managed Workflows+-- for Apache Airflow (MWAA) environment. For example,+-- @\"Environment\": \"Staging\"@.+module Amazonka.MwAA.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+    -- example,+    -- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+    resourceArn :: Prelude.Text,+    -- | The key-value tag pair you want to remove. For example,+    -- @\"Environment\": \"Staging\"@.+    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 Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+--+-- 'tagKeys', 'untagResource_tagKeys' - The key-value tag pair you want to remove. For example,+-- @\"Environment\": \"Staging\"@.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The key-value tag pair you want to remove. For example,+-- @\"Environment\": \"Staging\"@.+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.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/UpdateEnvironment.hs view
@@ -0,0 +1,545 @@+{-# 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.MwAA.UpdateEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an Amazon Managed Workflows for Apache Airflow (MWAA)+-- environment.+module Amazonka.MwAA.UpdateEnvironment+  ( -- * Creating a Request+    UpdateEnvironment (..),+    newUpdateEnvironment,++    -- * Request Lenses+    updateEnvironment_airflowConfigurationOptions,+    updateEnvironment_airflowVersion,+    updateEnvironment_dagS3Path,+    updateEnvironment_environmentClass,+    updateEnvironment_executionRoleArn,+    updateEnvironment_loggingConfiguration,+    updateEnvironment_maxWorkers,+    updateEnvironment_minWorkers,+    updateEnvironment_networkConfiguration,+    updateEnvironment_pluginsS3ObjectVersion,+    updateEnvironment_pluginsS3Path,+    updateEnvironment_requirementsS3ObjectVersion,+    updateEnvironment_requirementsS3Path,+    updateEnvironment_schedulers,+    updateEnvironment_sourceBucketArn,+    updateEnvironment_webserverAccessMode,+    updateEnvironment_weeklyMaintenanceWindowStart,+    updateEnvironment_name,++    -- * Destructuring the Response+    UpdateEnvironmentResponse (..),+    newUpdateEnvironmentResponse,++    -- * Response Lenses+    updateEnvironmentResponse_arn,+    updateEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateEnvironment' smart constructor.+data UpdateEnvironment = UpdateEnvironment'+  { -- | A list of key-value pairs containing the Apache Airflow configuration+    -- options you want to attach to your environment. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+    airflowConfigurationOptions :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))),+    -- | The Apache Airflow version for your environment. If no value is+    -- specified, defaults to the latest version. Valid values: @1.10.12@,+    -- @2.0.2@, @2.2.2@, and @2.4.3@.+    airflowVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the DAGs folder on your Amazon S3 bucket. For+    -- example, @dags@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+    dagS3Path :: Prelude.Maybe Prelude.Text,+    -- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+    -- @mw1.large@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+    environmentClass :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the execution role in IAM that allows+    -- MWAA to access Amazon Web Services resources in your environment. For+    -- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Apache Airflow log types to send to CloudWatch Logs.+    loggingConfiguration :: Prelude.Maybe LoggingConfigurationInput,+    -- | The maximum number of workers that you want to run in your environment.+    -- MWAA scales the number of Apache Airflow workers up to the number you+    -- specify in the @MaxWorkers@ field. For example, @20@. When there are no+    -- more tasks running, and no more in the queue, MWAA disposes of the extra+    -- workers leaving the one worker that is included with your environment,+    -- or the number you specify in @MinWorkers@.+    maxWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The minimum number of workers that you want to run in your environment.+    -- MWAA scales the number of Apache Airflow workers up to the number you+    -- specify in the @MaxWorkers@ field. When there are no more tasks running,+    -- and no more in the queue, MWAA disposes of the extra workers leaving the+    -- worker count you specify in the @MinWorkers@ field. For example, @2@.+    minWorkers :: Prelude.Maybe Prelude.Natural,+    -- | The VPC networking components used to secure and enable network traffic+    -- between the Amazon Web Services resources for your environment. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+    networkConfiguration :: Prelude.Maybe UpdateNetworkConfigurationInput,+    -- | The version of the plugins.zip file on your Amazon S3 bucket. A version+    -- must be specified each time a plugins.zip file is updated. To learn+    -- more, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+    pluginsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+    -- For example, @plugins.zip@. If specified, then the plugins.zip version+    -- is required. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+    pluginsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The version of the requirements.txt file on your Amazon S3 bucket. A+    -- version must be specified each time a requirements.txt file is updated.+    -- To learn more, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+    requirementsS3ObjectVersion :: Prelude.Maybe Prelude.Text,+    -- | The relative path to the @requirements.txt@ file on your Amazon S3+    -- bucket. For example, @requirements.txt@. If specified, then a file+    -- version is required. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+    requirementsS3Path :: Prelude.Maybe Prelude.Text,+    -- | The number of Apache Airflow schedulers to run in your Amazon MWAA+    -- environment.+    schedulers :: Prelude.Maybe Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+    -- code and supporting files are stored. For example,+    -- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+    sourceBucketArn :: Prelude.Maybe Prelude.Text,+    -- | The Apache Airflow /Web server/ access mode. To learn more, see+    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+    webserverAccessMode :: Prelude.Maybe WebserverAccessMode,+    -- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+    -- standard time to start weekly maintenance updates of your environment in+    -- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+    -- specify a start time in 30 minute increments only.+    weeklyMaintenanceWindowStart :: Prelude.Maybe Prelude.Text,+    -- | The name of your Amazon MWAA environment. For example,+    -- @MyMWAAEnvironment@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'airflowConfigurationOptions', 'updateEnvironment_airflowConfigurationOptions' - A list of key-value pairs containing the Apache Airflow configuration+-- options you want to attach to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+--+-- 'airflowVersion', 'updateEnvironment_airflowVersion' - The Apache Airflow version for your environment. If no value is+-- specified, defaults to the latest version. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@.+--+-- 'dagS3Path', 'updateEnvironment_dagS3Path' - The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+--+-- 'environmentClass', 'updateEnvironment_environmentClass' - The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+--+-- 'executionRoleArn', 'updateEnvironment_executionRoleArn' - The Amazon Resource Name (ARN) of the execution role in IAM that allows+-- MWAA to access Amazon Web Services resources in your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+--+-- 'loggingConfiguration', 'updateEnvironment_loggingConfiguration' - The Apache Airflow log types to send to CloudWatch Logs.+--+-- 'maxWorkers', 'updateEnvironment_maxWorkers' - The maximum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. For example, @20@. When there are no+-- more tasks running, and no more in the queue, MWAA disposes of the extra+-- workers leaving the one worker that is included with your environment,+-- or the number you specify in @MinWorkers@.+--+-- 'minWorkers', 'updateEnvironment_minWorkers' - The minimum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. When there are no more tasks running,+-- and no more in the queue, MWAA disposes of the extra workers leaving the+-- worker count you specify in the @MinWorkers@ field. For example, @2@.+--+-- 'networkConfiguration', 'updateEnvironment_networkConfiguration' - The VPC networking components used to secure and enable network traffic+-- between the Amazon Web Services resources for your environment. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+--+-- 'pluginsS3ObjectVersion', 'updateEnvironment_pluginsS3ObjectVersion' - The version of the plugins.zip file on your Amazon S3 bucket. A version+-- must be specified each time a plugins.zip file is updated. To learn+-- more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+--+-- 'pluginsS3Path', 'updateEnvironment_pluginsS3Path' - The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. If specified, then the plugins.zip version+-- is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+--+-- 'requirementsS3ObjectVersion', 'updateEnvironment_requirementsS3ObjectVersion' - The version of the requirements.txt file on your Amazon S3 bucket. A+-- version must be specified each time a requirements.txt file is updated.+-- To learn more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+--+-- 'requirementsS3Path', 'updateEnvironment_requirementsS3Path' - The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. If specified, then a file+-- version is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+--+-- 'schedulers', 'updateEnvironment_schedulers' - The number of Apache Airflow schedulers to run in your Amazon MWAA+-- environment.+--+-- 'sourceBucketArn', 'updateEnvironment_sourceBucketArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+--+-- 'webserverAccessMode', 'updateEnvironment_webserverAccessMode' - The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+--+-- 'weeklyMaintenanceWindowStart', 'updateEnvironment_weeklyMaintenanceWindowStart' - The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time to start weekly maintenance updates of your environment in+-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+-- specify a start time in 30 minute increments only.+--+-- 'name', 'updateEnvironment_name' - The name of your Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+newUpdateEnvironment ::+  -- | 'name'+  Prelude.Text ->+  UpdateEnvironment+newUpdateEnvironment pName_ =+  UpdateEnvironment'+    { airflowConfigurationOptions =+        Prelude.Nothing,+      airflowVersion = Prelude.Nothing,+      dagS3Path = Prelude.Nothing,+      environmentClass = Prelude.Nothing,+      executionRoleArn = Prelude.Nothing,+      loggingConfiguration = Prelude.Nothing,+      maxWorkers = Prelude.Nothing,+      minWorkers = Prelude.Nothing,+      networkConfiguration = Prelude.Nothing,+      pluginsS3ObjectVersion = Prelude.Nothing,+      pluginsS3Path = Prelude.Nothing,+      requirementsS3ObjectVersion = Prelude.Nothing,+      requirementsS3Path = Prelude.Nothing,+      schedulers = Prelude.Nothing,+      sourceBucketArn = Prelude.Nothing,+      webserverAccessMode = Prelude.Nothing,+      weeklyMaintenanceWindowStart = Prelude.Nothing,+      name = pName_+    }++-- | A list of key-value pairs containing the Apache Airflow configuration+-- options you want to attach to your environment. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.+updateEnvironment_airflowConfigurationOptions :: Lens.Lens' UpdateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateEnvironment_airflowConfigurationOptions = Lens.lens (\UpdateEnvironment' {airflowConfigurationOptions} -> airflowConfigurationOptions) (\s@UpdateEnvironment' {} a -> s {airflowConfigurationOptions = a} :: UpdateEnvironment) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The Apache Airflow version for your environment. If no value is+-- specified, defaults to the latest version. Valid values: @1.10.12@,+-- @2.0.2@, @2.2.2@, and @2.4.3@.+updateEnvironment_airflowVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_airflowVersion = Lens.lens (\UpdateEnvironment' {airflowVersion} -> airflowVersion) (\s@UpdateEnvironment' {} a -> s {airflowVersion = a} :: UpdateEnvironment)++-- | The relative path to the DAGs folder on your Amazon S3 bucket. For+-- example, @dags@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.+updateEnvironment_dagS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_dagS3Path = Lens.lens (\UpdateEnvironment' {dagS3Path} -> dagS3Path) (\s@UpdateEnvironment' {} a -> s {dagS3Path = a} :: UpdateEnvironment)++-- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,+-- @mw1.large@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.+updateEnvironment_environmentClass :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_environmentClass = Lens.lens (\UpdateEnvironment' {environmentClass} -> environmentClass) (\s@UpdateEnvironment' {} a -> s {environmentClass = a} :: UpdateEnvironment)++-- | The Amazon Resource Name (ARN) of the execution role in IAM that allows+-- MWAA to access Amazon Web Services resources in your environment. For+-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.+updateEnvironment_executionRoleArn :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_executionRoleArn = Lens.lens (\UpdateEnvironment' {executionRoleArn} -> executionRoleArn) (\s@UpdateEnvironment' {} a -> s {executionRoleArn = a} :: UpdateEnvironment)++-- | The Apache Airflow log types to send to CloudWatch Logs.+updateEnvironment_loggingConfiguration :: Lens.Lens' UpdateEnvironment (Prelude.Maybe LoggingConfigurationInput)+updateEnvironment_loggingConfiguration = Lens.lens (\UpdateEnvironment' {loggingConfiguration} -> loggingConfiguration) (\s@UpdateEnvironment' {} a -> s {loggingConfiguration = a} :: UpdateEnvironment)++-- | The maximum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. For example, @20@. When there are no+-- more tasks running, and no more in the queue, MWAA disposes of the extra+-- workers leaving the one worker that is included with your environment,+-- or the number you specify in @MinWorkers@.+updateEnvironment_maxWorkers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Natural)+updateEnvironment_maxWorkers = Lens.lens (\UpdateEnvironment' {maxWorkers} -> maxWorkers) (\s@UpdateEnvironment' {} a -> s {maxWorkers = a} :: UpdateEnvironment)++-- | The minimum number of workers that you want to run in your environment.+-- MWAA scales the number of Apache Airflow workers up to the number you+-- specify in the @MaxWorkers@ field. When there are no more tasks running,+-- and no more in the queue, MWAA disposes of the extra workers leaving the+-- worker count you specify in the @MinWorkers@ field. For example, @2@.+updateEnvironment_minWorkers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Natural)+updateEnvironment_minWorkers = Lens.lens (\UpdateEnvironment' {minWorkers} -> minWorkers) (\s@UpdateEnvironment' {} a -> s {minWorkers = a} :: UpdateEnvironment)++-- | The VPC networking components used to secure and enable network traffic+-- between the Amazon Web Services resources for your environment. To learn+-- more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.+updateEnvironment_networkConfiguration :: Lens.Lens' UpdateEnvironment (Prelude.Maybe UpdateNetworkConfigurationInput)+updateEnvironment_networkConfiguration = Lens.lens (\UpdateEnvironment' {networkConfiguration} -> networkConfiguration) (\s@UpdateEnvironment' {} a -> s {networkConfiguration = a} :: UpdateEnvironment)++-- | The version of the plugins.zip file on your Amazon S3 bucket. A version+-- must be specified each time a plugins.zip file is updated. To learn+-- more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+updateEnvironment_pluginsS3ObjectVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_pluginsS3ObjectVersion = Lens.lens (\UpdateEnvironment' {pluginsS3ObjectVersion} -> pluginsS3ObjectVersion) (\s@UpdateEnvironment' {} a -> s {pluginsS3ObjectVersion = a} :: UpdateEnvironment)++-- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.+-- For example, @plugins.zip@. If specified, then the plugins.zip version+-- is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.+updateEnvironment_pluginsS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_pluginsS3Path = Lens.lens (\UpdateEnvironment' {pluginsS3Path} -> pluginsS3Path) (\s@UpdateEnvironment' {} a -> s {pluginsS3Path = a} :: UpdateEnvironment)++-- | The version of the requirements.txt file on your Amazon S3 bucket. A+-- version must be specified each time a requirements.txt file is updated.+-- To learn more, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.+updateEnvironment_requirementsS3ObjectVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_requirementsS3ObjectVersion = Lens.lens (\UpdateEnvironment' {requirementsS3ObjectVersion} -> requirementsS3ObjectVersion) (\s@UpdateEnvironment' {} a -> s {requirementsS3ObjectVersion = a} :: UpdateEnvironment)++-- | The relative path to the @requirements.txt@ file on your Amazon S3+-- bucket. For example, @requirements.txt@. If specified, then a file+-- version is required. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.+updateEnvironment_requirementsS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_requirementsS3Path = Lens.lens (\UpdateEnvironment' {requirementsS3Path} -> requirementsS3Path) (\s@UpdateEnvironment' {} a -> s {requirementsS3Path = a} :: UpdateEnvironment)++-- | The number of Apache Airflow schedulers to run in your Amazon MWAA+-- environment.+updateEnvironment_schedulers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Int)+updateEnvironment_schedulers = Lens.lens (\UpdateEnvironment' {schedulers} -> schedulers) (\s@UpdateEnvironment' {} a -> s {schedulers = a} :: UpdateEnvironment)++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG+-- code and supporting files are stored. For example,+-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.+updateEnvironment_sourceBucketArn :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_sourceBucketArn = Lens.lens (\UpdateEnvironment' {sourceBucketArn} -> sourceBucketArn) (\s@UpdateEnvironment' {} a -> s {sourceBucketArn = a} :: UpdateEnvironment)++-- | The Apache Airflow /Web server/ access mode. To learn more, see+-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.+updateEnvironment_webserverAccessMode :: Lens.Lens' UpdateEnvironment (Prelude.Maybe WebserverAccessMode)+updateEnvironment_webserverAccessMode = Lens.lens (\UpdateEnvironment' {webserverAccessMode} -> webserverAccessMode) (\s@UpdateEnvironment' {} a -> s {webserverAccessMode = a} :: UpdateEnvironment)++-- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour+-- standard time to start weekly maintenance updates of your environment in+-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can+-- specify a start time in 30 minute increments only.+updateEnvironment_weeklyMaintenanceWindowStart :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_weeklyMaintenanceWindowStart = Lens.lens (\UpdateEnvironment' {weeklyMaintenanceWindowStart} -> weeklyMaintenanceWindowStart) (\s@UpdateEnvironment' {} a -> s {weeklyMaintenanceWindowStart = a} :: UpdateEnvironment)++-- | The name of your Amazon MWAA environment. For example,+-- @MyMWAAEnvironment@.+updateEnvironment_name :: Lens.Lens' UpdateEnvironment Prelude.Text+updateEnvironment_name = Lens.lens (\UpdateEnvironment' {name} -> name) (\s@UpdateEnvironment' {} a -> s {name = a} :: UpdateEnvironment)++instance Core.AWSRequest UpdateEnvironment where+  type+    AWSResponse UpdateEnvironment =+      UpdateEnvironmentResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateEnvironmentResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateEnvironment where+  hashWithSalt _salt UpdateEnvironment' {..} =+    _salt+      `Prelude.hashWithSalt` airflowConfigurationOptions+      `Prelude.hashWithSalt` airflowVersion+      `Prelude.hashWithSalt` dagS3Path+      `Prelude.hashWithSalt` environmentClass+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` loggingConfiguration+      `Prelude.hashWithSalt` maxWorkers+      `Prelude.hashWithSalt` minWorkers+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` pluginsS3ObjectVersion+      `Prelude.hashWithSalt` pluginsS3Path+      `Prelude.hashWithSalt` requirementsS3ObjectVersion+      `Prelude.hashWithSalt` requirementsS3Path+      `Prelude.hashWithSalt` schedulers+      `Prelude.hashWithSalt` sourceBucketArn+      `Prelude.hashWithSalt` webserverAccessMode+      `Prelude.hashWithSalt` weeklyMaintenanceWindowStart+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateEnvironment where+  rnf UpdateEnvironment' {..} =+    Prelude.rnf airflowConfigurationOptions+      `Prelude.seq` Prelude.rnf airflowVersion+      `Prelude.seq` Prelude.rnf dagS3Path+      `Prelude.seq` Prelude.rnf environmentClass+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf loggingConfiguration+      `Prelude.seq` Prelude.rnf maxWorkers+      `Prelude.seq` Prelude.rnf minWorkers+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf pluginsS3ObjectVersion+      `Prelude.seq` Prelude.rnf pluginsS3Path+      `Prelude.seq` Prelude.rnf requirementsS3ObjectVersion+      `Prelude.seq` Prelude.rnf requirementsS3Path+      `Prelude.seq` Prelude.rnf schedulers+      `Prelude.seq` Prelude.rnf sourceBucketArn+      `Prelude.seq` Prelude.rnf webserverAccessMode+      `Prelude.seq` Prelude.rnf+        weeklyMaintenanceWindowStart+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateEnvironment where+  toJSON UpdateEnvironment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AirflowConfigurationOptions" Data..=)+              Prelude.<$> airflowConfigurationOptions,+            ("AirflowVersion" Data..=)+              Prelude.<$> airflowVersion,+            ("DagS3Path" Data..=) Prelude.<$> dagS3Path,+            ("EnvironmentClass" Data..=)+              Prelude.<$> environmentClass,+            ("ExecutionRoleArn" Data..=)+              Prelude.<$> executionRoleArn,+            ("LoggingConfiguration" Data..=)+              Prelude.<$> loggingConfiguration,+            ("MaxWorkers" Data..=) Prelude.<$> maxWorkers,+            ("MinWorkers" Data..=) Prelude.<$> minWorkers,+            ("NetworkConfiguration" Data..=)+              Prelude.<$> networkConfiguration,+            ("PluginsS3ObjectVersion" Data..=)+              Prelude.<$> pluginsS3ObjectVersion,+            ("PluginsS3Path" Data..=) Prelude.<$> pluginsS3Path,+            ("RequirementsS3ObjectVersion" Data..=)+              Prelude.<$> requirementsS3ObjectVersion,+            ("RequirementsS3Path" Data..=)+              Prelude.<$> requirementsS3Path,+            ("Schedulers" Data..=) Prelude.<$> schedulers,+            ("SourceBucketArn" Data..=)+              Prelude.<$> sourceBucketArn,+            ("WebserverAccessMode" Data..=)+              Prelude.<$> webserverAccessMode,+            ("WeeklyMaintenanceWindowStart" Data..=)+              Prelude.<$> weeklyMaintenanceWindowStart+          ]+      )++instance Data.ToPath UpdateEnvironment where+  toPath UpdateEnvironment' {..} =+    Prelude.mconcat ["/environments/", Data.toBS name]++instance Data.ToQuery UpdateEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateEnvironmentResponse' smart constructor.+data UpdateEnvironmentResponse = UpdateEnvironmentResponse'+  { -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+    -- example,+    -- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEnvironmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateEnvironmentResponse_arn' - The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+--+-- 'httpStatus', 'updateEnvironmentResponse_httpStatus' - The response's http status code.+newUpdateEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateEnvironmentResponse+newUpdateEnvironmentResponse pHttpStatus_ =+  UpdateEnvironmentResponse'+    { arn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For+-- example,+-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.+updateEnvironmentResponse_arn :: Lens.Lens' UpdateEnvironmentResponse (Prelude.Maybe Prelude.Text)+updateEnvironmentResponse_arn = Lens.lens (\UpdateEnvironmentResponse' {arn} -> arn) (\s@UpdateEnvironmentResponse' {} a -> s {arn = a} :: UpdateEnvironmentResponse)++-- | The response's http status code.+updateEnvironmentResponse_httpStatus :: Lens.Lens' UpdateEnvironmentResponse Prelude.Int+updateEnvironmentResponse_httpStatus = Lens.lens (\UpdateEnvironmentResponse' {httpStatus} -> httpStatus) (\s@UpdateEnvironmentResponse' {} a -> s {httpStatus = a} :: UpdateEnvironmentResponse)++instance Prelude.NFData UpdateEnvironmentResponse where+  rnf UpdateEnvironmentResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MwAA/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.MwAA.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.MwAA.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MwAA.Lens+import Amazonka.MwAA.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.MwAA+import Test.Amazonka.MwAA.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "MwAA"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/MwAA.hs view
@@ -0,0 +1,258 @@+{-# 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.MwAA+-- 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.MwAA where++import Amazonka.MwAA+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MwAA.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateCliToken $+--             newCreateCliToken+--+--         , requestCreateEnvironment $+--             newCreateEnvironment+--+--         , requestCreateWebLoginToken $+--             newCreateWebLoginToken+--+--         , requestDeleteEnvironment $+--             newDeleteEnvironment+--+--         , requestGetEnvironment $+--             newGetEnvironment+--+--         , requestListEnvironments $+--             newListEnvironments+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPublishMetrics $+--             newPublishMetrics+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateEnvironment $+--             newUpdateEnvironment+--+--           ]++--     , testGroup "response"+--         [ responseCreateCliToken $+--             newCreateCliTokenResponse+--+--         , responseCreateEnvironment $+--             newCreateEnvironmentResponse+--+--         , responseCreateWebLoginToken $+--             newCreateWebLoginTokenResponse+--+--         , responseDeleteEnvironment $+--             newDeleteEnvironmentResponse+--+--         , responseGetEnvironment $+--             newGetEnvironmentResponse+--+--         , responseListEnvironments $+--             newListEnvironmentsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePublishMetrics $+--             newPublishMetricsResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateEnvironment $+--             newUpdateEnvironmentResponse+--+--           ]+--     ]++-- Requests++requestCreateCliToken :: CreateCliToken -> TestTree+requestCreateCliToken =+  req+    "CreateCliToken"+    "fixture/CreateCliToken.yaml"++requestCreateEnvironment :: CreateEnvironment -> TestTree+requestCreateEnvironment =+  req+    "CreateEnvironment"+    "fixture/CreateEnvironment.yaml"++requestCreateWebLoginToken :: CreateWebLoginToken -> TestTree+requestCreateWebLoginToken =+  req+    "CreateWebLoginToken"+    "fixture/CreateWebLoginToken.yaml"++requestDeleteEnvironment :: DeleteEnvironment -> TestTree+requestDeleteEnvironment =+  req+    "DeleteEnvironment"+    "fixture/DeleteEnvironment.yaml"++requestGetEnvironment :: GetEnvironment -> TestTree+requestGetEnvironment =+  req+    "GetEnvironment"+    "fixture/GetEnvironment.yaml"++requestListEnvironments :: ListEnvironments -> TestTree+requestListEnvironments =+  req+    "ListEnvironments"+    "fixture/ListEnvironments.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPublishMetrics :: PublishMetrics -> TestTree+requestPublishMetrics =+  req+    "PublishMetrics"+    "fixture/PublishMetrics.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateEnvironment :: UpdateEnvironment -> TestTree+requestUpdateEnvironment =+  req+    "UpdateEnvironment"+    "fixture/UpdateEnvironment.yaml"++-- Responses++responseCreateCliToken :: CreateCliTokenResponse -> TestTree+responseCreateCliToken =+  res+    "CreateCliTokenResponse"+    "fixture/CreateCliTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateCliToken)++responseCreateEnvironment :: CreateEnvironmentResponse -> TestTree+responseCreateEnvironment =+  res+    "CreateEnvironmentResponse"+    "fixture/CreateEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateEnvironment)++responseCreateWebLoginToken :: CreateWebLoginTokenResponse -> TestTree+responseCreateWebLoginToken =+  res+    "CreateWebLoginTokenResponse"+    "fixture/CreateWebLoginTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWebLoginToken)++responseDeleteEnvironment :: DeleteEnvironmentResponse -> TestTree+responseDeleteEnvironment =+  res+    "DeleteEnvironmentResponse"+    "fixture/DeleteEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEnvironment)++responseGetEnvironment :: GetEnvironmentResponse -> TestTree+responseGetEnvironment =+  res+    "GetEnvironmentResponse"+    "fixture/GetEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEnvironment)++responseListEnvironments :: ListEnvironmentsResponse -> TestTree+responseListEnvironments =+  res+    "ListEnvironmentsResponse"+    "fixture/ListEnvironmentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEnvironments)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePublishMetrics :: PublishMetricsResponse -> TestTree+responsePublishMetrics =+  res+    "PublishMetricsResponse"+    "fixture/PublishMetricsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PublishMetrics)++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)++responseUpdateEnvironment :: UpdateEnvironmentResponse -> TestTree+responseUpdateEnvironment =+  res+    "UpdateEnvironmentResponse"+    "fixture/UpdateEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateEnvironment)
+ test/Test/Amazonka/MwAA.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.MwAA+-- 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.MwAA+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MwAA/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.MwAA.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.MwAA.Internal where