packages feed

amazonka-neptune (empty) → 2.0

raw patch · 269 files changed

+35613/−0 lines, 269 filesdep +amazonka-coredep +amazonka-neptunedep +amazonka-test

Dependencies added: amazonka-core, amazonka-neptune, 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 Neptune SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2014-10-31@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-neptune)+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.Neptune](http://hackage.haskell.org/package/amazonka-neptune/docs/Amazonka-Neptune.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-neptune` 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-neptune.cabal view
@@ -0,0 +1,202 @@+cabal-version:      2.2+name:               amazonka-neptune+version:            2.0+synopsis:           Amazon Neptune 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 @2014-10-31@ 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.Neptune.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.Neptune" 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-neptune++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.Neptune+    Amazonka.Neptune.AddRoleToDBCluster+    Amazonka.Neptune.AddSourceIdentifierToSubscription+    Amazonka.Neptune.AddTagsToResource+    Amazonka.Neptune.ApplyPendingMaintenanceAction+    Amazonka.Neptune.CopyDBClusterParameterGroup+    Amazonka.Neptune.CopyDBClusterSnapshot+    Amazonka.Neptune.CopyDBParameterGroup+    Amazonka.Neptune.CreateDBCluster+    Amazonka.Neptune.CreateDBClusterEndpoint+    Amazonka.Neptune.CreateDBClusterParameterGroup+    Amazonka.Neptune.CreateDBClusterSnapshot+    Amazonka.Neptune.CreateDBInstance+    Amazonka.Neptune.CreateDBParameterGroup+    Amazonka.Neptune.CreateDBSubnetGroup+    Amazonka.Neptune.CreateEventSubscription+    Amazonka.Neptune.CreateGlobalCluster+    Amazonka.Neptune.DeleteDBCluster+    Amazonka.Neptune.DeleteDBClusterEndpoint+    Amazonka.Neptune.DeleteDBClusterParameterGroup+    Amazonka.Neptune.DeleteDBClusterSnapshot+    Amazonka.Neptune.DeleteDBInstance+    Amazonka.Neptune.DeleteDBParameterGroup+    Amazonka.Neptune.DeleteDBSubnetGroup+    Amazonka.Neptune.DeleteEventSubscription+    Amazonka.Neptune.DeleteGlobalCluster+    Amazonka.Neptune.DescribeDBClusterEndpoints+    Amazonka.Neptune.DescribeDBClusterParameterGroups+    Amazonka.Neptune.DescribeDBClusterParameters+    Amazonka.Neptune.DescribeDBClusters+    Amazonka.Neptune.DescribeDBClusterSnapshotAttributes+    Amazonka.Neptune.DescribeDBClusterSnapshots+    Amazonka.Neptune.DescribeDBEngineVersions+    Amazonka.Neptune.DescribeDBInstances+    Amazonka.Neptune.DescribeDBParameterGroups+    Amazonka.Neptune.DescribeDBParameters+    Amazonka.Neptune.DescribeDBSubnetGroups+    Amazonka.Neptune.DescribeEngineDefaultClusterParameters+    Amazonka.Neptune.DescribeEngineDefaultParameters+    Amazonka.Neptune.DescribeEventCategories+    Amazonka.Neptune.DescribeEvents+    Amazonka.Neptune.DescribeEventSubscriptions+    Amazonka.Neptune.DescribeGlobalClusters+    Amazonka.Neptune.DescribeOrderableDBInstanceOptions+    Amazonka.Neptune.DescribePendingMaintenanceActions+    Amazonka.Neptune.DescribeValidDBInstanceModifications+    Amazonka.Neptune.FailoverDBCluster+    Amazonka.Neptune.FailoverGlobalCluster+    Amazonka.Neptune.Lens+    Amazonka.Neptune.ListTagsForResource+    Amazonka.Neptune.ModifyDBCluster+    Amazonka.Neptune.ModifyDBClusterEndpoint+    Amazonka.Neptune.ModifyDBClusterParameterGroup+    Amazonka.Neptune.ModifyDBClusterSnapshotAttribute+    Amazonka.Neptune.ModifyDBInstance+    Amazonka.Neptune.ModifyDBParameterGroup+    Amazonka.Neptune.ModifyDBSubnetGroup+    Amazonka.Neptune.ModifyEventSubscription+    Amazonka.Neptune.ModifyGlobalCluster+    Amazonka.Neptune.PromoteReadReplicaDBCluster+    Amazonka.Neptune.RebootDBInstance+    Amazonka.Neptune.RemoveFromGlobalCluster+    Amazonka.Neptune.RemoveRoleFromDBCluster+    Amazonka.Neptune.RemoveSourceIdentifierFromSubscription+    Amazonka.Neptune.RemoveTagsFromResource+    Amazonka.Neptune.ResetDBClusterParameterGroup+    Amazonka.Neptune.ResetDBParameterGroup+    Amazonka.Neptune.RestoreDBClusterFromSnapshot+    Amazonka.Neptune.RestoreDBClusterToPointInTime+    Amazonka.Neptune.StartDBCluster+    Amazonka.Neptune.StopDBCluster+    Amazonka.Neptune.Types+    Amazonka.Neptune.Types.ApplyMethod+    Amazonka.Neptune.Types.AvailabilityZone+    Amazonka.Neptune.Types.CharacterSet+    Amazonka.Neptune.Types.CloudwatchLogsExportConfiguration+    Amazonka.Neptune.Types.DBCluster+    Amazonka.Neptune.Types.DBClusterEndpoint+    Amazonka.Neptune.Types.DBClusterMember+    Amazonka.Neptune.Types.DBClusterOptionGroupStatus+    Amazonka.Neptune.Types.DBClusterParameterGroup+    Amazonka.Neptune.Types.DBClusterParameterGroupNameMessage+    Amazonka.Neptune.Types.DBClusterRole+    Amazonka.Neptune.Types.DBClusterSnapshot+    Amazonka.Neptune.Types.DBClusterSnapshotAttribute+    Amazonka.Neptune.Types.DBClusterSnapshotAttributesResult+    Amazonka.Neptune.Types.DBEngineVersion+    Amazonka.Neptune.Types.DBInstance+    Amazonka.Neptune.Types.DBInstanceStatusInfo+    Amazonka.Neptune.Types.DBParameterGroup+    Amazonka.Neptune.Types.DBParameterGroupNameMessage+    Amazonka.Neptune.Types.DBParameterGroupStatus+    Amazonka.Neptune.Types.DBSecurityGroupMembership+    Amazonka.Neptune.Types.DBSubnetGroup+    Amazonka.Neptune.Types.DomainMembership+    Amazonka.Neptune.Types.DoubleRange+    Amazonka.Neptune.Types.Endpoint+    Amazonka.Neptune.Types.EngineDefaults+    Amazonka.Neptune.Types.Event+    Amazonka.Neptune.Types.EventCategoriesMap+    Amazonka.Neptune.Types.EventSubscription+    Amazonka.Neptune.Types.Filter+    Amazonka.Neptune.Types.GlobalCluster+    Amazonka.Neptune.Types.GlobalClusterMember+    Amazonka.Neptune.Types.OptionGroupMembership+    Amazonka.Neptune.Types.OrderableDBInstanceOption+    Amazonka.Neptune.Types.Parameter+    Amazonka.Neptune.Types.PendingCloudwatchLogsExports+    Amazonka.Neptune.Types.PendingMaintenanceAction+    Amazonka.Neptune.Types.PendingModifiedValues+    Amazonka.Neptune.Types.Range+    Amazonka.Neptune.Types.ResourcePendingMaintenanceActions+    Amazonka.Neptune.Types.ServerlessV2ScalingConfiguration+    Amazonka.Neptune.Types.ServerlessV2ScalingConfigurationInfo+    Amazonka.Neptune.Types.SourceType+    Amazonka.Neptune.Types.Subnet+    Amazonka.Neptune.Types.Tag+    Amazonka.Neptune.Types.Timezone+    Amazonka.Neptune.Types.UpgradeTarget+    Amazonka.Neptune.Types.ValidDBInstanceModificationsMessage+    Amazonka.Neptune.Types.ValidStorageOptions+    Amazonka.Neptune.Types.VpcSecurityGroupMembership+    Amazonka.Neptune.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-neptune-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.Neptune+    Test.Amazonka.Neptune+    Test.Amazonka.Neptune.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-neptune+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AddRoleToDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/AddRoleToDBClusterResponse.proto view
+ fixture/AddSourceIdentifierToSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/AddSourceIdentifierToSubscriptionResponse.proto view
+ fixture/AddTagsToResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/AddTagsToResourceResponse.proto view
+ fixture/ApplyPendingMaintenanceAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ApplyPendingMaintenanceActionResponse.proto view
+ fixture/CopyDBClusterParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CopyDBClusterParameterGroupResponse.proto view
+ fixture/CopyDBClusterSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CopyDBClusterSnapshotResponse.proto view
+ fixture/CopyDBParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CopyDBParameterGroupResponse.proto view
+ fixture/CreateDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBClusterEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBClusterEndpointResponse.proto view
+ fixture/CreateDBClusterParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBClusterParameterGroupResponse.proto view
+ fixture/CreateDBClusterResponse.proto view
+ fixture/CreateDBClusterSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBClusterSnapshotResponse.proto view
+ fixture/CreateDBInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBInstanceResponse.proto view
+ fixture/CreateDBParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBParameterGroupResponse.proto view
+ fixture/CreateDBSubnetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateDBSubnetGroupResponse.proto view
+ fixture/CreateEventSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateEventSubscriptionResponse.proto view
+ fixture/CreateGlobalCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/CreateGlobalClusterResponse.proto view
+ fixture/DeleteDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBClusterEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBClusterEndpointResponse.proto view
+ fixture/DeleteDBClusterParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBClusterParameterGroupResponse.proto view
+ fixture/DeleteDBClusterResponse.proto view
+ fixture/DeleteDBClusterSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBClusterSnapshotResponse.proto view
+ fixture/DeleteDBInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBInstanceResponse.proto view
+ fixture/DeleteDBParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBParameterGroupResponse.proto view
+ fixture/DeleteDBSubnetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteDBSubnetGroupResponse.proto view
+ fixture/DeleteEventSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteEventSubscriptionResponse.proto view
+ fixture/DeleteGlobalCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DeleteGlobalClusterResponse.proto view
+ fixture/DescribeDBClusterEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClusterEndpointsResponse.proto view
+ fixture/DescribeDBClusterParameterGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClusterParameterGroupsResponse.proto view
+ fixture/DescribeDBClusterParameters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClusterParametersResponse.proto view
+ fixture/DescribeDBClusterSnapshotAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClusterSnapshotAttributesResponse.proto view
+ fixture/DescribeDBClusterSnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClusterSnapshotsResponse.proto view
+ fixture/DescribeDBClusters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBClustersResponse.proto view
+ fixture/DescribeDBEngineVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBEngineVersionsResponse.proto view
+ fixture/DescribeDBInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBInstancesResponse.proto view
+ fixture/DescribeDBParameterGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBParameterGroupsResponse.proto view
+ fixture/DescribeDBParameters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBParametersResponse.proto view
+ fixture/DescribeDBSubnetGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeDBSubnetGroupsResponse.proto view
+ fixture/DescribeEngineDefaultClusterParameters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeEngineDefaultClusterParametersResponse.proto view
+ fixture/DescribeEngineDefaultParameters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeEngineDefaultParametersResponse.proto view
+ fixture/DescribeEventCategories.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeEventCategoriesResponse.proto view
+ fixture/DescribeEventSubscriptions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeEventSubscriptionsResponse.proto view
+ fixture/DescribeEvents.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeEventsResponse.proto view
+ fixture/DescribeGlobalClusters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeGlobalClustersResponse.proto view
+ fixture/DescribeOrderableDBInstanceOptions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeOrderableDBInstanceOptionsResponse.proto view
+ fixture/DescribePendingMaintenanceActions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribePendingMaintenanceActionsResponse.proto view
+ fixture/DescribeValidDBInstanceModifications.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/DescribeValidDBInstanceModificationsResponse.proto view
+ fixture/FailoverDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/FailoverDBClusterResponse.proto view
+ fixture/FailoverGlobalCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/FailoverGlobalClusterResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBClusterEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBClusterEndpointResponse.proto view
+ fixture/ModifyDBClusterParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBClusterParameterGroupResponse.proto view
+ fixture/ModifyDBClusterResponse.proto view
+ fixture/ModifyDBClusterSnapshotAttribute.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBClusterSnapshotAttributeResponse.proto view
+ fixture/ModifyDBInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBInstanceResponse.proto view
+ fixture/ModifyDBParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBParameterGroupResponse.proto view
+ fixture/ModifyDBSubnetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyDBSubnetGroupResponse.proto view
+ fixture/ModifyEventSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyEventSubscriptionResponse.proto view
+ fixture/ModifyGlobalCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ModifyGlobalClusterResponse.proto view
+ fixture/PromoteReadReplicaDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/PromoteReadReplicaDBClusterResponse.proto view
+ fixture/RebootDBInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RebootDBInstanceResponse.proto view
+ fixture/RemoveFromGlobalCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RemoveFromGlobalClusterResponse.proto view
+ fixture/RemoveRoleFromDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RemoveRoleFromDBClusterResponse.proto view
+ fixture/RemoveSourceIdentifierFromSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RemoveSourceIdentifierFromSubscriptionResponse.proto view
+ fixture/RemoveTagsFromResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RemoveTagsFromResourceResponse.proto view
+ fixture/ResetDBClusterParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ResetDBClusterParameterGroupResponse.proto view
+ fixture/ResetDBParameterGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/ResetDBParameterGroupResponse.proto view
+ fixture/RestoreDBClusterFromSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RestoreDBClusterFromSnapshotResponse.proto view
+ fixture/RestoreDBClusterToPointInTime.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/RestoreDBClusterToPointInTimeResponse.proto view
+ fixture/StartDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/StartDBClusterResponse.proto view
+ fixture/StopDBCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rds.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/StopDBClusterResponse.proto view
+ gen/Amazonka/Neptune.hs view
@@ -0,0 +1,971 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Neptune+-- 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 @2014-10-31@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Neptune+--+-- Amazon Neptune is a fast, reliable, fully-managed graph database service+-- that makes it easy to build and run applications that work with highly+-- connected datasets. The core of Amazon Neptune is a purpose-built,+-- high-performance graph database engine optimized for storing billions of+-- relationships and querying the graph with milliseconds latency. Amazon+-- Neptune supports popular graph models Property Graph and W3C\'s RDF, and+-- their respective query languages Apache TinkerPop Gremlin and SPARQL,+-- allowing you to easily build queries that efficiently navigate highly+-- connected datasets. Neptune powers graph use cases such as+-- recommendation engines, fraud detection, knowledge graphs, drug+-- discovery, and network security.+--+-- This interface reference for Amazon Neptune contains documentation for a+-- programming or command line interface you can use to manage Amazon+-- Neptune. Note that Amazon Neptune is asynchronous, which means that some+-- interfaces might require techniques such as polling or callback+-- functions to determine when a command has been applied. In this+-- reference, the parameter descriptions indicate whether a command is+-- applied immediately, on the next instance reboot, or during the+-- maintenance window. The reference structure is as follows, and we list+-- following some related topics from the user guide.+module Amazonka.Neptune+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AuthorizationNotFoundFault+    _AuthorizationNotFoundFault,++    -- ** CertificateNotFoundFault+    _CertificateNotFoundFault,++    -- ** DBClusterAlreadyExistsFault+    _DBClusterAlreadyExistsFault,++    -- ** DBClusterEndpointAlreadyExistsFault+    _DBClusterEndpointAlreadyExistsFault,++    -- ** DBClusterEndpointNotFoundFault+    _DBClusterEndpointNotFoundFault,++    -- ** DBClusterEndpointQuotaExceededFault+    _DBClusterEndpointQuotaExceededFault,++    -- ** DBClusterNotFoundFault+    _DBClusterNotFoundFault,++    -- ** DBClusterParameterGroupNotFoundFault+    _DBClusterParameterGroupNotFoundFault,++    -- ** DBClusterQuotaExceededFault+    _DBClusterQuotaExceededFault,++    -- ** DBClusterRoleAlreadyExistsFault+    _DBClusterRoleAlreadyExistsFault,++    -- ** DBClusterRoleNotFoundFault+    _DBClusterRoleNotFoundFault,++    -- ** DBClusterRoleQuotaExceededFault+    _DBClusterRoleQuotaExceededFault,++    -- ** DBClusterSnapshotAlreadyExistsFault+    _DBClusterSnapshotAlreadyExistsFault,++    -- ** DBClusterSnapshotNotFoundFault+    _DBClusterSnapshotNotFoundFault,++    -- ** DBInstanceAlreadyExistsFault+    _DBInstanceAlreadyExistsFault,++    -- ** DBInstanceNotFoundFault+    _DBInstanceNotFoundFault,++    -- ** DBParameterGroupAlreadyExistsFault+    _DBParameterGroupAlreadyExistsFault,++    -- ** DBParameterGroupNotFoundFault+    _DBParameterGroupNotFoundFault,++    -- ** DBParameterGroupQuotaExceededFault+    _DBParameterGroupQuotaExceededFault,++    -- ** DBSecurityGroupNotFoundFault+    _DBSecurityGroupNotFoundFault,++    -- ** DBSnapshotAlreadyExistsFault+    _DBSnapshotAlreadyExistsFault,++    -- ** DBSnapshotNotFoundFault+    _DBSnapshotNotFoundFault,++    -- ** DBSubnetGroupAlreadyExistsFault+    _DBSubnetGroupAlreadyExistsFault,++    -- ** DBSubnetGroupDoesNotCoverEnoughAZs+    _DBSubnetGroupDoesNotCoverEnoughAZs,++    -- ** DBSubnetGroupNotFoundFault+    _DBSubnetGroupNotFoundFault,++    -- ** DBSubnetGroupQuotaExceededFault+    _DBSubnetGroupQuotaExceededFault,++    -- ** DBSubnetQuotaExceededFault+    _DBSubnetQuotaExceededFault,++    -- ** DBUpgradeDependencyFailureFault+    _DBUpgradeDependencyFailureFault,++    -- ** DomainNotFoundFault+    _DomainNotFoundFault,++    -- ** EventSubscriptionQuotaExceededFault+    _EventSubscriptionQuotaExceededFault,++    -- ** GlobalClusterAlreadyExistsFault+    _GlobalClusterAlreadyExistsFault,++    -- ** GlobalClusterNotFoundFault+    _GlobalClusterNotFoundFault,++    -- ** GlobalClusterQuotaExceededFault+    _GlobalClusterQuotaExceededFault,++    -- ** InstanceQuotaExceededFault+    _InstanceQuotaExceededFault,++    -- ** InsufficientDBClusterCapacityFault+    _InsufficientDBClusterCapacityFault,++    -- ** InsufficientDBInstanceCapacityFault+    _InsufficientDBInstanceCapacityFault,++    -- ** InsufficientStorageClusterCapacityFault+    _InsufficientStorageClusterCapacityFault,++    -- ** InvalidDBClusterEndpointStateFault+    _InvalidDBClusterEndpointStateFault,++    -- ** InvalidDBClusterSnapshotStateFault+    _InvalidDBClusterSnapshotStateFault,++    -- ** InvalidDBClusterStateFault+    _InvalidDBClusterStateFault,++    -- ** InvalidDBInstanceStateFault+    _InvalidDBInstanceStateFault,++    -- ** InvalidDBParameterGroupStateFault+    _InvalidDBParameterGroupStateFault,++    -- ** InvalidDBSecurityGroupStateFault+    _InvalidDBSecurityGroupStateFault,++    -- ** InvalidDBSnapshotStateFault+    _InvalidDBSnapshotStateFault,++    -- ** InvalidDBSubnetGroupStateFault+    _InvalidDBSubnetGroupStateFault,++    -- ** InvalidDBSubnetStateFault+    _InvalidDBSubnetStateFault,++    -- ** InvalidEventSubscriptionStateFault+    _InvalidEventSubscriptionStateFault,++    -- ** InvalidGlobalClusterStateFault+    _InvalidGlobalClusterStateFault,++    -- ** InvalidRestoreFault+    _InvalidRestoreFault,++    -- ** InvalidSubnet+    _InvalidSubnet,++    -- ** InvalidVPCNetworkStateFault+    _InvalidVPCNetworkStateFault,++    -- ** KMSKeyNotAccessibleFault+    _KMSKeyNotAccessibleFault,++    -- ** OptionGroupNotFoundFault+    _OptionGroupNotFoundFault,++    -- ** ProvisionedIopsNotAvailableInAZFault+    _ProvisionedIopsNotAvailableInAZFault,++    -- ** ResourceNotFoundFault+    _ResourceNotFoundFault,++    -- ** SNSInvalidTopicFault+    _SNSInvalidTopicFault,++    -- ** SNSNoAuthorizationFault+    _SNSNoAuthorizationFault,++    -- ** SNSTopicArnNotFoundFault+    _SNSTopicArnNotFoundFault,++    -- ** SharedSnapshotQuotaExceededFault+    _SharedSnapshotQuotaExceededFault,++    -- ** SnapshotQuotaExceededFault+    _SnapshotQuotaExceededFault,++    -- ** SourceNotFoundFault+    _SourceNotFoundFault,++    -- ** StorageQuotaExceededFault+    _StorageQuotaExceededFault,++    -- ** StorageTypeNotSupportedFault+    _StorageTypeNotSupportedFault,++    -- ** SubnetAlreadyInUse+    _SubnetAlreadyInUse,++    -- ** SubscriptionAlreadyExistFault+    _SubscriptionAlreadyExistFault,++    -- ** SubscriptionCategoryNotFoundFault+    _SubscriptionCategoryNotFoundFault,++    -- ** SubscriptionNotFoundFault+    _SubscriptionNotFoundFault,++    -- * Waiters+    -- $waiters++    -- ** DBInstanceAvailable+    newDBInstanceAvailable,++    -- ** DBInstanceDeleted+    newDBInstanceDeleted,++    -- * Operations+    -- $operations++    -- ** AddRoleToDBCluster+    AddRoleToDBCluster (AddRoleToDBCluster'),+    newAddRoleToDBCluster,+    AddRoleToDBClusterResponse (AddRoleToDBClusterResponse'),+    newAddRoleToDBClusterResponse,++    -- ** AddSourceIdentifierToSubscription+    AddSourceIdentifierToSubscription (AddSourceIdentifierToSubscription'),+    newAddSourceIdentifierToSubscription,+    AddSourceIdentifierToSubscriptionResponse (AddSourceIdentifierToSubscriptionResponse'),+    newAddSourceIdentifierToSubscriptionResponse,++    -- ** AddTagsToResource+    AddTagsToResource (AddTagsToResource'),+    newAddTagsToResource,+    AddTagsToResourceResponse (AddTagsToResourceResponse'),+    newAddTagsToResourceResponse,++    -- ** ApplyPendingMaintenanceAction+    ApplyPendingMaintenanceAction (ApplyPendingMaintenanceAction'),+    newApplyPendingMaintenanceAction,+    ApplyPendingMaintenanceActionResponse (ApplyPendingMaintenanceActionResponse'),+    newApplyPendingMaintenanceActionResponse,++    -- ** CopyDBClusterParameterGroup+    CopyDBClusterParameterGroup (CopyDBClusterParameterGroup'),+    newCopyDBClusterParameterGroup,+    CopyDBClusterParameterGroupResponse (CopyDBClusterParameterGroupResponse'),+    newCopyDBClusterParameterGroupResponse,++    -- ** CopyDBClusterSnapshot+    CopyDBClusterSnapshot (CopyDBClusterSnapshot'),+    newCopyDBClusterSnapshot,+    CopyDBClusterSnapshotResponse (CopyDBClusterSnapshotResponse'),+    newCopyDBClusterSnapshotResponse,++    -- ** CopyDBParameterGroup+    CopyDBParameterGroup (CopyDBParameterGroup'),+    newCopyDBParameterGroup,+    CopyDBParameterGroupResponse (CopyDBParameterGroupResponse'),+    newCopyDBParameterGroupResponse,++    -- ** CreateDBCluster+    CreateDBCluster (CreateDBCluster'),+    newCreateDBCluster,+    CreateDBClusterResponse (CreateDBClusterResponse'),+    newCreateDBClusterResponse,++    -- ** CreateDBClusterEndpoint+    CreateDBClusterEndpoint (CreateDBClusterEndpoint'),+    newCreateDBClusterEndpoint,+    CreateDBClusterEndpointResponse (CreateDBClusterEndpointResponse'),+    newCreateDBClusterEndpointResponse,++    -- ** CreateDBClusterParameterGroup+    CreateDBClusterParameterGroup (CreateDBClusterParameterGroup'),+    newCreateDBClusterParameterGroup,+    CreateDBClusterParameterGroupResponse (CreateDBClusterParameterGroupResponse'),+    newCreateDBClusterParameterGroupResponse,++    -- ** CreateDBClusterSnapshot+    CreateDBClusterSnapshot (CreateDBClusterSnapshot'),+    newCreateDBClusterSnapshot,+    CreateDBClusterSnapshotResponse (CreateDBClusterSnapshotResponse'),+    newCreateDBClusterSnapshotResponse,++    -- ** CreateDBInstance+    CreateDBInstance (CreateDBInstance'),+    newCreateDBInstance,+    CreateDBInstanceResponse (CreateDBInstanceResponse'),+    newCreateDBInstanceResponse,++    -- ** CreateDBParameterGroup+    CreateDBParameterGroup (CreateDBParameterGroup'),+    newCreateDBParameterGroup,+    CreateDBParameterGroupResponse (CreateDBParameterGroupResponse'),+    newCreateDBParameterGroupResponse,++    -- ** CreateDBSubnetGroup+    CreateDBSubnetGroup (CreateDBSubnetGroup'),+    newCreateDBSubnetGroup,+    CreateDBSubnetGroupResponse (CreateDBSubnetGroupResponse'),+    newCreateDBSubnetGroupResponse,++    -- ** CreateEventSubscription+    CreateEventSubscription (CreateEventSubscription'),+    newCreateEventSubscription,+    CreateEventSubscriptionResponse (CreateEventSubscriptionResponse'),+    newCreateEventSubscriptionResponse,++    -- ** CreateGlobalCluster+    CreateGlobalCluster (CreateGlobalCluster'),+    newCreateGlobalCluster,+    CreateGlobalClusterResponse (CreateGlobalClusterResponse'),+    newCreateGlobalClusterResponse,++    -- ** DeleteDBCluster+    DeleteDBCluster (DeleteDBCluster'),+    newDeleteDBCluster,+    DeleteDBClusterResponse (DeleteDBClusterResponse'),+    newDeleteDBClusterResponse,++    -- ** DeleteDBClusterEndpoint+    DeleteDBClusterEndpoint (DeleteDBClusterEndpoint'),+    newDeleteDBClusterEndpoint,+    DeleteDBClusterEndpointResponse (DeleteDBClusterEndpointResponse'),+    newDeleteDBClusterEndpointResponse,++    -- ** DeleteDBClusterParameterGroup+    DeleteDBClusterParameterGroup (DeleteDBClusterParameterGroup'),+    newDeleteDBClusterParameterGroup,+    DeleteDBClusterParameterGroupResponse (DeleteDBClusterParameterGroupResponse'),+    newDeleteDBClusterParameterGroupResponse,++    -- ** DeleteDBClusterSnapshot+    DeleteDBClusterSnapshot (DeleteDBClusterSnapshot'),+    newDeleteDBClusterSnapshot,+    DeleteDBClusterSnapshotResponse (DeleteDBClusterSnapshotResponse'),+    newDeleteDBClusterSnapshotResponse,++    -- ** DeleteDBInstance+    DeleteDBInstance (DeleteDBInstance'),+    newDeleteDBInstance,+    DeleteDBInstanceResponse (DeleteDBInstanceResponse'),+    newDeleteDBInstanceResponse,++    -- ** DeleteDBParameterGroup+    DeleteDBParameterGroup (DeleteDBParameterGroup'),+    newDeleteDBParameterGroup,+    DeleteDBParameterGroupResponse (DeleteDBParameterGroupResponse'),+    newDeleteDBParameterGroupResponse,++    -- ** DeleteDBSubnetGroup+    DeleteDBSubnetGroup (DeleteDBSubnetGroup'),+    newDeleteDBSubnetGroup,+    DeleteDBSubnetGroupResponse (DeleteDBSubnetGroupResponse'),+    newDeleteDBSubnetGroupResponse,++    -- ** DeleteEventSubscription+    DeleteEventSubscription (DeleteEventSubscription'),+    newDeleteEventSubscription,+    DeleteEventSubscriptionResponse (DeleteEventSubscriptionResponse'),+    newDeleteEventSubscriptionResponse,++    -- ** DeleteGlobalCluster+    DeleteGlobalCluster (DeleteGlobalCluster'),+    newDeleteGlobalCluster,+    DeleteGlobalClusterResponse (DeleteGlobalClusterResponse'),+    newDeleteGlobalClusterResponse,++    -- ** DescribeDBClusterEndpoints (Paginated)+    DescribeDBClusterEndpoints (DescribeDBClusterEndpoints'),+    newDescribeDBClusterEndpoints,+    DescribeDBClusterEndpointsResponse (DescribeDBClusterEndpointsResponse'),+    newDescribeDBClusterEndpointsResponse,++    -- ** DescribeDBClusterParameterGroups (Paginated)+    DescribeDBClusterParameterGroups (DescribeDBClusterParameterGroups'),+    newDescribeDBClusterParameterGroups,+    DescribeDBClusterParameterGroupsResponse (DescribeDBClusterParameterGroupsResponse'),+    newDescribeDBClusterParameterGroupsResponse,++    -- ** DescribeDBClusterParameters (Paginated)+    DescribeDBClusterParameters (DescribeDBClusterParameters'),+    newDescribeDBClusterParameters,+    DescribeDBClusterParametersResponse (DescribeDBClusterParametersResponse'),+    newDescribeDBClusterParametersResponse,++    -- ** DescribeDBClusterSnapshotAttributes+    DescribeDBClusterSnapshotAttributes (DescribeDBClusterSnapshotAttributes'),+    newDescribeDBClusterSnapshotAttributes,+    DescribeDBClusterSnapshotAttributesResponse (DescribeDBClusterSnapshotAttributesResponse'),+    newDescribeDBClusterSnapshotAttributesResponse,++    -- ** DescribeDBClusterSnapshots (Paginated)+    DescribeDBClusterSnapshots (DescribeDBClusterSnapshots'),+    newDescribeDBClusterSnapshots,+    DescribeDBClusterSnapshotsResponse (DescribeDBClusterSnapshotsResponse'),+    newDescribeDBClusterSnapshotsResponse,++    -- ** DescribeDBClusters (Paginated)+    DescribeDBClusters (DescribeDBClusters'),+    newDescribeDBClusters,+    DescribeDBClustersResponse (DescribeDBClustersResponse'),+    newDescribeDBClustersResponse,++    -- ** DescribeDBEngineVersions (Paginated)+    DescribeDBEngineVersions (DescribeDBEngineVersions'),+    newDescribeDBEngineVersions,+    DescribeDBEngineVersionsResponse (DescribeDBEngineVersionsResponse'),+    newDescribeDBEngineVersionsResponse,++    -- ** DescribeDBInstances (Paginated)+    DescribeDBInstances (DescribeDBInstances'),+    newDescribeDBInstances,+    DescribeDBInstancesResponse (DescribeDBInstancesResponse'),+    newDescribeDBInstancesResponse,++    -- ** DescribeDBParameterGroups (Paginated)+    DescribeDBParameterGroups (DescribeDBParameterGroups'),+    newDescribeDBParameterGroups,+    DescribeDBParameterGroupsResponse (DescribeDBParameterGroupsResponse'),+    newDescribeDBParameterGroupsResponse,++    -- ** DescribeDBParameters (Paginated)+    DescribeDBParameters (DescribeDBParameters'),+    newDescribeDBParameters,+    DescribeDBParametersResponse (DescribeDBParametersResponse'),+    newDescribeDBParametersResponse,++    -- ** DescribeDBSubnetGroups (Paginated)+    DescribeDBSubnetGroups (DescribeDBSubnetGroups'),+    newDescribeDBSubnetGroups,+    DescribeDBSubnetGroupsResponse (DescribeDBSubnetGroupsResponse'),+    newDescribeDBSubnetGroupsResponse,++    -- ** DescribeEngineDefaultClusterParameters+    DescribeEngineDefaultClusterParameters (DescribeEngineDefaultClusterParameters'),+    newDescribeEngineDefaultClusterParameters,+    DescribeEngineDefaultClusterParametersResponse (DescribeEngineDefaultClusterParametersResponse'),+    newDescribeEngineDefaultClusterParametersResponse,++    -- ** DescribeEngineDefaultParameters (Paginated)+    DescribeEngineDefaultParameters (DescribeEngineDefaultParameters'),+    newDescribeEngineDefaultParameters,+    DescribeEngineDefaultParametersResponse (DescribeEngineDefaultParametersResponse'),+    newDescribeEngineDefaultParametersResponse,++    -- ** DescribeEventCategories+    DescribeEventCategories (DescribeEventCategories'),+    newDescribeEventCategories,+    DescribeEventCategoriesResponse (DescribeEventCategoriesResponse'),+    newDescribeEventCategoriesResponse,++    -- ** DescribeEventSubscriptions (Paginated)+    DescribeEventSubscriptions (DescribeEventSubscriptions'),+    newDescribeEventSubscriptions,+    DescribeEventSubscriptionsResponse (DescribeEventSubscriptionsResponse'),+    newDescribeEventSubscriptionsResponse,++    -- ** DescribeEvents (Paginated)+    DescribeEvents (DescribeEvents'),+    newDescribeEvents,+    DescribeEventsResponse (DescribeEventsResponse'),+    newDescribeEventsResponse,++    -- ** DescribeGlobalClusters (Paginated)+    DescribeGlobalClusters (DescribeGlobalClusters'),+    newDescribeGlobalClusters,+    DescribeGlobalClustersResponse (DescribeGlobalClustersResponse'),+    newDescribeGlobalClustersResponse,++    -- ** DescribeOrderableDBInstanceOptions (Paginated)+    DescribeOrderableDBInstanceOptions (DescribeOrderableDBInstanceOptions'),+    newDescribeOrderableDBInstanceOptions,+    DescribeOrderableDBInstanceOptionsResponse (DescribeOrderableDBInstanceOptionsResponse'),+    newDescribeOrderableDBInstanceOptionsResponse,++    -- ** DescribePendingMaintenanceActions (Paginated)+    DescribePendingMaintenanceActions (DescribePendingMaintenanceActions'),+    newDescribePendingMaintenanceActions,+    DescribePendingMaintenanceActionsResponse (DescribePendingMaintenanceActionsResponse'),+    newDescribePendingMaintenanceActionsResponse,++    -- ** DescribeValidDBInstanceModifications+    DescribeValidDBInstanceModifications (DescribeValidDBInstanceModifications'),+    newDescribeValidDBInstanceModifications,+    DescribeValidDBInstanceModificationsResponse (DescribeValidDBInstanceModificationsResponse'),+    newDescribeValidDBInstanceModificationsResponse,++    -- ** FailoverDBCluster+    FailoverDBCluster (FailoverDBCluster'),+    newFailoverDBCluster,+    FailoverDBClusterResponse (FailoverDBClusterResponse'),+    newFailoverDBClusterResponse,++    -- ** FailoverGlobalCluster+    FailoverGlobalCluster (FailoverGlobalCluster'),+    newFailoverGlobalCluster,+    FailoverGlobalClusterResponse (FailoverGlobalClusterResponse'),+    newFailoverGlobalClusterResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ModifyDBCluster+    ModifyDBCluster (ModifyDBCluster'),+    newModifyDBCluster,+    ModifyDBClusterResponse (ModifyDBClusterResponse'),+    newModifyDBClusterResponse,++    -- ** ModifyDBClusterEndpoint+    ModifyDBClusterEndpoint (ModifyDBClusterEndpoint'),+    newModifyDBClusterEndpoint,+    ModifyDBClusterEndpointResponse (ModifyDBClusterEndpointResponse'),+    newModifyDBClusterEndpointResponse,++    -- ** ModifyDBClusterParameterGroup+    ModifyDBClusterParameterGroup (ModifyDBClusterParameterGroup'),+    newModifyDBClusterParameterGroup,+    DBClusterParameterGroupNameMessage (DBClusterParameterGroupNameMessage'),+    newDBClusterParameterGroupNameMessage,++    -- ** ModifyDBClusterSnapshotAttribute+    ModifyDBClusterSnapshotAttribute (ModifyDBClusterSnapshotAttribute'),+    newModifyDBClusterSnapshotAttribute,+    ModifyDBClusterSnapshotAttributeResponse (ModifyDBClusterSnapshotAttributeResponse'),+    newModifyDBClusterSnapshotAttributeResponse,++    -- ** ModifyDBInstance+    ModifyDBInstance (ModifyDBInstance'),+    newModifyDBInstance,+    ModifyDBInstanceResponse (ModifyDBInstanceResponse'),+    newModifyDBInstanceResponse,++    -- ** ModifyDBParameterGroup+    ModifyDBParameterGroup (ModifyDBParameterGroup'),+    newModifyDBParameterGroup,+    DBParameterGroupNameMessage (DBParameterGroupNameMessage'),+    newDBParameterGroupNameMessage,++    -- ** ModifyDBSubnetGroup+    ModifyDBSubnetGroup (ModifyDBSubnetGroup'),+    newModifyDBSubnetGroup,+    ModifyDBSubnetGroupResponse (ModifyDBSubnetGroupResponse'),+    newModifyDBSubnetGroupResponse,++    -- ** ModifyEventSubscription+    ModifyEventSubscription (ModifyEventSubscription'),+    newModifyEventSubscription,+    ModifyEventSubscriptionResponse (ModifyEventSubscriptionResponse'),+    newModifyEventSubscriptionResponse,++    -- ** ModifyGlobalCluster+    ModifyGlobalCluster (ModifyGlobalCluster'),+    newModifyGlobalCluster,+    ModifyGlobalClusterResponse (ModifyGlobalClusterResponse'),+    newModifyGlobalClusterResponse,++    -- ** PromoteReadReplicaDBCluster+    PromoteReadReplicaDBCluster (PromoteReadReplicaDBCluster'),+    newPromoteReadReplicaDBCluster,+    PromoteReadReplicaDBClusterResponse (PromoteReadReplicaDBClusterResponse'),+    newPromoteReadReplicaDBClusterResponse,++    -- ** RebootDBInstance+    RebootDBInstance (RebootDBInstance'),+    newRebootDBInstance,+    RebootDBInstanceResponse (RebootDBInstanceResponse'),+    newRebootDBInstanceResponse,++    -- ** RemoveFromGlobalCluster+    RemoveFromGlobalCluster (RemoveFromGlobalCluster'),+    newRemoveFromGlobalCluster,+    RemoveFromGlobalClusterResponse (RemoveFromGlobalClusterResponse'),+    newRemoveFromGlobalClusterResponse,++    -- ** RemoveRoleFromDBCluster+    RemoveRoleFromDBCluster (RemoveRoleFromDBCluster'),+    newRemoveRoleFromDBCluster,+    RemoveRoleFromDBClusterResponse (RemoveRoleFromDBClusterResponse'),+    newRemoveRoleFromDBClusterResponse,++    -- ** RemoveSourceIdentifierFromSubscription+    RemoveSourceIdentifierFromSubscription (RemoveSourceIdentifierFromSubscription'),+    newRemoveSourceIdentifierFromSubscription,+    RemoveSourceIdentifierFromSubscriptionResponse (RemoveSourceIdentifierFromSubscriptionResponse'),+    newRemoveSourceIdentifierFromSubscriptionResponse,++    -- ** RemoveTagsFromResource+    RemoveTagsFromResource (RemoveTagsFromResource'),+    newRemoveTagsFromResource,+    RemoveTagsFromResourceResponse (RemoveTagsFromResourceResponse'),+    newRemoveTagsFromResourceResponse,++    -- ** ResetDBClusterParameterGroup+    ResetDBClusterParameterGroup (ResetDBClusterParameterGroup'),+    newResetDBClusterParameterGroup,+    DBClusterParameterGroupNameMessage (DBClusterParameterGroupNameMessage'),+    newDBClusterParameterGroupNameMessage,++    -- ** ResetDBParameterGroup+    ResetDBParameterGroup (ResetDBParameterGroup'),+    newResetDBParameterGroup,+    DBParameterGroupNameMessage (DBParameterGroupNameMessage'),+    newDBParameterGroupNameMessage,++    -- ** RestoreDBClusterFromSnapshot+    RestoreDBClusterFromSnapshot (RestoreDBClusterFromSnapshot'),+    newRestoreDBClusterFromSnapshot,+    RestoreDBClusterFromSnapshotResponse (RestoreDBClusterFromSnapshotResponse'),+    newRestoreDBClusterFromSnapshotResponse,++    -- ** RestoreDBClusterToPointInTime+    RestoreDBClusterToPointInTime (RestoreDBClusterToPointInTime'),+    newRestoreDBClusterToPointInTime,+    RestoreDBClusterToPointInTimeResponse (RestoreDBClusterToPointInTimeResponse'),+    newRestoreDBClusterToPointInTimeResponse,++    -- ** StartDBCluster+    StartDBCluster (StartDBCluster'),+    newStartDBCluster,+    StartDBClusterResponse (StartDBClusterResponse'),+    newStartDBClusterResponse,++    -- ** StopDBCluster+    StopDBCluster (StopDBCluster'),+    newStopDBCluster,+    StopDBClusterResponse (StopDBClusterResponse'),+    newStopDBClusterResponse,++    -- * Types++    -- ** ApplyMethod+    ApplyMethod (..),++    -- ** SourceType+    SourceType (..),++    -- ** AvailabilityZone+    AvailabilityZone (AvailabilityZone'),+    newAvailabilityZone,++    -- ** CharacterSet+    CharacterSet (CharacterSet'),+    newCharacterSet,++    -- ** CloudwatchLogsExportConfiguration+    CloudwatchLogsExportConfiguration (CloudwatchLogsExportConfiguration'),+    newCloudwatchLogsExportConfiguration,++    -- ** DBCluster+    DBCluster (DBCluster'),+    newDBCluster,++    -- ** DBClusterEndpoint+    DBClusterEndpoint (DBClusterEndpoint'),+    newDBClusterEndpoint,++    -- ** DBClusterMember+    DBClusterMember (DBClusterMember'),+    newDBClusterMember,++    -- ** DBClusterOptionGroupStatus+    DBClusterOptionGroupStatus (DBClusterOptionGroupStatus'),+    newDBClusterOptionGroupStatus,++    -- ** DBClusterParameterGroup+    DBClusterParameterGroup (DBClusterParameterGroup'),+    newDBClusterParameterGroup,++    -- ** DBClusterParameterGroupNameMessage+    DBClusterParameterGroupNameMessage (DBClusterParameterGroupNameMessage'),+    newDBClusterParameterGroupNameMessage,++    -- ** DBClusterRole+    DBClusterRole (DBClusterRole'),+    newDBClusterRole,++    -- ** DBClusterSnapshot+    DBClusterSnapshot (DBClusterSnapshot'),+    newDBClusterSnapshot,++    -- ** DBClusterSnapshotAttribute+    DBClusterSnapshotAttribute (DBClusterSnapshotAttribute'),+    newDBClusterSnapshotAttribute,++    -- ** DBClusterSnapshotAttributesResult+    DBClusterSnapshotAttributesResult (DBClusterSnapshotAttributesResult'),+    newDBClusterSnapshotAttributesResult,++    -- ** DBEngineVersion+    DBEngineVersion (DBEngineVersion'),+    newDBEngineVersion,++    -- ** DBInstance+    DBInstance (DBInstance'),+    newDBInstance,++    -- ** DBInstanceStatusInfo+    DBInstanceStatusInfo (DBInstanceStatusInfo'),+    newDBInstanceStatusInfo,++    -- ** DBParameterGroup+    DBParameterGroup (DBParameterGroup'),+    newDBParameterGroup,++    -- ** DBParameterGroupNameMessage+    DBParameterGroupNameMessage (DBParameterGroupNameMessage'),+    newDBParameterGroupNameMessage,++    -- ** DBParameterGroupStatus+    DBParameterGroupStatus (DBParameterGroupStatus'),+    newDBParameterGroupStatus,++    -- ** DBSecurityGroupMembership+    DBSecurityGroupMembership (DBSecurityGroupMembership'),+    newDBSecurityGroupMembership,++    -- ** DBSubnetGroup+    DBSubnetGroup (DBSubnetGroup'),+    newDBSubnetGroup,++    -- ** DomainMembership+    DomainMembership (DomainMembership'),+    newDomainMembership,++    -- ** DoubleRange+    DoubleRange (DoubleRange'),+    newDoubleRange,++    -- ** Endpoint+    Endpoint (Endpoint'),+    newEndpoint,++    -- ** EngineDefaults+    EngineDefaults (EngineDefaults'),+    newEngineDefaults,++    -- ** Event+    Event (Event'),+    newEvent,++    -- ** EventCategoriesMap+    EventCategoriesMap (EventCategoriesMap'),+    newEventCategoriesMap,++    -- ** EventSubscription+    EventSubscription (EventSubscription'),+    newEventSubscription,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** GlobalCluster+    GlobalCluster (GlobalCluster'),+    newGlobalCluster,++    -- ** GlobalClusterMember+    GlobalClusterMember (GlobalClusterMember'),+    newGlobalClusterMember,++    -- ** OptionGroupMembership+    OptionGroupMembership (OptionGroupMembership'),+    newOptionGroupMembership,++    -- ** OrderableDBInstanceOption+    OrderableDBInstanceOption (OrderableDBInstanceOption'),+    newOrderableDBInstanceOption,++    -- ** Parameter+    Parameter (Parameter'),+    newParameter,++    -- ** PendingCloudwatchLogsExports+    PendingCloudwatchLogsExports (PendingCloudwatchLogsExports'),+    newPendingCloudwatchLogsExports,++    -- ** PendingMaintenanceAction+    PendingMaintenanceAction (PendingMaintenanceAction'),+    newPendingMaintenanceAction,++    -- ** PendingModifiedValues+    PendingModifiedValues (PendingModifiedValues'),+    newPendingModifiedValues,++    -- ** Range+    Range (Range'),+    newRange,++    -- ** ResourcePendingMaintenanceActions+    ResourcePendingMaintenanceActions (ResourcePendingMaintenanceActions'),+    newResourcePendingMaintenanceActions,++    -- ** ServerlessV2ScalingConfiguration+    ServerlessV2ScalingConfiguration (ServerlessV2ScalingConfiguration'),+    newServerlessV2ScalingConfiguration,++    -- ** ServerlessV2ScalingConfigurationInfo+    ServerlessV2ScalingConfigurationInfo (ServerlessV2ScalingConfigurationInfo'),+    newServerlessV2ScalingConfigurationInfo,++    -- ** Subnet+    Subnet (Subnet'),+    newSubnet,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** Timezone+    Timezone (Timezone'),+    newTimezone,++    -- ** UpgradeTarget+    UpgradeTarget (UpgradeTarget'),+    newUpgradeTarget,++    -- ** ValidDBInstanceModificationsMessage+    ValidDBInstanceModificationsMessage (ValidDBInstanceModificationsMessage'),+    newValidDBInstanceModificationsMessage,++    -- ** ValidStorageOptions+    ValidStorageOptions (ValidStorageOptions'),+    newValidStorageOptions,++    -- ** VpcSecurityGroupMembership+    VpcSecurityGroupMembership (VpcSecurityGroupMembership'),+    newVpcSecurityGroupMembership,+  )+where++import Amazonka.Neptune.AddRoleToDBCluster+import Amazonka.Neptune.AddSourceIdentifierToSubscription+import Amazonka.Neptune.AddTagsToResource+import Amazonka.Neptune.ApplyPendingMaintenanceAction+import Amazonka.Neptune.CopyDBClusterParameterGroup+import Amazonka.Neptune.CopyDBClusterSnapshot+import Amazonka.Neptune.CopyDBParameterGroup+import Amazonka.Neptune.CreateDBCluster+import Amazonka.Neptune.CreateDBClusterEndpoint+import Amazonka.Neptune.CreateDBClusterParameterGroup+import Amazonka.Neptune.CreateDBClusterSnapshot+import Amazonka.Neptune.CreateDBInstance+import Amazonka.Neptune.CreateDBParameterGroup+import Amazonka.Neptune.CreateDBSubnetGroup+import Amazonka.Neptune.CreateEventSubscription+import Amazonka.Neptune.CreateGlobalCluster+import Amazonka.Neptune.DeleteDBCluster+import Amazonka.Neptune.DeleteDBClusterEndpoint+import Amazonka.Neptune.DeleteDBClusterParameterGroup+import Amazonka.Neptune.DeleteDBClusterSnapshot+import Amazonka.Neptune.DeleteDBInstance+import Amazonka.Neptune.DeleteDBParameterGroup+import Amazonka.Neptune.DeleteDBSubnetGroup+import Amazonka.Neptune.DeleteEventSubscription+import Amazonka.Neptune.DeleteGlobalCluster+import Amazonka.Neptune.DescribeDBClusterEndpoints+import Amazonka.Neptune.DescribeDBClusterParameterGroups+import Amazonka.Neptune.DescribeDBClusterParameters+import Amazonka.Neptune.DescribeDBClusterSnapshotAttributes+import Amazonka.Neptune.DescribeDBClusterSnapshots+import Amazonka.Neptune.DescribeDBClusters+import Amazonka.Neptune.DescribeDBEngineVersions+import Amazonka.Neptune.DescribeDBInstances+import Amazonka.Neptune.DescribeDBParameterGroups+import Amazonka.Neptune.DescribeDBParameters+import Amazonka.Neptune.DescribeDBSubnetGroups+import Amazonka.Neptune.DescribeEngineDefaultClusterParameters+import Amazonka.Neptune.DescribeEngineDefaultParameters+import Amazonka.Neptune.DescribeEventCategories+import Amazonka.Neptune.DescribeEventSubscriptions+import Amazonka.Neptune.DescribeEvents+import Amazonka.Neptune.DescribeGlobalClusters+import Amazonka.Neptune.DescribeOrderableDBInstanceOptions+import Amazonka.Neptune.DescribePendingMaintenanceActions+import Amazonka.Neptune.DescribeValidDBInstanceModifications+import Amazonka.Neptune.FailoverDBCluster+import Amazonka.Neptune.FailoverGlobalCluster+import Amazonka.Neptune.Lens+import Amazonka.Neptune.ListTagsForResource+import Amazonka.Neptune.ModifyDBCluster+import Amazonka.Neptune.ModifyDBClusterEndpoint+import Amazonka.Neptune.ModifyDBClusterParameterGroup+import Amazonka.Neptune.ModifyDBClusterSnapshotAttribute+import Amazonka.Neptune.ModifyDBInstance+import Amazonka.Neptune.ModifyDBParameterGroup+import Amazonka.Neptune.ModifyDBSubnetGroup+import Amazonka.Neptune.ModifyEventSubscription+import Amazonka.Neptune.ModifyGlobalCluster+import Amazonka.Neptune.PromoteReadReplicaDBCluster+import Amazonka.Neptune.RebootDBInstance+import Amazonka.Neptune.RemoveFromGlobalCluster+import Amazonka.Neptune.RemoveRoleFromDBCluster+import Amazonka.Neptune.RemoveSourceIdentifierFromSubscription+import Amazonka.Neptune.RemoveTagsFromResource+import Amazonka.Neptune.ResetDBClusterParameterGroup+import Amazonka.Neptune.ResetDBParameterGroup+import Amazonka.Neptune.RestoreDBClusterFromSnapshot+import Amazonka.Neptune.RestoreDBClusterToPointInTime+import Amazonka.Neptune.StartDBCluster+import Amazonka.Neptune.StopDBCluster+import Amazonka.Neptune.Types+import Amazonka.Neptune.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 'Neptune'.++-- $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/Neptune/AddRoleToDBCluster.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.AddRoleToDBCluster+-- 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 an Identity and Access Management (IAM) role with an Neptune+-- DB cluster.+module Amazonka.Neptune.AddRoleToDBCluster+  ( -- * Creating a Request+    AddRoleToDBCluster (..),+    newAddRoleToDBCluster,++    -- * Request Lenses+    addRoleToDBCluster_featureName,+    addRoleToDBCluster_dbClusterIdentifier,+    addRoleToDBCluster_roleArn,++    -- * Destructuring the Response+    AddRoleToDBClusterResponse (..),+    newAddRoleToDBClusterResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAddRoleToDBCluster' smart constructor.+data AddRoleToDBCluster = AddRoleToDBCluster'+  { -- | The name of the feature for the Neptune DB cluster that the IAM role is+    -- to be associated with. For the list of supported feature names, see+    -- <neptune/latest/userguide/api-other-apis.html#DBEngineVersion DBEngineVersion>.+    featureName :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB cluster to associate the IAM role with.+    dbClusterIdentifier :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role to associate with the+    -- Neptune DB cluster, for example+    -- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddRoleToDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'featureName', 'addRoleToDBCluster_featureName' - The name of the feature for the Neptune DB cluster that the IAM role is+-- to be associated with. For the list of supported feature names, see+-- <neptune/latest/userguide/api-other-apis.html#DBEngineVersion DBEngineVersion>.+--+-- 'dbClusterIdentifier', 'addRoleToDBCluster_dbClusterIdentifier' - The name of the DB cluster to associate the IAM role with.+--+-- 'roleArn', 'addRoleToDBCluster_roleArn' - The Amazon Resource Name (ARN) of the IAM role to associate with the+-- Neptune DB cluster, for example+-- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+newAddRoleToDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  AddRoleToDBCluster+newAddRoleToDBCluster pDBClusterIdentifier_ pRoleArn_ =+  AddRoleToDBCluster'+    { featureName = Prelude.Nothing,+      dbClusterIdentifier = pDBClusterIdentifier_,+      roleArn = pRoleArn_+    }++-- | The name of the feature for the Neptune DB cluster that the IAM role is+-- to be associated with. For the list of supported feature names, see+-- <neptune/latest/userguide/api-other-apis.html#DBEngineVersion DBEngineVersion>.+addRoleToDBCluster_featureName :: Lens.Lens' AddRoleToDBCluster (Prelude.Maybe Prelude.Text)+addRoleToDBCluster_featureName = Lens.lens (\AddRoleToDBCluster' {featureName} -> featureName) (\s@AddRoleToDBCluster' {} a -> s {featureName = a} :: AddRoleToDBCluster)++-- | The name of the DB cluster to associate the IAM role with.+addRoleToDBCluster_dbClusterIdentifier :: Lens.Lens' AddRoleToDBCluster Prelude.Text+addRoleToDBCluster_dbClusterIdentifier = Lens.lens (\AddRoleToDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@AddRoleToDBCluster' {} a -> s {dbClusterIdentifier = a} :: AddRoleToDBCluster)++-- | The Amazon Resource Name (ARN) of the IAM role to associate with the+-- Neptune DB cluster, for example+-- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+addRoleToDBCluster_roleArn :: Lens.Lens' AddRoleToDBCluster Prelude.Text+addRoleToDBCluster_roleArn = Lens.lens (\AddRoleToDBCluster' {roleArn} -> roleArn) (\s@AddRoleToDBCluster' {} a -> s {roleArn = a} :: AddRoleToDBCluster)++instance Core.AWSRequest AddRoleToDBCluster where+  type+    AWSResponse AddRoleToDBCluster =+      AddRoleToDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull AddRoleToDBClusterResponse'++instance Prelude.Hashable AddRoleToDBCluster where+  hashWithSalt _salt AddRoleToDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` featureName+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData AddRoleToDBCluster where+  rnf AddRoleToDBCluster' {..} =+    Prelude.rnf featureName+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders AddRoleToDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath AddRoleToDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery AddRoleToDBCluster where+  toQuery AddRoleToDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("AddRoleToDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "FeatureName" Data.=: featureName,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "RoleArn" Data.=: roleArn+      ]++-- | /See:/ 'newAddRoleToDBClusterResponse' smart constructor.+data AddRoleToDBClusterResponse = AddRoleToDBClusterResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddRoleToDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAddRoleToDBClusterResponse ::+  AddRoleToDBClusterResponse+newAddRoleToDBClusterResponse =+  AddRoleToDBClusterResponse'++instance Prelude.NFData AddRoleToDBClusterResponse where+  rnf _ = ()
+ gen/Amazonka/Neptune/AddSourceIdentifierToSubscription.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.AddSourceIdentifierToSubscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a source identifier to an existing event notification subscription.+module Amazonka.Neptune.AddSourceIdentifierToSubscription+  ( -- * Creating a Request+    AddSourceIdentifierToSubscription (..),+    newAddSourceIdentifierToSubscription,++    -- * Request Lenses+    addSourceIdentifierToSubscription_subscriptionName,+    addSourceIdentifierToSubscription_sourceIdentifier,++    -- * Destructuring the Response+    AddSourceIdentifierToSubscriptionResponse (..),+    newAddSourceIdentifierToSubscriptionResponse,++    -- * Response Lenses+    addSourceIdentifierToSubscriptionResponse_eventSubscription,+    addSourceIdentifierToSubscriptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAddSourceIdentifierToSubscription' smart constructor.+data AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscription'+  { -- | The name of the event notification subscription you want to add a source+    -- identifier to.+    subscriptionName :: Prelude.Text,+    -- | The identifier of the event source to be added.+    --+    -- Constraints:+    --+    -- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+    --     must be supplied.+    --+    -- -   If the source type is a DB security group, a @DBSecurityGroupName@+    --     must be supplied.+    --+    -- -   If the source type is a DB parameter group, a @DBParameterGroupName@+    --     must be supplied.+    --+    -- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+    --     be supplied.+    sourceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddSourceIdentifierToSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriptionName', 'addSourceIdentifierToSubscription_subscriptionName' - The name of the event notification subscription you want to add a source+-- identifier to.+--+-- 'sourceIdentifier', 'addSourceIdentifierToSubscription_sourceIdentifier' - The identifier of the event source to be added.+--+-- Constraints:+--+-- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is a DB security group, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is a DB parameter group, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+--     be supplied.+newAddSourceIdentifierToSubscription ::+  -- | 'subscriptionName'+  Prelude.Text ->+  -- | 'sourceIdentifier'+  Prelude.Text ->+  AddSourceIdentifierToSubscription+newAddSourceIdentifierToSubscription+  pSubscriptionName_+  pSourceIdentifier_ =+    AddSourceIdentifierToSubscription'+      { subscriptionName =+          pSubscriptionName_,+        sourceIdentifier = pSourceIdentifier_+      }++-- | The name of the event notification subscription you want to add a source+-- identifier to.+addSourceIdentifierToSubscription_subscriptionName :: Lens.Lens' AddSourceIdentifierToSubscription Prelude.Text+addSourceIdentifierToSubscription_subscriptionName = Lens.lens (\AddSourceIdentifierToSubscription' {subscriptionName} -> subscriptionName) (\s@AddSourceIdentifierToSubscription' {} a -> s {subscriptionName = a} :: AddSourceIdentifierToSubscription)++-- | The identifier of the event source to be added.+--+-- Constraints:+--+-- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is a DB security group, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is a DB parameter group, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+--     be supplied.+addSourceIdentifierToSubscription_sourceIdentifier :: Lens.Lens' AddSourceIdentifierToSubscription Prelude.Text+addSourceIdentifierToSubscription_sourceIdentifier = Lens.lens (\AddSourceIdentifierToSubscription' {sourceIdentifier} -> sourceIdentifier) (\s@AddSourceIdentifierToSubscription' {} a -> s {sourceIdentifier = a} :: AddSourceIdentifierToSubscription)++instance+  Core.AWSRequest+    AddSourceIdentifierToSubscription+  where+  type+    AWSResponse AddSourceIdentifierToSubscription =+      AddSourceIdentifierToSubscriptionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "AddSourceIdentifierToSubscriptionResult"+      ( \s h x ->+          AddSourceIdentifierToSubscriptionResponse'+            Prelude.<$> (x Data..@? "EventSubscription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AddSourceIdentifierToSubscription+  where+  hashWithSalt+    _salt+    AddSourceIdentifierToSubscription' {..} =+      _salt+        `Prelude.hashWithSalt` subscriptionName+        `Prelude.hashWithSalt` sourceIdentifier++instance+  Prelude.NFData+    AddSourceIdentifierToSubscription+  where+  rnf AddSourceIdentifierToSubscription' {..} =+    Prelude.rnf subscriptionName+      `Prelude.seq` Prelude.rnf sourceIdentifier++instance+  Data.ToHeaders+    AddSourceIdentifierToSubscription+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    AddSourceIdentifierToSubscription+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    AddSourceIdentifierToSubscription+  where+  toQuery AddSourceIdentifierToSubscription' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "AddSourceIdentifierToSubscription" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "SubscriptionName" Data.=: subscriptionName,+        "SourceIdentifier" Data.=: sourceIdentifier+      ]++-- | /See:/ 'newAddSourceIdentifierToSubscriptionResponse' smart constructor.+data AddSourceIdentifierToSubscriptionResponse = AddSourceIdentifierToSubscriptionResponse'+  { eventSubscription :: Prelude.Maybe EventSubscription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddSourceIdentifierToSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscription', 'addSourceIdentifierToSubscriptionResponse_eventSubscription' - Undocumented member.+--+-- 'httpStatus', 'addSourceIdentifierToSubscriptionResponse_httpStatus' - The response's http status code.+newAddSourceIdentifierToSubscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AddSourceIdentifierToSubscriptionResponse+newAddSourceIdentifierToSubscriptionResponse+  pHttpStatus_ =+    AddSourceIdentifierToSubscriptionResponse'+      { eventSubscription =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+addSourceIdentifierToSubscriptionResponse_eventSubscription :: Lens.Lens' AddSourceIdentifierToSubscriptionResponse (Prelude.Maybe EventSubscription)+addSourceIdentifierToSubscriptionResponse_eventSubscription = Lens.lens (\AddSourceIdentifierToSubscriptionResponse' {eventSubscription} -> eventSubscription) (\s@AddSourceIdentifierToSubscriptionResponse' {} a -> s {eventSubscription = a} :: AddSourceIdentifierToSubscriptionResponse)++-- | The response's http status code.+addSourceIdentifierToSubscriptionResponse_httpStatus :: Lens.Lens' AddSourceIdentifierToSubscriptionResponse Prelude.Int+addSourceIdentifierToSubscriptionResponse_httpStatus = Lens.lens (\AddSourceIdentifierToSubscriptionResponse' {httpStatus} -> httpStatus) (\s@AddSourceIdentifierToSubscriptionResponse' {} a -> s {httpStatus = a} :: AddSourceIdentifierToSubscriptionResponse)++instance+  Prelude.NFData+    AddSourceIdentifierToSubscriptionResponse+  where+  rnf AddSourceIdentifierToSubscriptionResponse' {..} =+    Prelude.rnf eventSubscription+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/AddTagsToResource.hs view
@@ -0,0 +1,147 @@+{-# 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.Neptune.AddTagsToResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds metadata tags to an Amazon Neptune resource. These tags can also be+-- used with cost allocation reporting to track cost associated with Amazon+-- Neptune resources, or used in a Condition statement in an IAM policy for+-- Amazon Neptune.+module Amazonka.Neptune.AddTagsToResource+  ( -- * Creating a Request+    AddTagsToResource (..),+    newAddTagsToResource,++    -- * Request Lenses+    addTagsToResource_resourceName,+    addTagsToResource_tags,++    -- * Destructuring the Response+    AddTagsToResourceResponse (..),+    newAddTagsToResourceResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAddTagsToResource' smart constructor.+data AddTagsToResource = AddTagsToResource'+  { -- | The Amazon Neptune resource that the tags are added to. This value is an+    -- Amazon Resource Name (ARN). For information about creating an ARN, see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    resourceName :: Prelude.Text,+    -- | The tags to be assigned to the Amazon Neptune resource.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddTagsToResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceName', 'addTagsToResource_resourceName' - The Amazon Neptune resource that the tags are added to. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- 'tags', 'addTagsToResource_tags' - The tags to be assigned to the Amazon Neptune resource.+newAddTagsToResource ::+  -- | 'resourceName'+  Prelude.Text ->+  AddTagsToResource+newAddTagsToResource pResourceName_ =+  AddTagsToResource'+    { resourceName = pResourceName_,+      tags = Prelude.mempty+    }++-- | The Amazon Neptune resource that the tags are added to. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+addTagsToResource_resourceName :: Lens.Lens' AddTagsToResource Prelude.Text+addTagsToResource_resourceName = Lens.lens (\AddTagsToResource' {resourceName} -> resourceName) (\s@AddTagsToResource' {} a -> s {resourceName = a} :: AddTagsToResource)++-- | The tags to be assigned to the Amazon Neptune resource.+addTagsToResource_tags :: Lens.Lens' AddTagsToResource [Tag]+addTagsToResource_tags = Lens.lens (\AddTagsToResource' {tags} -> tags) (\s@AddTagsToResource' {} a -> s {tags = a} :: AddTagsToResource) Prelude.. Lens.coerced++instance Core.AWSRequest AddTagsToResource where+  type+    AWSResponse AddTagsToResource =+      AddTagsToResourceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull AddTagsToResourceResponse'++instance Prelude.Hashable AddTagsToResource where+  hashWithSalt _salt AddTagsToResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` tags++instance Prelude.NFData AddTagsToResource where+  rnf AddTagsToResource' {..} =+    Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders AddTagsToResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath AddTagsToResource where+  toPath = Prelude.const "/"++instance Data.ToQuery AddTagsToResource where+  toQuery AddTagsToResource' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("AddTagsToResource" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ResourceName" Data.=: resourceName,+        "Tags" Data.=: Data.toQueryList "Tag" tags+      ]++-- | /See:/ 'newAddTagsToResourceResponse' smart constructor.+data AddTagsToResourceResponse = AddTagsToResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddTagsToResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAddTagsToResourceResponse ::+  AddTagsToResourceResponse+newAddTagsToResourceResponse =+  AddTagsToResourceResponse'++instance Prelude.NFData AddTagsToResourceResponse where+  rnf _ = ()
+ gen/Amazonka/Neptune/ApplyPendingMaintenanceAction.hs view
@@ -0,0 +1,254 @@+{-# 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.Neptune.ApplyPendingMaintenanceAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies a pending maintenance action to a resource (for example, to a DB+-- instance).+module Amazonka.Neptune.ApplyPendingMaintenanceAction+  ( -- * Creating a Request+    ApplyPendingMaintenanceAction (..),+    newApplyPendingMaintenanceAction,++    -- * Request Lenses+    applyPendingMaintenanceAction_resourceIdentifier,+    applyPendingMaintenanceAction_applyAction,+    applyPendingMaintenanceAction_optInType,++    -- * Destructuring the Response+    ApplyPendingMaintenanceActionResponse (..),+    newApplyPendingMaintenanceActionResponse,++    -- * Response Lenses+    applyPendingMaintenanceActionResponse_resourcePendingMaintenanceActions,+    applyPendingMaintenanceActionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newApplyPendingMaintenanceAction' smart constructor.+data ApplyPendingMaintenanceAction = ApplyPendingMaintenanceAction'+  { -- | The Amazon Resource Name (ARN) of the resource that the pending+    -- maintenance action applies to. For information about creating an ARN,+    -- see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    resourceIdentifier :: Prelude.Text,+    -- | The pending maintenance action to apply to this resource.+    --+    -- Valid values: @system-update@, @db-upgrade@+    applyAction :: Prelude.Text,+    -- | A value that specifies the type of opt-in request, or undoes an opt-in+    -- request. An opt-in request of type @immediate@ can\'t be undone.+    --+    -- Valid values:+    --+    -- -   @immediate@ - Apply the maintenance action immediately.+    --+    -- -   @next-maintenance@ - Apply the maintenance action during the next+    --     maintenance window for the resource.+    --+    -- -   @undo-opt-in@ - Cancel any existing @next-maintenance@ opt-in+    --     requests.+    optInType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplyPendingMaintenanceAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceIdentifier', 'applyPendingMaintenanceAction_resourceIdentifier' - The Amazon Resource Name (ARN) of the resource that the pending+-- maintenance action applies to. For information about creating an ARN,+-- see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- 'applyAction', 'applyPendingMaintenanceAction_applyAction' - The pending maintenance action to apply to this resource.+--+-- Valid values: @system-update@, @db-upgrade@+--+-- 'optInType', 'applyPendingMaintenanceAction_optInType' - A value that specifies the type of opt-in request, or undoes an opt-in+-- request. An opt-in request of type @immediate@ can\'t be undone.+--+-- Valid values:+--+-- -   @immediate@ - Apply the maintenance action immediately.+--+-- -   @next-maintenance@ - Apply the maintenance action during the next+--     maintenance window for the resource.+--+-- -   @undo-opt-in@ - Cancel any existing @next-maintenance@ opt-in+--     requests.+newApplyPendingMaintenanceAction ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'applyAction'+  Prelude.Text ->+  -- | 'optInType'+  Prelude.Text ->+  ApplyPendingMaintenanceAction+newApplyPendingMaintenanceAction+  pResourceIdentifier_+  pApplyAction_+  pOptInType_ =+    ApplyPendingMaintenanceAction'+      { resourceIdentifier =+          pResourceIdentifier_,+        applyAction = pApplyAction_,+        optInType = pOptInType_+      }++-- | The Amazon Resource Name (ARN) of the resource that the pending+-- maintenance action applies to. For information about creating an ARN,+-- see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+applyPendingMaintenanceAction_resourceIdentifier :: Lens.Lens' ApplyPendingMaintenanceAction Prelude.Text+applyPendingMaintenanceAction_resourceIdentifier = Lens.lens (\ApplyPendingMaintenanceAction' {resourceIdentifier} -> resourceIdentifier) (\s@ApplyPendingMaintenanceAction' {} a -> s {resourceIdentifier = a} :: ApplyPendingMaintenanceAction)++-- | The pending maintenance action to apply to this resource.+--+-- Valid values: @system-update@, @db-upgrade@+applyPendingMaintenanceAction_applyAction :: Lens.Lens' ApplyPendingMaintenanceAction Prelude.Text+applyPendingMaintenanceAction_applyAction = Lens.lens (\ApplyPendingMaintenanceAction' {applyAction} -> applyAction) (\s@ApplyPendingMaintenanceAction' {} a -> s {applyAction = a} :: ApplyPendingMaintenanceAction)++-- | A value that specifies the type of opt-in request, or undoes an opt-in+-- request. An opt-in request of type @immediate@ can\'t be undone.+--+-- Valid values:+--+-- -   @immediate@ - Apply the maintenance action immediately.+--+-- -   @next-maintenance@ - Apply the maintenance action during the next+--     maintenance window for the resource.+--+-- -   @undo-opt-in@ - Cancel any existing @next-maintenance@ opt-in+--     requests.+applyPendingMaintenanceAction_optInType :: Lens.Lens' ApplyPendingMaintenanceAction Prelude.Text+applyPendingMaintenanceAction_optInType = Lens.lens (\ApplyPendingMaintenanceAction' {optInType} -> optInType) (\s@ApplyPendingMaintenanceAction' {} a -> s {optInType = a} :: ApplyPendingMaintenanceAction)++instance+  Core.AWSRequest+    ApplyPendingMaintenanceAction+  where+  type+    AWSResponse ApplyPendingMaintenanceAction =+      ApplyPendingMaintenanceActionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ApplyPendingMaintenanceActionResult"+      ( \s h x ->+          ApplyPendingMaintenanceActionResponse'+            Prelude.<$> (x Data..@? "ResourcePendingMaintenanceActions")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ApplyPendingMaintenanceAction+  where+  hashWithSalt _salt ApplyPendingMaintenanceAction' {..} =+    _salt+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` applyAction+      `Prelude.hashWithSalt` optInType++instance Prelude.NFData ApplyPendingMaintenanceAction where+  rnf ApplyPendingMaintenanceAction' {..} =+    Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf applyAction+      `Prelude.seq` Prelude.rnf optInType++instance Data.ToHeaders ApplyPendingMaintenanceAction where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ApplyPendingMaintenanceAction where+  toPath = Prelude.const "/"++instance Data.ToQuery ApplyPendingMaintenanceAction where+  toQuery ApplyPendingMaintenanceAction' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "ApplyPendingMaintenanceAction" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ResourceIdentifier" Data.=: resourceIdentifier,+        "ApplyAction" Data.=: applyAction,+        "OptInType" Data.=: optInType+      ]++-- | /See:/ 'newApplyPendingMaintenanceActionResponse' smart constructor.+data ApplyPendingMaintenanceActionResponse = ApplyPendingMaintenanceActionResponse'+  { resourcePendingMaintenanceActions :: Prelude.Maybe ResourcePendingMaintenanceActions,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplyPendingMaintenanceActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourcePendingMaintenanceActions', 'applyPendingMaintenanceActionResponse_resourcePendingMaintenanceActions' - Undocumented member.+--+-- 'httpStatus', 'applyPendingMaintenanceActionResponse_httpStatus' - The response's http status code.+newApplyPendingMaintenanceActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ApplyPendingMaintenanceActionResponse+newApplyPendingMaintenanceActionResponse pHttpStatus_ =+  ApplyPendingMaintenanceActionResponse'+    { resourcePendingMaintenanceActions =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+applyPendingMaintenanceActionResponse_resourcePendingMaintenanceActions :: Lens.Lens' ApplyPendingMaintenanceActionResponse (Prelude.Maybe ResourcePendingMaintenanceActions)+applyPendingMaintenanceActionResponse_resourcePendingMaintenanceActions = Lens.lens (\ApplyPendingMaintenanceActionResponse' {resourcePendingMaintenanceActions} -> resourcePendingMaintenanceActions) (\s@ApplyPendingMaintenanceActionResponse' {} a -> s {resourcePendingMaintenanceActions = a} :: ApplyPendingMaintenanceActionResponse)++-- | The response's http status code.+applyPendingMaintenanceActionResponse_httpStatus :: Lens.Lens' ApplyPendingMaintenanceActionResponse Prelude.Int+applyPendingMaintenanceActionResponse_httpStatus = Lens.lens (\ApplyPendingMaintenanceActionResponse' {httpStatus} -> httpStatus) (\s@ApplyPendingMaintenanceActionResponse' {} a -> s {httpStatus = a} :: ApplyPendingMaintenanceActionResponse)++instance+  Prelude.NFData+    ApplyPendingMaintenanceActionResponse+  where+  rnf ApplyPendingMaintenanceActionResponse' {..} =+    Prelude.rnf resourcePendingMaintenanceActions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CopyDBClusterParameterGroup.hs view
@@ -0,0 +1,301 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.CopyDBClusterParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Copies the specified DB cluster parameter group.+module Amazonka.Neptune.CopyDBClusterParameterGroup+  ( -- * Creating a Request+    CopyDBClusterParameterGroup (..),+    newCopyDBClusterParameterGroup,++    -- * Request Lenses+    copyDBClusterParameterGroup_tags,+    copyDBClusterParameterGroup_sourceDBClusterParameterGroupIdentifier,+    copyDBClusterParameterGroup_targetDBClusterParameterGroupIdentifier,+    copyDBClusterParameterGroup_targetDBClusterParameterGroupDescription,++    -- * Destructuring the Response+    CopyDBClusterParameterGroupResponse (..),+    newCopyDBClusterParameterGroupResponse,++    -- * Response Lenses+    copyDBClusterParameterGroupResponse_dbClusterParameterGroup,+    copyDBClusterParameterGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCopyDBClusterParameterGroup' smart constructor.+data CopyDBClusterParameterGroup = CopyDBClusterParameterGroup'+  { -- | The tags to be assigned to the copied DB cluster parameter group.+    tags :: Prelude.Maybe [Tag],+    -- | The identifier or Amazon Resource Name (ARN) for the source DB cluster+    -- parameter group. For information about creating an ARN, see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    --+    -- Constraints:+    --+    -- -   Must specify a valid DB cluster parameter group.+    --+    -- -   If the source DB cluster parameter group is in the same Amazon+    --     Region as the copy, specify a valid DB parameter group identifier,+    --     for example @my-db-cluster-param-group@, or a valid ARN.+    --+    -- -   If the source DB parameter group is in a different Amazon Region+    --     than the copy, specify a valid DB cluster parameter group ARN, for+    --     example+    --     @arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1@.+    sourceDBClusterParameterGroupIdentifier :: Prelude.Text,+    -- | The identifier for the copied DB cluster parameter group.+    --+    -- Constraints:+    --+    -- -   Cannot be null, empty, or blank+    --+    -- -   Must contain from 1 to 255 letters, numbers, or hyphens+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- Example: @my-cluster-param-group1@+    targetDBClusterParameterGroupIdentifier :: Prelude.Text,+    -- | A description for the copied DB cluster parameter group.+    targetDBClusterParameterGroupDescription :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'copyDBClusterParameterGroup_tags' - The tags to be assigned to the copied DB cluster parameter group.+--+-- 'sourceDBClusterParameterGroupIdentifier', 'copyDBClusterParameterGroup_sourceDBClusterParameterGroupIdentifier' - The identifier or Amazon Resource Name (ARN) for the source DB cluster+-- parameter group. For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- Constraints:+--+-- -   Must specify a valid DB cluster parameter group.+--+-- -   If the source DB cluster parameter group is in the same Amazon+--     Region as the copy, specify a valid DB parameter group identifier,+--     for example @my-db-cluster-param-group@, or a valid ARN.+--+-- -   If the source DB parameter group is in a different Amazon Region+--     than the copy, specify a valid DB cluster parameter group ARN, for+--     example+--     @arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1@.+--+-- 'targetDBClusterParameterGroupIdentifier', 'copyDBClusterParameterGroup_targetDBClusterParameterGroupIdentifier' - The identifier for the copied DB cluster parameter group.+--+-- Constraints:+--+-- -   Cannot be null, empty, or blank+--+-- -   Must contain from 1 to 255 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster-param-group1@+--+-- 'targetDBClusterParameterGroupDescription', 'copyDBClusterParameterGroup_targetDBClusterParameterGroupDescription' - A description for the copied DB cluster parameter group.+newCopyDBClusterParameterGroup ::+  -- | 'sourceDBClusterParameterGroupIdentifier'+  Prelude.Text ->+  -- | 'targetDBClusterParameterGroupIdentifier'+  Prelude.Text ->+  -- | 'targetDBClusterParameterGroupDescription'+  Prelude.Text ->+  CopyDBClusterParameterGroup+newCopyDBClusterParameterGroup+  pSourceDBClusterParameterGroupIdentifier_+  pTargetDBClusterParameterGroupIdentifier_+  pTargetDBClusterParameterGroupDescription_ =+    CopyDBClusterParameterGroup'+      { tags =+          Prelude.Nothing,+        sourceDBClusterParameterGroupIdentifier =+          pSourceDBClusterParameterGroupIdentifier_,+        targetDBClusterParameterGroupIdentifier =+          pTargetDBClusterParameterGroupIdentifier_,+        targetDBClusterParameterGroupDescription =+          pTargetDBClusterParameterGroupDescription_+      }++-- | The tags to be assigned to the copied DB cluster parameter group.+copyDBClusterParameterGroup_tags :: Lens.Lens' CopyDBClusterParameterGroup (Prelude.Maybe [Tag])+copyDBClusterParameterGroup_tags = Lens.lens (\CopyDBClusterParameterGroup' {tags} -> tags) (\s@CopyDBClusterParameterGroup' {} a -> s {tags = a} :: CopyDBClusterParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | The identifier or Amazon Resource Name (ARN) for the source DB cluster+-- parameter group. For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- Constraints:+--+-- -   Must specify a valid DB cluster parameter group.+--+-- -   If the source DB cluster parameter group is in the same Amazon+--     Region as the copy, specify a valid DB parameter group identifier,+--     for example @my-db-cluster-param-group@, or a valid ARN.+--+-- -   If the source DB parameter group is in a different Amazon Region+--     than the copy, specify a valid DB cluster parameter group ARN, for+--     example+--     @arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1@.+copyDBClusterParameterGroup_sourceDBClusterParameterGroupIdentifier :: Lens.Lens' CopyDBClusterParameterGroup Prelude.Text+copyDBClusterParameterGroup_sourceDBClusterParameterGroupIdentifier = Lens.lens (\CopyDBClusterParameterGroup' {sourceDBClusterParameterGroupIdentifier} -> sourceDBClusterParameterGroupIdentifier) (\s@CopyDBClusterParameterGroup' {} a -> s {sourceDBClusterParameterGroupIdentifier = a} :: CopyDBClusterParameterGroup)++-- | The identifier for the copied DB cluster parameter group.+--+-- Constraints:+--+-- -   Cannot be null, empty, or blank+--+-- -   Must contain from 1 to 255 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster-param-group1@+copyDBClusterParameterGroup_targetDBClusterParameterGroupIdentifier :: Lens.Lens' CopyDBClusterParameterGroup Prelude.Text+copyDBClusterParameterGroup_targetDBClusterParameterGroupIdentifier = Lens.lens (\CopyDBClusterParameterGroup' {targetDBClusterParameterGroupIdentifier} -> targetDBClusterParameterGroupIdentifier) (\s@CopyDBClusterParameterGroup' {} a -> s {targetDBClusterParameterGroupIdentifier = a} :: CopyDBClusterParameterGroup)++-- | A description for the copied DB cluster parameter group.+copyDBClusterParameterGroup_targetDBClusterParameterGroupDescription :: Lens.Lens' CopyDBClusterParameterGroup Prelude.Text+copyDBClusterParameterGroup_targetDBClusterParameterGroupDescription = Lens.lens (\CopyDBClusterParameterGroup' {targetDBClusterParameterGroupDescription} -> targetDBClusterParameterGroupDescription) (\s@CopyDBClusterParameterGroup' {} a -> s {targetDBClusterParameterGroupDescription = a} :: CopyDBClusterParameterGroup)++instance Core.AWSRequest CopyDBClusterParameterGroup where+  type+    AWSResponse CopyDBClusterParameterGroup =+      CopyDBClusterParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CopyDBClusterParameterGroupResult"+      ( \s h x ->+          CopyDBClusterParameterGroupResponse'+            Prelude.<$> (x Data..@? "DBClusterParameterGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CopyDBClusterParameterGroup where+  hashWithSalt _salt CopyDBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` sourceDBClusterParameterGroupIdentifier+      `Prelude.hashWithSalt` targetDBClusterParameterGroupIdentifier+      `Prelude.hashWithSalt` targetDBClusterParameterGroupDescription++instance Prelude.NFData CopyDBClusterParameterGroup where+  rnf CopyDBClusterParameterGroup' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sourceDBClusterParameterGroupIdentifier+      `Prelude.seq` Prelude.rnf targetDBClusterParameterGroupIdentifier+      `Prelude.seq` Prelude.rnf targetDBClusterParameterGroupDescription++instance Data.ToHeaders CopyDBClusterParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CopyDBClusterParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CopyDBClusterParameterGroup where+  toQuery CopyDBClusterParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "CopyDBClusterParameterGroup" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "SourceDBClusterParameterGroupIdentifier"+          Data.=: sourceDBClusterParameterGroupIdentifier,+        "TargetDBClusterParameterGroupIdentifier"+          Data.=: targetDBClusterParameterGroupIdentifier,+        "TargetDBClusterParameterGroupDescription"+          Data.=: targetDBClusterParameterGroupDescription+      ]++-- | /See:/ 'newCopyDBClusterParameterGroupResponse' smart constructor.+data CopyDBClusterParameterGroupResponse = CopyDBClusterParameterGroupResponse'+  { dbClusterParameterGroup :: Prelude.Maybe DBClusterParameterGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBClusterParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroup', 'copyDBClusterParameterGroupResponse_dbClusterParameterGroup' - Undocumented member.+--+-- 'httpStatus', 'copyDBClusterParameterGroupResponse_httpStatus' - The response's http status code.+newCopyDBClusterParameterGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CopyDBClusterParameterGroupResponse+newCopyDBClusterParameterGroupResponse pHttpStatus_ =+  CopyDBClusterParameterGroupResponse'+    { dbClusterParameterGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+copyDBClusterParameterGroupResponse_dbClusterParameterGroup :: Lens.Lens' CopyDBClusterParameterGroupResponse (Prelude.Maybe DBClusterParameterGroup)+copyDBClusterParameterGroupResponse_dbClusterParameterGroup = Lens.lens (\CopyDBClusterParameterGroupResponse' {dbClusterParameterGroup} -> dbClusterParameterGroup) (\s@CopyDBClusterParameterGroupResponse' {} a -> s {dbClusterParameterGroup = a} :: CopyDBClusterParameterGroupResponse)++-- | The response's http status code.+copyDBClusterParameterGroupResponse_httpStatus :: Lens.Lens' CopyDBClusterParameterGroupResponse Prelude.Int+copyDBClusterParameterGroupResponse_httpStatus = Lens.lens (\CopyDBClusterParameterGroupResponse' {httpStatus} -> httpStatus) (\s@CopyDBClusterParameterGroupResponse' {} a -> s {httpStatus = a} :: CopyDBClusterParameterGroupResponse)++instance+  Prelude.NFData+    CopyDBClusterParameterGroupResponse+  where+  rnf CopyDBClusterParameterGroupResponse' {..} =+    Prelude.rnf dbClusterParameterGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CopyDBClusterSnapshot.hs view
@@ -0,0 +1,359 @@+{-# 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.Neptune.CopyDBClusterSnapshot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Copies a snapshot of a DB cluster.+--+-- To copy a DB cluster snapshot from a shared manual DB cluster snapshot,+-- @SourceDBClusterSnapshotIdentifier@ must be the Amazon Resource Name+-- (ARN) of the shared DB cluster snapshot.+module Amazonka.Neptune.CopyDBClusterSnapshot+  ( -- * Creating a Request+    CopyDBClusterSnapshot (..),+    newCopyDBClusterSnapshot,++    -- * Request Lenses+    copyDBClusterSnapshot_copyTags,+    copyDBClusterSnapshot_kmsKeyId,+    copyDBClusterSnapshot_preSignedUrl,+    copyDBClusterSnapshot_tags,+    copyDBClusterSnapshot_sourceDBClusterSnapshotIdentifier,+    copyDBClusterSnapshot_targetDBClusterSnapshotIdentifier,++    -- * Destructuring the Response+    CopyDBClusterSnapshotResponse (..),+    newCopyDBClusterSnapshotResponse,++    -- * Response Lenses+    copyDBClusterSnapshotResponse_dbClusterSnapshot,+    copyDBClusterSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCopyDBClusterSnapshot' smart constructor.+data CopyDBClusterSnapshot = CopyDBClusterSnapshot'+  { -- | True to copy all tags from the source DB cluster snapshot to the target+    -- DB cluster snapshot, and otherwise false. The default is false.+    copyTags :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The+    -- KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the+    -- KMS key alias for the KMS encryption key.+    --+    -- If you copy an encrypted DB cluster snapshot from your Amazon account,+    -- you can specify a value for @KmsKeyId@ to encrypt the copy with a new+    -- KMS encryption key. If you don\'t specify a value for @KmsKeyId@, then+    -- the copy of the DB cluster snapshot is encrypted with the same KMS key+    -- as the source DB cluster snapshot.+    --+    -- If you copy an encrypted DB cluster snapshot that is shared from another+    -- Amazon account, then you must specify a value for @KmsKeyId@.+    --+    -- KMS encryption keys are specific to the Amazon Region that they are+    -- created in, and you can\'t use encryption keys from one Amazon Region in+    -- another Amazon Region.+    --+    -- You cannot encrypt an unencrypted DB cluster snapshot when you copy it.+    -- If you try to copy an unencrypted DB cluster snapshot and specify a+    -- value for the KmsKeyId parameter, an error is returned.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Not currently supported.+    preSignedUrl :: Prelude.Maybe Prelude.Text,+    -- | The tags to assign to the new DB cluster snapshot copy.+    tags :: Prelude.Maybe [Tag],+    -- | The identifier of the DB cluster snapshot to copy. This parameter is not+    -- case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must specify a valid system snapshot in the \"available\" state.+    --+    -- -   Specify a valid DB snapshot identifier.+    --+    -- Example: @my-cluster-snapshot1@+    sourceDBClusterSnapshotIdentifier :: Prelude.Text,+    -- | The identifier of the new DB cluster snapshot to create from the source+    -- DB cluster snapshot. This parameter is not case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @my-cluster-snapshot2@+    targetDBClusterSnapshotIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBClusterSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTags', 'copyDBClusterSnapshot_copyTags' - True to copy all tags from the source DB cluster snapshot to the target+-- DB cluster snapshot, and otherwise false. The default is false.+--+-- 'kmsKeyId', 'copyDBClusterSnapshot_kmsKeyId' - The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The+-- KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the+-- KMS key alias for the KMS encryption key.+--+-- If you copy an encrypted DB cluster snapshot from your Amazon account,+-- you can specify a value for @KmsKeyId@ to encrypt the copy with a new+-- KMS encryption key. If you don\'t specify a value for @KmsKeyId@, then+-- the copy of the DB cluster snapshot is encrypted with the same KMS key+-- as the source DB cluster snapshot.+--+-- If you copy an encrypted DB cluster snapshot that is shared from another+-- Amazon account, then you must specify a value for @KmsKeyId@.+--+-- KMS encryption keys are specific to the Amazon Region that they are+-- created in, and you can\'t use encryption keys from one Amazon Region in+-- another Amazon Region.+--+-- You cannot encrypt an unencrypted DB cluster snapshot when you copy it.+-- If you try to copy an unencrypted DB cluster snapshot and specify a+-- value for the KmsKeyId parameter, an error is returned.+--+-- 'preSignedUrl', 'copyDBClusterSnapshot_preSignedUrl' - Not currently supported.+--+-- 'tags', 'copyDBClusterSnapshot_tags' - The tags to assign to the new DB cluster snapshot copy.+--+-- 'sourceDBClusterSnapshotIdentifier', 'copyDBClusterSnapshot_sourceDBClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot to copy. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   Must specify a valid system snapshot in the \"available\" state.+--+-- -   Specify a valid DB snapshot identifier.+--+-- Example: @my-cluster-snapshot1@+--+-- 'targetDBClusterSnapshotIdentifier', 'copyDBClusterSnapshot_targetDBClusterSnapshotIdentifier' - The identifier of the new DB cluster snapshot to create from the source+-- DB cluster snapshot. This parameter is not case-sensitive.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster-snapshot2@+newCopyDBClusterSnapshot ::+  -- | 'sourceDBClusterSnapshotIdentifier'+  Prelude.Text ->+  -- | 'targetDBClusterSnapshotIdentifier'+  Prelude.Text ->+  CopyDBClusterSnapshot+newCopyDBClusterSnapshot+  pSourceDBClusterSnapshotIdentifier_+  pTargetDBClusterSnapshotIdentifier_ =+    CopyDBClusterSnapshot'+      { copyTags = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        preSignedUrl = Prelude.Nothing,+        tags = Prelude.Nothing,+        sourceDBClusterSnapshotIdentifier =+          pSourceDBClusterSnapshotIdentifier_,+        targetDBClusterSnapshotIdentifier =+          pTargetDBClusterSnapshotIdentifier_+      }++-- | True to copy all tags from the source DB cluster snapshot to the target+-- DB cluster snapshot, and otherwise false. The default is false.+copyDBClusterSnapshot_copyTags :: Lens.Lens' CopyDBClusterSnapshot (Prelude.Maybe Prelude.Bool)+copyDBClusterSnapshot_copyTags = Lens.lens (\CopyDBClusterSnapshot' {copyTags} -> copyTags) (\s@CopyDBClusterSnapshot' {} a -> s {copyTags = a} :: CopyDBClusterSnapshot)++-- | The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The+-- KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the+-- KMS key alias for the KMS encryption key.+--+-- If you copy an encrypted DB cluster snapshot from your Amazon account,+-- you can specify a value for @KmsKeyId@ to encrypt the copy with a new+-- KMS encryption key. If you don\'t specify a value for @KmsKeyId@, then+-- the copy of the DB cluster snapshot is encrypted with the same KMS key+-- as the source DB cluster snapshot.+--+-- If you copy an encrypted DB cluster snapshot that is shared from another+-- Amazon account, then you must specify a value for @KmsKeyId@.+--+-- KMS encryption keys are specific to the Amazon Region that they are+-- created in, and you can\'t use encryption keys from one Amazon Region in+-- another Amazon Region.+--+-- You cannot encrypt an unencrypted DB cluster snapshot when you copy it.+-- If you try to copy an unencrypted DB cluster snapshot and specify a+-- value for the KmsKeyId parameter, an error is returned.+copyDBClusterSnapshot_kmsKeyId :: Lens.Lens' CopyDBClusterSnapshot (Prelude.Maybe Prelude.Text)+copyDBClusterSnapshot_kmsKeyId = Lens.lens (\CopyDBClusterSnapshot' {kmsKeyId} -> kmsKeyId) (\s@CopyDBClusterSnapshot' {} a -> s {kmsKeyId = a} :: CopyDBClusterSnapshot)++-- | Not currently supported.+copyDBClusterSnapshot_preSignedUrl :: Lens.Lens' CopyDBClusterSnapshot (Prelude.Maybe Prelude.Text)+copyDBClusterSnapshot_preSignedUrl = Lens.lens (\CopyDBClusterSnapshot' {preSignedUrl} -> preSignedUrl) (\s@CopyDBClusterSnapshot' {} a -> s {preSignedUrl = a} :: CopyDBClusterSnapshot)++-- | The tags to assign to the new DB cluster snapshot copy.+copyDBClusterSnapshot_tags :: Lens.Lens' CopyDBClusterSnapshot (Prelude.Maybe [Tag])+copyDBClusterSnapshot_tags = Lens.lens (\CopyDBClusterSnapshot' {tags} -> tags) (\s@CopyDBClusterSnapshot' {} a -> s {tags = a} :: CopyDBClusterSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the DB cluster snapshot to copy. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   Must specify a valid system snapshot in the \"available\" state.+--+-- -   Specify a valid DB snapshot identifier.+--+-- Example: @my-cluster-snapshot1@+copyDBClusterSnapshot_sourceDBClusterSnapshotIdentifier :: Lens.Lens' CopyDBClusterSnapshot Prelude.Text+copyDBClusterSnapshot_sourceDBClusterSnapshotIdentifier = Lens.lens (\CopyDBClusterSnapshot' {sourceDBClusterSnapshotIdentifier} -> sourceDBClusterSnapshotIdentifier) (\s@CopyDBClusterSnapshot' {} a -> s {sourceDBClusterSnapshotIdentifier = a} :: CopyDBClusterSnapshot)++-- | The identifier of the new DB cluster snapshot to create from the source+-- DB cluster snapshot. This parameter is not case-sensitive.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster-snapshot2@+copyDBClusterSnapshot_targetDBClusterSnapshotIdentifier :: Lens.Lens' CopyDBClusterSnapshot Prelude.Text+copyDBClusterSnapshot_targetDBClusterSnapshotIdentifier = Lens.lens (\CopyDBClusterSnapshot' {targetDBClusterSnapshotIdentifier} -> targetDBClusterSnapshotIdentifier) (\s@CopyDBClusterSnapshot' {} a -> s {targetDBClusterSnapshotIdentifier = a} :: CopyDBClusterSnapshot)++instance Core.AWSRequest CopyDBClusterSnapshot where+  type+    AWSResponse CopyDBClusterSnapshot =+      CopyDBClusterSnapshotResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CopyDBClusterSnapshotResult"+      ( \s h x ->+          CopyDBClusterSnapshotResponse'+            Prelude.<$> (x Data..@? "DBClusterSnapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CopyDBClusterSnapshot where+  hashWithSalt _salt CopyDBClusterSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` copyTags+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` preSignedUrl+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` sourceDBClusterSnapshotIdentifier+      `Prelude.hashWithSalt` targetDBClusterSnapshotIdentifier++instance Prelude.NFData CopyDBClusterSnapshot where+  rnf CopyDBClusterSnapshot' {..} =+    Prelude.rnf copyTags+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf preSignedUrl+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sourceDBClusterSnapshotIdentifier+      `Prelude.seq` Prelude.rnf targetDBClusterSnapshotIdentifier++instance Data.ToHeaders CopyDBClusterSnapshot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CopyDBClusterSnapshot where+  toPath = Prelude.const "/"++instance Data.ToQuery CopyDBClusterSnapshot where+  toQuery CopyDBClusterSnapshot' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CopyDBClusterSnapshot" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "CopyTags" Data.=: copyTags,+        "KmsKeyId" Data.=: kmsKeyId,+        "PreSignedUrl" Data.=: preSignedUrl,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "SourceDBClusterSnapshotIdentifier"+          Data.=: sourceDBClusterSnapshotIdentifier,+        "TargetDBClusterSnapshotIdentifier"+          Data.=: targetDBClusterSnapshotIdentifier+      ]++-- | /See:/ 'newCopyDBClusterSnapshotResponse' smart constructor.+data CopyDBClusterSnapshotResponse = CopyDBClusterSnapshotResponse'+  { dbClusterSnapshot :: Prelude.Maybe DBClusterSnapshot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBClusterSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshot', 'copyDBClusterSnapshotResponse_dbClusterSnapshot' - Undocumented member.+--+-- 'httpStatus', 'copyDBClusterSnapshotResponse_httpStatus' - The response's http status code.+newCopyDBClusterSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CopyDBClusterSnapshotResponse+newCopyDBClusterSnapshotResponse pHttpStatus_ =+  CopyDBClusterSnapshotResponse'+    { dbClusterSnapshot =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+copyDBClusterSnapshotResponse_dbClusterSnapshot :: Lens.Lens' CopyDBClusterSnapshotResponse (Prelude.Maybe DBClusterSnapshot)+copyDBClusterSnapshotResponse_dbClusterSnapshot = Lens.lens (\CopyDBClusterSnapshotResponse' {dbClusterSnapshot} -> dbClusterSnapshot) (\s@CopyDBClusterSnapshotResponse' {} a -> s {dbClusterSnapshot = a} :: CopyDBClusterSnapshotResponse)++-- | The response's http status code.+copyDBClusterSnapshotResponse_httpStatus :: Lens.Lens' CopyDBClusterSnapshotResponse Prelude.Int+copyDBClusterSnapshotResponse_httpStatus = Lens.lens (\CopyDBClusterSnapshotResponse' {httpStatus} -> httpStatus) (\s@CopyDBClusterSnapshotResponse' {} a -> s {httpStatus = a} :: CopyDBClusterSnapshotResponse)++instance Prelude.NFData CopyDBClusterSnapshotResponse where+  rnf CopyDBClusterSnapshotResponse' {..} =+    Prelude.rnf dbClusterSnapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CopyDBParameterGroup.hs view
@@ -0,0 +1,277 @@+{-# 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.Neptune.CopyDBParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Copies the specified DB parameter group.+module Amazonka.Neptune.CopyDBParameterGroup+  ( -- * Creating a Request+    CopyDBParameterGroup (..),+    newCopyDBParameterGroup,++    -- * Request Lenses+    copyDBParameterGroup_tags,+    copyDBParameterGroup_sourceDBParameterGroupIdentifier,+    copyDBParameterGroup_targetDBParameterGroupIdentifier,+    copyDBParameterGroup_targetDBParameterGroupDescription,++    -- * Destructuring the Response+    CopyDBParameterGroupResponse (..),+    newCopyDBParameterGroupResponse,++    -- * Response Lenses+    copyDBParameterGroupResponse_dbParameterGroup,+    copyDBParameterGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCopyDBParameterGroup' smart constructor.+data CopyDBParameterGroup = CopyDBParameterGroup'+  { -- | The tags to be assigned to the copied DB parameter group.+    tags :: Prelude.Maybe [Tag],+    -- | The identifier or ARN for the source DB parameter group. For information+    -- about creating an ARN, see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    --+    -- Constraints:+    --+    -- -   Must specify a valid DB parameter group.+    --+    -- -   Must specify a valid DB parameter group identifier, for example+    --     @my-db-param-group@, or a valid ARN.+    sourceDBParameterGroupIdentifier :: Prelude.Text,+    -- | The identifier for the copied DB parameter group.+    --+    -- Constraints:+    --+    -- -   Cannot be null, empty, or blank.+    --+    -- -   Must contain from 1 to 255 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @my-db-parameter-group@+    targetDBParameterGroupIdentifier :: Prelude.Text,+    -- | A description for the copied DB parameter group.+    targetDBParameterGroupDescription :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'copyDBParameterGroup_tags' - The tags to be assigned to the copied DB parameter group.+--+-- 'sourceDBParameterGroupIdentifier', 'copyDBParameterGroup_sourceDBParameterGroupIdentifier' - The identifier or ARN for the source DB parameter group. For information+-- about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- Constraints:+--+-- -   Must specify a valid DB parameter group.+--+-- -   Must specify a valid DB parameter group identifier, for example+--     @my-db-param-group@, or a valid ARN.+--+-- 'targetDBParameterGroupIdentifier', 'copyDBParameterGroup_targetDBParameterGroupIdentifier' - The identifier for the copied DB parameter group.+--+-- Constraints:+--+-- -   Cannot be null, empty, or blank.+--+-- -   Must contain from 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-db-parameter-group@+--+-- 'targetDBParameterGroupDescription', 'copyDBParameterGroup_targetDBParameterGroupDescription' - A description for the copied DB parameter group.+newCopyDBParameterGroup ::+  -- | 'sourceDBParameterGroupIdentifier'+  Prelude.Text ->+  -- | 'targetDBParameterGroupIdentifier'+  Prelude.Text ->+  -- | 'targetDBParameterGroupDescription'+  Prelude.Text ->+  CopyDBParameterGroup+newCopyDBParameterGroup+  pSourceDBParameterGroupIdentifier_+  pTargetDBParameterGroupIdentifier_+  pTargetDBParameterGroupDescription_ =+    CopyDBParameterGroup'+      { tags = Prelude.Nothing,+        sourceDBParameterGroupIdentifier =+          pSourceDBParameterGroupIdentifier_,+        targetDBParameterGroupIdentifier =+          pTargetDBParameterGroupIdentifier_,+        targetDBParameterGroupDescription =+          pTargetDBParameterGroupDescription_+      }++-- | The tags to be assigned to the copied DB parameter group.+copyDBParameterGroup_tags :: Lens.Lens' CopyDBParameterGroup (Prelude.Maybe [Tag])+copyDBParameterGroup_tags = Lens.lens (\CopyDBParameterGroup' {tags} -> tags) (\s@CopyDBParameterGroup' {} a -> s {tags = a} :: CopyDBParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | The identifier or ARN for the source DB parameter group. For information+-- about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- Constraints:+--+-- -   Must specify a valid DB parameter group.+--+-- -   Must specify a valid DB parameter group identifier, for example+--     @my-db-param-group@, or a valid ARN.+copyDBParameterGroup_sourceDBParameterGroupIdentifier :: Lens.Lens' CopyDBParameterGroup Prelude.Text+copyDBParameterGroup_sourceDBParameterGroupIdentifier = Lens.lens (\CopyDBParameterGroup' {sourceDBParameterGroupIdentifier} -> sourceDBParameterGroupIdentifier) (\s@CopyDBParameterGroup' {} a -> s {sourceDBParameterGroupIdentifier = a} :: CopyDBParameterGroup)++-- | The identifier for the copied DB parameter group.+--+-- Constraints:+--+-- -   Cannot be null, empty, or blank.+--+-- -   Must contain from 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-db-parameter-group@+copyDBParameterGroup_targetDBParameterGroupIdentifier :: Lens.Lens' CopyDBParameterGroup Prelude.Text+copyDBParameterGroup_targetDBParameterGroupIdentifier = Lens.lens (\CopyDBParameterGroup' {targetDBParameterGroupIdentifier} -> targetDBParameterGroupIdentifier) (\s@CopyDBParameterGroup' {} a -> s {targetDBParameterGroupIdentifier = a} :: CopyDBParameterGroup)++-- | A description for the copied DB parameter group.+copyDBParameterGroup_targetDBParameterGroupDescription :: Lens.Lens' CopyDBParameterGroup Prelude.Text+copyDBParameterGroup_targetDBParameterGroupDescription = Lens.lens (\CopyDBParameterGroup' {targetDBParameterGroupDescription} -> targetDBParameterGroupDescription) (\s@CopyDBParameterGroup' {} a -> s {targetDBParameterGroupDescription = a} :: CopyDBParameterGroup)++instance Core.AWSRequest CopyDBParameterGroup where+  type+    AWSResponse CopyDBParameterGroup =+      CopyDBParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CopyDBParameterGroupResult"+      ( \s h x ->+          CopyDBParameterGroupResponse'+            Prelude.<$> (x Data..@? "DBParameterGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CopyDBParameterGroup where+  hashWithSalt _salt CopyDBParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` sourceDBParameterGroupIdentifier+      `Prelude.hashWithSalt` targetDBParameterGroupIdentifier+      `Prelude.hashWithSalt` targetDBParameterGroupDescription++instance Prelude.NFData CopyDBParameterGroup where+  rnf CopyDBParameterGroup' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sourceDBParameterGroupIdentifier+      `Prelude.seq` Prelude.rnf targetDBParameterGroupIdentifier+      `Prelude.seq` Prelude.rnf targetDBParameterGroupDescription++instance Data.ToHeaders CopyDBParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CopyDBParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CopyDBParameterGroup where+  toQuery CopyDBParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CopyDBParameterGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "SourceDBParameterGroupIdentifier"+          Data.=: sourceDBParameterGroupIdentifier,+        "TargetDBParameterGroupIdentifier"+          Data.=: targetDBParameterGroupIdentifier,+        "TargetDBParameterGroupDescription"+          Data.=: targetDBParameterGroupDescription+      ]++-- | /See:/ 'newCopyDBParameterGroupResponse' smart constructor.+data CopyDBParameterGroupResponse = CopyDBParameterGroupResponse'+  { dbParameterGroup :: Prelude.Maybe DBParameterGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyDBParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroup', 'copyDBParameterGroupResponse_dbParameterGroup' - Undocumented member.+--+-- 'httpStatus', 'copyDBParameterGroupResponse_httpStatus' - The response's http status code.+newCopyDBParameterGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CopyDBParameterGroupResponse+newCopyDBParameterGroupResponse pHttpStatus_ =+  CopyDBParameterGroupResponse'+    { dbParameterGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+copyDBParameterGroupResponse_dbParameterGroup :: Lens.Lens' CopyDBParameterGroupResponse (Prelude.Maybe DBParameterGroup)+copyDBParameterGroupResponse_dbParameterGroup = Lens.lens (\CopyDBParameterGroupResponse' {dbParameterGroup} -> dbParameterGroup) (\s@CopyDBParameterGroupResponse' {} a -> s {dbParameterGroup = a} :: CopyDBParameterGroupResponse)++-- | The response's http status code.+copyDBParameterGroupResponse_httpStatus :: Lens.Lens' CopyDBParameterGroupResponse Prelude.Int+copyDBParameterGroupResponse_httpStatus = Lens.lens (\CopyDBParameterGroupResponse' {httpStatus} -> httpStatus) (\s@CopyDBParameterGroupResponse' {} a -> s {httpStatus = a} :: CopyDBParameterGroupResponse)++instance Prelude.NFData CopyDBParameterGroupResponse where+  rnf CopyDBParameterGroupResponse' {..} =+    Prelude.rnf dbParameterGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBCluster.hs view
@@ -0,0 +1,858 @@+{-# 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.Neptune.CreateDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Amazon Neptune DB cluster.+--+-- You can use the @ReplicationSourceIdentifier@ parameter to create the DB+-- cluster as a Read Replica of another DB cluster or Amazon Neptune DB+-- instance.+--+-- Note that when you create a new cluster using @CreateDBCluster@+-- directly, deletion protection is disabled by default (when you create a+-- new production cluster in the console, deletion protection is enabled by+-- default). You can only delete a DB cluster if its @DeletionProtection@+-- field is set to @false@.+module Amazonka.Neptune.CreateDBCluster+  ( -- * Creating a Request+    CreateDBCluster (..),+    newCreateDBCluster,++    -- * Request Lenses+    createDBCluster_availabilityZones,+    createDBCluster_backupRetentionPeriod,+    createDBCluster_characterSetName,+    createDBCluster_copyTagsToSnapshot,+    createDBCluster_dbClusterParameterGroupName,+    createDBCluster_dbSubnetGroupName,+    createDBCluster_databaseName,+    createDBCluster_deletionProtection,+    createDBCluster_enableCloudwatchLogsExports,+    createDBCluster_enableIAMDatabaseAuthentication,+    createDBCluster_engineVersion,+    createDBCluster_globalClusterIdentifier,+    createDBCluster_kmsKeyId,+    createDBCluster_masterUserPassword,+    createDBCluster_masterUsername,+    createDBCluster_optionGroupName,+    createDBCluster_port,+    createDBCluster_preSignedUrl,+    createDBCluster_preferredBackupWindow,+    createDBCluster_preferredMaintenanceWindow,+    createDBCluster_replicationSourceIdentifier,+    createDBCluster_serverlessV2ScalingConfiguration,+    createDBCluster_storageEncrypted,+    createDBCluster_tags,+    createDBCluster_vpcSecurityGroupIds,+    createDBCluster_dbClusterIdentifier,+    createDBCluster_engine,++    -- * Destructuring the Response+    CreateDBClusterResponse (..),+    newCreateDBClusterResponse,++    -- * Response Lenses+    createDBClusterResponse_dbCluster,+    createDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBCluster' smart constructor.+data CreateDBCluster = CreateDBCluster'+  { -- | A list of EC2 Availability Zones that instances in the DB cluster can be+    -- created in.+    availabilityZones :: Prelude.Maybe [Prelude.Text],+    -- | The number of days for which automated backups are retained. You must+    -- specify a minimum value of 1.+    --+    -- Default: 1+    --+    -- Constraints:+    --+    -- -   Must be a value from 1 to 35+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | /(Not supported by Neptune)/+    characterSetName :: Prelude.Maybe Prelude.Text,+    -- | /If set to @true@, tags are copied to any snapshot of the DB cluster+    -- that is created./+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The name of the DB cluster parameter group to associate with this DB+    -- cluster. If this argument is omitted, the default is used.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | A DB subnet group to associate with this DB cluster.+    --+    -- Constraints: Must match the name of an existing DBSubnetGroup. Must not+    -- be default.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | The name for your database of up to 64 alpha-numeric characters. If you+    -- do not provide a name, Amazon Neptune will not create a database in the+    -- DB cluster you are creating.+    databaseName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB cluster has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is enabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The list of log types that need to be enabled for exporting to+    -- CloudWatch Logs.+    enableCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | If set to @true@, enables Amazon Identity and Access Management (IAM)+    -- authentication for the entire DB cluster (this cannot be set at an+    -- instance level).+    --+    -- Default: @false@.+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | The version number of the database engine to use for the new DB cluster.+    --+    -- Example: @1.0.2.1@+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Neptune global database to which this new DB cluster+    -- should be added.+    globalClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The Amazon KMS key identifier for an encrypted DB cluster.+    --+    -- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+    -- encryption key. If you are creating a DB cluster with the same Amazon+    -- account that owns the KMS encryption key used to encrypt the new DB+    -- cluster, then you can use the KMS key alias instead of the ARN for the+    -- KMS encryption key.+    --+    -- If an encryption key is not specified in @KmsKeyId@:+    --+    -- -   If @ReplicationSourceIdentifier@ identifies an encrypted source,+    --     then Amazon Neptune will use the encryption key used to encrypt the+    --     source. Otherwise, Amazon Neptune will use your default encryption+    --     key.+    --+    -- -   If the @StorageEncrypted@ parameter is true and+    --     @ReplicationSourceIdentifier@ is not specified, then Amazon Neptune+    --     will use your default encryption key.+    --+    -- Amazon KMS creates the default encryption key for your Amazon account.+    -- Your Amazon account has a different default encryption key for each+    -- Amazon Region.+    --+    -- If you create a Read Replica of an encrypted DB cluster in another+    -- Amazon Region, you must set @KmsKeyId@ to a KMS key ID that is valid in+    -- the destination Amazon Region. This key is used to encrypt the Read+    -- Replica in that Amazon Region.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUserPassword :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUsername :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the instances in the DB cluster accept+    -- connections.+    --+    -- Default: @8182@+    port :: Prelude.Maybe Prelude.Int,+    -- | This parameter is not currently supported.+    preSignedUrl :: Prelude.Maybe Prelude.Text,+    -- | The daily time range during which automated backups are created if+    -- automated backups are enabled using the @BackupRetentionPeriod@+    -- parameter.+    --+    -- The default is a 30-minute window selected at random from an 8-hour+    -- block of time for each Amazon Region. To see the time blocks available,+    -- see+    -- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+    -- in the /Amazon Neptune User Guide./+    --+    -- Constraints:+    --+    -- -   Must be in the format @hh24:mi-hh24:mi@.+    --+    -- -   Must be in Universal Coordinated Time (UTC).+    --+    -- -   Must not conflict with the preferred maintenance window.+    --+    -- -   Must be at least 30 minutes.+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | The weekly time range during which system maintenance can occur, in+    -- Universal Coordinated Time (UTC).+    --+    -- Format: @ddd:hh24:mi-ddd:hh24:mi@+    --+    -- The default is a 30-minute window selected at random from an 8-hour+    -- block of time for each Amazon Region, occurring on a random day of the+    -- week. To see the time blocks available, see+    -- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+    -- in the /Amazon Neptune User Guide./+    --+    -- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+    --+    -- Constraints: Minimum 30-minute window.+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the source DB instance or DB cluster+    -- if this DB cluster is created as a Read Replica.+    replicationSourceIdentifier :: Prelude.Maybe Prelude.Text,+    serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfiguration,+    -- | Specifies whether the DB cluster is encrypted.+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | The tags to assign to the new DB cluster.+    tags :: Prelude.Maybe [Tag],+    -- | A list of EC2 VPC security groups to associate with this DB cluster.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The DB cluster identifier. This parameter is stored as a lowercase+    -- string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @my-cluster1@+    dbClusterIdentifier :: Prelude.Text,+    -- | The name of the database engine to be used for this DB cluster.+    --+    -- Valid Values: @neptune@+    engine :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZones', 'createDBCluster_availabilityZones' - A list of EC2 Availability Zones that instances in the DB cluster can be+-- created in.+--+-- 'backupRetentionPeriod', 'createDBCluster_backupRetentionPeriod' - The number of days for which automated backups are retained. You must+-- specify a minimum value of 1.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 1 to 35+--+-- 'characterSetName', 'createDBCluster_characterSetName' - /(Not supported by Neptune)/+--+-- 'copyTagsToSnapshot', 'createDBCluster_copyTagsToSnapshot' - /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+--+-- 'dbClusterParameterGroupName', 'createDBCluster_dbClusterParameterGroupName' - The name of the DB cluster parameter group to associate with this DB+-- cluster. If this argument is omitted, the default is used.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+--+-- 'dbSubnetGroupName', 'createDBCluster_dbSubnetGroupName' - A DB subnet group to associate with this DB cluster.+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+--+-- 'databaseName', 'createDBCluster_databaseName' - The name for your database of up to 64 alpha-numeric characters. If you+-- do not provide a name, Amazon Neptune will not create a database in the+-- DB cluster you are creating.+--+-- 'deletionProtection', 'createDBCluster_deletionProtection' - A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is enabled.+--+-- 'enableCloudwatchLogsExports', 'createDBCluster_enableCloudwatchLogsExports' - The list of log types that need to be enabled for exporting to+-- CloudWatch Logs.+--+-- 'enableIAMDatabaseAuthentication', 'createDBCluster_enableIAMDatabaseAuthentication' - If set to @true@, enables Amazon Identity and Access Management (IAM)+-- authentication for the entire DB cluster (this cannot be set at an+-- instance level).+--+-- Default: @false@.+--+-- 'engineVersion', 'createDBCluster_engineVersion' - The version number of the database engine to use for the new DB cluster.+--+-- Example: @1.0.2.1@+--+-- 'globalClusterIdentifier', 'createDBCluster_globalClusterIdentifier' - The ID of the Neptune global database to which this new DB cluster+-- should be added.+--+-- 'kmsKeyId', 'createDBCluster_kmsKeyId' - The Amazon KMS key identifier for an encrypted DB cluster.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are creating a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- If an encryption key is not specified in @KmsKeyId@:+--+-- -   If @ReplicationSourceIdentifier@ identifies an encrypted source,+--     then Amazon Neptune will use the encryption key used to encrypt the+--     source. Otherwise, Amazon Neptune will use your default encryption+--     key.+--+-- -   If the @StorageEncrypted@ parameter is true and+--     @ReplicationSourceIdentifier@ is not specified, then Amazon Neptune+--     will use your default encryption key.+--+-- Amazon KMS creates the default encryption key for your Amazon account.+-- Your Amazon account has a different default encryption key for each+-- Amazon Region.+--+-- If you create a Read Replica of an encrypted DB cluster in another+-- Amazon Region, you must set @KmsKeyId@ to a KMS key ID that is valid in+-- the destination Amazon Region. This key is used to encrypt the Read+-- Replica in that Amazon Region.+--+-- 'masterUserPassword', 'createDBCluster_masterUserPassword' - Not supported by Neptune.+--+-- 'masterUsername', 'createDBCluster_masterUsername' - Not supported by Neptune.+--+-- 'optionGroupName', 'createDBCluster_optionGroupName' - /(Not supported by Neptune)/+--+-- 'port', 'createDBCluster_port' - The port number on which the instances in the DB cluster accept+-- connections.+--+-- Default: @8182@+--+-- 'preSignedUrl', 'createDBCluster_preSignedUrl' - This parameter is not currently supported.+--+-- 'preferredBackupWindow', 'createDBCluster_preferredBackupWindow' - The daily time range during which automated backups are created if+-- automated backups are enabled using the @BackupRetentionPeriod@+-- parameter.+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region. To see the time blocks available,+-- see+-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+-- in the /Amazon Neptune User Guide./+--+-- Constraints:+--+-- -   Must be in the format @hh24:mi-hh24:mi@.+--+-- -   Must be in Universal Coordinated Time (UTC).+--+-- -   Must not conflict with the preferred maintenance window.+--+-- -   Must be at least 30 minutes.+--+-- 'preferredMaintenanceWindow', 'createDBCluster_preferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week. To see the time blocks available, see+-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+-- in the /Amazon Neptune User Guide./+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+--+-- 'replicationSourceIdentifier', 'createDBCluster_replicationSourceIdentifier' - The Amazon Resource Name (ARN) of the source DB instance or DB cluster+-- if this DB cluster is created as a Read Replica.+--+-- 'serverlessV2ScalingConfiguration', 'createDBCluster_serverlessV2ScalingConfiguration' - Undocumented member.+--+-- 'storageEncrypted', 'createDBCluster_storageEncrypted' - Specifies whether the DB cluster is encrypted.+--+-- 'tags', 'createDBCluster_tags' - The tags to assign to the new DB cluster.+--+-- 'vpcSecurityGroupIds', 'createDBCluster_vpcSecurityGroupIds' - A list of EC2 VPC security groups to associate with this DB cluster.+--+-- 'dbClusterIdentifier', 'createDBCluster_dbClusterIdentifier' - The DB cluster identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster1@+--+-- 'engine', 'createDBCluster_engine' - The name of the database engine to be used for this DB cluster.+--+-- Valid Values: @neptune@+newCreateDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'engine'+  Prelude.Text ->+  CreateDBCluster+newCreateDBCluster pDBClusterIdentifier_ pEngine_ =+  CreateDBCluster'+    { availabilityZones =+        Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      characterSetName = Prelude.Nothing,+      copyTagsToSnapshot = Prelude.Nothing,+      dbClusterParameterGroupName = Prelude.Nothing,+      dbSubnetGroupName = Prelude.Nothing,+      databaseName = Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      enableCloudwatchLogsExports = Prelude.Nothing,+      enableIAMDatabaseAuthentication = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      globalClusterIdentifier = Prelude.Nothing,+      kmsKeyId = Prelude.Nothing,+      masterUserPassword = Prelude.Nothing,+      masterUsername = Prelude.Nothing,+      optionGroupName = Prelude.Nothing,+      port = Prelude.Nothing,+      preSignedUrl = Prelude.Nothing,+      preferredBackupWindow = Prelude.Nothing,+      preferredMaintenanceWindow = Prelude.Nothing,+      replicationSourceIdentifier = Prelude.Nothing,+      serverlessV2ScalingConfiguration = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing,+      tags = Prelude.Nothing,+      vpcSecurityGroupIds = Prelude.Nothing,+      dbClusterIdentifier = pDBClusterIdentifier_,+      engine = pEngine_+    }++-- | A list of EC2 Availability Zones that instances in the DB cluster can be+-- created in.+createDBCluster_availabilityZones :: Lens.Lens' CreateDBCluster (Prelude.Maybe [Prelude.Text])+createDBCluster_availabilityZones = Lens.lens (\CreateDBCluster' {availabilityZones} -> availabilityZones) (\s@CreateDBCluster' {} a -> s {availabilityZones = a} :: CreateDBCluster) Prelude.. Lens.mapping Lens.coerced++-- | The number of days for which automated backups are retained. You must+-- specify a minimum value of 1.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 1 to 35+createDBCluster_backupRetentionPeriod :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Int)+createDBCluster_backupRetentionPeriod = Lens.lens (\CreateDBCluster' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@CreateDBCluster' {} a -> s {backupRetentionPeriod = a} :: CreateDBCluster)++-- | /(Not supported by Neptune)/+createDBCluster_characterSetName :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_characterSetName = Lens.lens (\CreateDBCluster' {characterSetName} -> characterSetName) (\s@CreateDBCluster' {} a -> s {characterSetName = a} :: CreateDBCluster)++-- | /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+createDBCluster_copyTagsToSnapshot :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Bool)+createDBCluster_copyTagsToSnapshot = Lens.lens (\CreateDBCluster' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@CreateDBCluster' {} a -> s {copyTagsToSnapshot = a} :: CreateDBCluster)++-- | The name of the DB cluster parameter group to associate with this DB+-- cluster. If this argument is omitted, the default is used.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+createDBCluster_dbClusterParameterGroupName :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_dbClusterParameterGroupName = Lens.lens (\CreateDBCluster' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@CreateDBCluster' {} a -> s {dbClusterParameterGroupName = a} :: CreateDBCluster)++-- | A DB subnet group to associate with this DB cluster.+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+createDBCluster_dbSubnetGroupName :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_dbSubnetGroupName = Lens.lens (\CreateDBCluster' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@CreateDBCluster' {} a -> s {dbSubnetGroupName = a} :: CreateDBCluster)++-- | The name for your database of up to 64 alpha-numeric characters. If you+-- do not provide a name, Amazon Neptune will not create a database in the+-- DB cluster you are creating.+createDBCluster_databaseName :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_databaseName = Lens.lens (\CreateDBCluster' {databaseName} -> databaseName) (\s@CreateDBCluster' {} a -> s {databaseName = a} :: CreateDBCluster)++-- | A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is enabled.+createDBCluster_deletionProtection :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Bool)+createDBCluster_deletionProtection = Lens.lens (\CreateDBCluster' {deletionProtection} -> deletionProtection) (\s@CreateDBCluster' {} a -> s {deletionProtection = a} :: CreateDBCluster)++-- | The list of log types that need to be enabled for exporting to+-- CloudWatch Logs.+createDBCluster_enableCloudwatchLogsExports :: Lens.Lens' CreateDBCluster (Prelude.Maybe [Prelude.Text])+createDBCluster_enableCloudwatchLogsExports = Lens.lens (\CreateDBCluster' {enableCloudwatchLogsExports} -> enableCloudwatchLogsExports) (\s@CreateDBCluster' {} a -> s {enableCloudwatchLogsExports = a} :: CreateDBCluster) Prelude.. Lens.mapping Lens.coerced++-- | If set to @true@, enables Amazon Identity and Access Management (IAM)+-- authentication for the entire DB cluster (this cannot be set at an+-- instance level).+--+-- Default: @false@.+createDBCluster_enableIAMDatabaseAuthentication :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Bool)+createDBCluster_enableIAMDatabaseAuthentication = Lens.lens (\CreateDBCluster' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@CreateDBCluster' {} a -> s {enableIAMDatabaseAuthentication = a} :: CreateDBCluster)++-- | The version number of the database engine to use for the new DB cluster.+--+-- Example: @1.0.2.1@+createDBCluster_engineVersion :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_engineVersion = Lens.lens (\CreateDBCluster' {engineVersion} -> engineVersion) (\s@CreateDBCluster' {} a -> s {engineVersion = a} :: CreateDBCluster)++-- | The ID of the Neptune global database to which this new DB cluster+-- should be added.+createDBCluster_globalClusterIdentifier :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_globalClusterIdentifier = Lens.lens (\CreateDBCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@CreateDBCluster' {} a -> s {globalClusterIdentifier = a} :: CreateDBCluster)++-- | The Amazon KMS key identifier for an encrypted DB cluster.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are creating a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- If an encryption key is not specified in @KmsKeyId@:+--+-- -   If @ReplicationSourceIdentifier@ identifies an encrypted source,+--     then Amazon Neptune will use the encryption key used to encrypt the+--     source. Otherwise, Amazon Neptune will use your default encryption+--     key.+--+-- -   If the @StorageEncrypted@ parameter is true and+--     @ReplicationSourceIdentifier@ is not specified, then Amazon Neptune+--     will use your default encryption key.+--+-- Amazon KMS creates the default encryption key for your Amazon account.+-- Your Amazon account has a different default encryption key for each+-- Amazon Region.+--+-- If you create a Read Replica of an encrypted DB cluster in another+-- Amazon Region, you must set @KmsKeyId@ to a KMS key ID that is valid in+-- the destination Amazon Region. This key is used to encrypt the Read+-- Replica in that Amazon Region.+createDBCluster_kmsKeyId :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_kmsKeyId = Lens.lens (\CreateDBCluster' {kmsKeyId} -> kmsKeyId) (\s@CreateDBCluster' {} a -> s {kmsKeyId = a} :: CreateDBCluster)++-- | Not supported by Neptune.+createDBCluster_masterUserPassword :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_masterUserPassword = Lens.lens (\CreateDBCluster' {masterUserPassword} -> masterUserPassword) (\s@CreateDBCluster' {} a -> s {masterUserPassword = a} :: CreateDBCluster)++-- | Not supported by Neptune.+createDBCluster_masterUsername :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_masterUsername = Lens.lens (\CreateDBCluster' {masterUsername} -> masterUsername) (\s@CreateDBCluster' {} a -> s {masterUsername = a} :: CreateDBCluster)++-- | /(Not supported by Neptune)/+createDBCluster_optionGroupName :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_optionGroupName = Lens.lens (\CreateDBCluster' {optionGroupName} -> optionGroupName) (\s@CreateDBCluster' {} a -> s {optionGroupName = a} :: CreateDBCluster)++-- | The port number on which the instances in the DB cluster accept+-- connections.+--+-- Default: @8182@+createDBCluster_port :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Int)+createDBCluster_port = Lens.lens (\CreateDBCluster' {port} -> port) (\s@CreateDBCluster' {} a -> s {port = a} :: CreateDBCluster)++-- | This parameter is not currently supported.+createDBCluster_preSignedUrl :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_preSignedUrl = Lens.lens (\CreateDBCluster' {preSignedUrl} -> preSignedUrl) (\s@CreateDBCluster' {} a -> s {preSignedUrl = a} :: CreateDBCluster)++-- | The daily time range during which automated backups are created if+-- automated backups are enabled using the @BackupRetentionPeriod@+-- parameter.+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region. To see the time blocks available,+-- see+-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+-- in the /Amazon Neptune User Guide./+--+-- Constraints:+--+-- -   Must be in the format @hh24:mi-hh24:mi@.+--+-- -   Must be in Universal Coordinated Time (UTC).+--+-- -   Must not conflict with the preferred maintenance window.+--+-- -   Must be at least 30 minutes.+createDBCluster_preferredBackupWindow :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_preferredBackupWindow = Lens.lens (\CreateDBCluster' {preferredBackupWindow} -> preferredBackupWindow) (\s@CreateDBCluster' {} a -> s {preferredBackupWindow = a} :: CreateDBCluster)++-- | The weekly time range during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week. To see the time blocks available, see+-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window>+-- in the /Amazon Neptune User Guide./+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+createDBCluster_preferredMaintenanceWindow :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_preferredMaintenanceWindow = Lens.lens (\CreateDBCluster' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@CreateDBCluster' {} a -> s {preferredMaintenanceWindow = a} :: CreateDBCluster)++-- | The Amazon Resource Name (ARN) of the source DB instance or DB cluster+-- if this DB cluster is created as a Read Replica.+createDBCluster_replicationSourceIdentifier :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Text)+createDBCluster_replicationSourceIdentifier = Lens.lens (\CreateDBCluster' {replicationSourceIdentifier} -> replicationSourceIdentifier) (\s@CreateDBCluster' {} a -> s {replicationSourceIdentifier = a} :: CreateDBCluster)++-- | Undocumented member.+createDBCluster_serverlessV2ScalingConfiguration :: Lens.Lens' CreateDBCluster (Prelude.Maybe ServerlessV2ScalingConfiguration)+createDBCluster_serverlessV2ScalingConfiguration = Lens.lens (\CreateDBCluster' {serverlessV2ScalingConfiguration} -> serverlessV2ScalingConfiguration) (\s@CreateDBCluster' {} a -> s {serverlessV2ScalingConfiguration = a} :: CreateDBCluster)++-- | Specifies whether the DB cluster is encrypted.+createDBCluster_storageEncrypted :: Lens.Lens' CreateDBCluster (Prelude.Maybe Prelude.Bool)+createDBCluster_storageEncrypted = Lens.lens (\CreateDBCluster' {storageEncrypted} -> storageEncrypted) (\s@CreateDBCluster' {} a -> s {storageEncrypted = a} :: CreateDBCluster)++-- | The tags to assign to the new DB cluster.+createDBCluster_tags :: Lens.Lens' CreateDBCluster (Prelude.Maybe [Tag])+createDBCluster_tags = Lens.lens (\CreateDBCluster' {tags} -> tags) (\s@CreateDBCluster' {} a -> s {tags = a} :: CreateDBCluster) Prelude.. Lens.mapping Lens.coerced++-- | A list of EC2 VPC security groups to associate with this DB cluster.+createDBCluster_vpcSecurityGroupIds :: Lens.Lens' CreateDBCluster (Prelude.Maybe [Prelude.Text])+createDBCluster_vpcSecurityGroupIds = Lens.lens (\CreateDBCluster' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@CreateDBCluster' {} a -> s {vpcSecurityGroupIds = a} :: CreateDBCluster) Prelude.. Lens.mapping Lens.coerced++-- | The DB cluster identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster1@+createDBCluster_dbClusterIdentifier :: Lens.Lens' CreateDBCluster Prelude.Text+createDBCluster_dbClusterIdentifier = Lens.lens (\CreateDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@CreateDBCluster' {} a -> s {dbClusterIdentifier = a} :: CreateDBCluster)++-- | The name of the database engine to be used for this DB cluster.+--+-- Valid Values: @neptune@+createDBCluster_engine :: Lens.Lens' CreateDBCluster Prelude.Text+createDBCluster_engine = Lens.lens (\CreateDBCluster' {engine} -> engine) (\s@CreateDBCluster' {} a -> s {engine = a} :: CreateDBCluster)++instance Core.AWSRequest CreateDBCluster where+  type+    AWSResponse CreateDBCluster =+      CreateDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBClusterResult"+      ( \s h x ->+          CreateDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBCluster where+  hashWithSalt _salt CreateDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZones+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` characterSetName+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` databaseName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` enableCloudwatchLogsExports+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` globalClusterIdentifier+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` masterUserPassword+      `Prelude.hashWithSalt` masterUsername+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` preSignedUrl+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` replicationSourceIdentifier+      `Prelude.hashWithSalt` serverlessV2ScalingConfiguration+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` engine++instance Prelude.NFData CreateDBCluster where+  rnf CreateDBCluster' {..} =+    Prelude.rnf availabilityZones+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf characterSetName+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf databaseName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf enableCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf globalClusterIdentifier+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf masterUserPassword+      `Prelude.seq` Prelude.rnf masterUsername+      `Prelude.seq` Prelude.rnf optionGroupName+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf preSignedUrl+      `Prelude.seq` Prelude.rnf+        preferredBackupWindow+      `Prelude.seq` Prelude.rnf+        preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        replicationSourceIdentifier+      `Prelude.seq` Prelude.rnf+        serverlessV2ScalingConfiguration+      `Prelude.seq` Prelude.rnf+        storageEncrypted+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf+        vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf+        dbClusterIdentifier+      `Prelude.seq` Prelude.rnf+        engine++instance Data.ToHeaders CreateDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBCluster where+  toQuery CreateDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AvailabilityZones"+          Data.=: Data.toQuery+            ( Data.toQueryList "AvailabilityZone"+                Prelude.<$> availabilityZones+            ),+        "BackupRetentionPeriod"+          Data.=: backupRetentionPeriod,+        "CharacterSetName" Data.=: characterSetName,+        "CopyTagsToSnapshot" Data.=: copyTagsToSnapshot,+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DatabaseName" Data.=: databaseName,+        "DeletionProtection" Data.=: deletionProtection,+        "EnableCloudwatchLogsExports"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> enableCloudwatchLogsExports+            ),+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "EngineVersion" Data.=: engineVersion,+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier,+        "KmsKeyId" Data.=: kmsKeyId,+        "MasterUserPassword" Data.=: masterUserPassword,+        "MasterUsername" Data.=: masterUsername,+        "OptionGroupName" Data.=: optionGroupName,+        "Port" Data.=: port,+        "PreSignedUrl" Data.=: preSignedUrl,+        "PreferredBackupWindow"+          Data.=: preferredBackupWindow,+        "PreferredMaintenanceWindow"+          Data.=: preferredMaintenanceWindow,+        "ReplicationSourceIdentifier"+          Data.=: replicationSourceIdentifier,+        "ServerlessV2ScalingConfiguration"+          Data.=: serverlessV2ScalingConfiguration,+        "StorageEncrypted" Data.=: storageEncrypted,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "Engine" Data.=: engine+      ]++-- | /See:/ 'newCreateDBClusterResponse' smart constructor.+data CreateDBClusterResponse = CreateDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'createDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'createDBClusterResponse_httpStatus' - The response's http status code.+newCreateDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBClusterResponse+newCreateDBClusterResponse pHttpStatus_ =+  CreateDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBClusterResponse_dbCluster :: Lens.Lens' CreateDBClusterResponse (Prelude.Maybe DBCluster)+createDBClusterResponse_dbCluster = Lens.lens (\CreateDBClusterResponse' {dbCluster} -> dbCluster) (\s@CreateDBClusterResponse' {} a -> s {dbCluster = a} :: CreateDBClusterResponse)++-- | The response's http status code.+createDBClusterResponse_httpStatus :: Lens.Lens' CreateDBClusterResponse Prelude.Int+createDBClusterResponse_httpStatus = Lens.lens (\CreateDBClusterResponse' {httpStatus} -> httpStatus) (\s@CreateDBClusterResponse' {} a -> s {httpStatus = a} :: CreateDBClusterResponse)++instance Prelude.NFData CreateDBClusterResponse where+  rnf CreateDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBClusterEndpoint.hs view
@@ -0,0 +1,431 @@+{-# 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.Neptune.CreateDBClusterEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new custom endpoint and associates it with an Amazon Neptune+-- DB cluster.+module Amazonka.Neptune.CreateDBClusterEndpoint+  ( -- * Creating a Request+    CreateDBClusterEndpoint (..),+    newCreateDBClusterEndpoint,++    -- * Request Lenses+    createDBClusterEndpoint_excludedMembers,+    createDBClusterEndpoint_staticMembers,+    createDBClusterEndpoint_tags,+    createDBClusterEndpoint_dbClusterIdentifier,+    createDBClusterEndpoint_dbClusterEndpointIdentifier,+    createDBClusterEndpoint_endpointType,++    -- * Destructuring the Response+    CreateDBClusterEndpointResponse (..),+    newCreateDBClusterEndpointResponse,++    -- * Response Lenses+    createDBClusterEndpointResponse_customEndpointType,+    createDBClusterEndpointResponse_dbClusterEndpointArn,+    createDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    createDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    createDBClusterEndpointResponse_dbClusterIdentifier,+    createDBClusterEndpointResponse_endpoint,+    createDBClusterEndpointResponse_endpointType,+    createDBClusterEndpointResponse_excludedMembers,+    createDBClusterEndpointResponse_staticMembers,+    createDBClusterEndpointResponse_status,+    createDBClusterEndpointResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBClusterEndpoint' smart constructor.+data CreateDBClusterEndpoint = CreateDBClusterEndpoint'+  { -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The tags to be assigned to the Amazon Neptune resource.+    tags :: Prelude.Maybe [Tag],+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Text,+    -- | The identifier to use for the new endpoint. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Text,+    -- | The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+    endpointType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludedMembers', 'createDBClusterEndpoint_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'createDBClusterEndpoint_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'tags', 'createDBClusterEndpoint_tags' - The tags to be assigned to the Amazon Neptune resource.+--+-- 'dbClusterIdentifier', 'createDBClusterEndpoint_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'dbClusterEndpointIdentifier', 'createDBClusterEndpoint_dbClusterEndpointIdentifier' - The identifier to use for the new endpoint. This parameter is stored as+-- a lowercase string.+--+-- 'endpointType', 'createDBClusterEndpoint_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+newCreateDBClusterEndpoint ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'dbClusterEndpointIdentifier'+  Prelude.Text ->+  -- | 'endpointType'+  Prelude.Text ->+  CreateDBClusterEndpoint+newCreateDBClusterEndpoint+  pDBClusterIdentifier_+  pDBClusterEndpointIdentifier_+  pEndpointType_ =+    CreateDBClusterEndpoint'+      { excludedMembers =+          Prelude.Nothing,+        staticMembers = Prelude.Nothing,+        tags = Prelude.Nothing,+        dbClusterIdentifier = pDBClusterIdentifier_,+        dbClusterEndpointIdentifier =+          pDBClusterEndpointIdentifier_,+        endpointType = pEndpointType_+      }++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+createDBClusterEndpoint_excludedMembers :: Lens.Lens' CreateDBClusterEndpoint (Prelude.Maybe [Prelude.Text])+createDBClusterEndpoint_excludedMembers = Lens.lens (\CreateDBClusterEndpoint' {excludedMembers} -> excludedMembers) (\s@CreateDBClusterEndpoint' {} a -> s {excludedMembers = a} :: CreateDBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+createDBClusterEndpoint_staticMembers :: Lens.Lens' CreateDBClusterEndpoint (Prelude.Maybe [Prelude.Text])+createDBClusterEndpoint_staticMembers = Lens.lens (\CreateDBClusterEndpoint' {staticMembers} -> staticMembers) (\s@CreateDBClusterEndpoint' {} a -> s {staticMembers = a} :: CreateDBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The tags to be assigned to the Amazon Neptune resource.+createDBClusterEndpoint_tags :: Lens.Lens' CreateDBClusterEndpoint (Prelude.Maybe [Tag])+createDBClusterEndpoint_tags = Lens.lens (\CreateDBClusterEndpoint' {tags} -> tags) (\s@CreateDBClusterEndpoint' {} a -> s {tags = a} :: CreateDBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+createDBClusterEndpoint_dbClusterIdentifier :: Lens.Lens' CreateDBClusterEndpoint Prelude.Text+createDBClusterEndpoint_dbClusterIdentifier = Lens.lens (\CreateDBClusterEndpoint' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@CreateDBClusterEndpoint' {} a -> s {dbClusterIdentifier = a} :: CreateDBClusterEndpoint)++-- | The identifier to use for the new endpoint. This parameter is stored as+-- a lowercase string.+createDBClusterEndpoint_dbClusterEndpointIdentifier :: Lens.Lens' CreateDBClusterEndpoint Prelude.Text+createDBClusterEndpoint_dbClusterEndpointIdentifier = Lens.lens (\CreateDBClusterEndpoint' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@CreateDBClusterEndpoint' {} a -> s {dbClusterEndpointIdentifier = a} :: CreateDBClusterEndpoint)++-- | The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+createDBClusterEndpoint_endpointType :: Lens.Lens' CreateDBClusterEndpoint Prelude.Text+createDBClusterEndpoint_endpointType = Lens.lens (\CreateDBClusterEndpoint' {endpointType} -> endpointType) (\s@CreateDBClusterEndpoint' {} a -> s {endpointType = a} :: CreateDBClusterEndpoint)++instance Core.AWSRequest CreateDBClusterEndpoint where+  type+    AWSResponse CreateDBClusterEndpoint =+      CreateDBClusterEndpointResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBClusterEndpointResult"+      ( \s h x ->+          CreateDBClusterEndpointResponse'+            Prelude.<$> (x Data..@? "CustomEndpointType")+            Prelude.<*> (x Data..@? "DBClusterEndpointArn")+            Prelude.<*> (x Data..@? "DBClusterEndpointIdentifier")+            Prelude.<*> (x Data..@? "DBClusterEndpointResourceIdentifier")+            Prelude.<*> (x Data..@? "DBClusterIdentifier")+            Prelude.<*> (x Data..@? "Endpoint")+            Prelude.<*> (x Data..@? "EndpointType")+            Prelude.<*> ( x+                            Data..@? "ExcludedMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> ( x+                            Data..@? "StaticMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> (x Data..@? "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBClusterEndpoint where+  hashWithSalt _salt CreateDBClusterEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` excludedMembers+      `Prelude.hashWithSalt` staticMembers+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbClusterEndpointIdentifier+      `Prelude.hashWithSalt` endpointType++instance Prelude.NFData CreateDBClusterEndpoint where+  rnf CreateDBClusterEndpoint' {..} =+    Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf endpointType++instance Data.ToHeaders CreateDBClusterEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBClusterEndpoint where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBClusterEndpoint where+  toQuery CreateDBClusterEndpoint' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBClusterEndpoint" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ExcludedMembers"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> excludedMembers+            ),+        "StaticMembers"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> staticMembers+            ),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "DBClusterEndpointIdentifier"+          Data.=: dbClusterEndpointIdentifier,+        "EndpointType" Data.=: endpointType+      ]++-- | This data type represents the information you need to connect to an+-- Amazon Neptune DB cluster. This data type is used as a response element+-- in the following actions:+--+-- -   @CreateDBClusterEndpoint@+--+-- -   @DescribeDBClusterEndpoints@+--+-- -   @ModifyDBClusterEndpoint@+--+-- -   @DeleteDBClusterEndpoint@+--+-- For the data structure that represents Amazon Neptune DB instance+-- endpoints, see @Endpoint@.+--+-- /See:/ 'newCreateDBClusterEndpointResponse' smart constructor.+data CreateDBClusterEndpointResponse = CreateDBClusterEndpointResponse'+  { -- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+    -- @ANY@.+    customEndpointType :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the endpoint.+    dbClusterEndpointArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier associated with the endpoint. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A unique system-generated identifier for an endpoint. It remains the+    -- same for the whole life of the endpoint.+    dbClusterEndpointResourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DNS address of the endpoint.+    endpoint :: Prelude.Maybe Prelude.Text,+    -- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+    endpointType :: Prelude.Maybe Prelude.Text,+    -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The current status of the endpoint. One of: @creating@, @available@,+    -- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+    -- endpoint that cannot be used for a certain kind of cluster, such as a+    -- @writer@ endpoint for a read-only secondary cluster in a global+    -- database.+    status :: 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 'CreateDBClusterEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customEndpointType', 'createDBClusterEndpointResponse_customEndpointType' - The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+--+-- 'dbClusterEndpointArn', 'createDBClusterEndpointResponse_dbClusterEndpointArn' - The Amazon Resource Name (ARN) for the endpoint.+--+-- 'dbClusterEndpointIdentifier', 'createDBClusterEndpointResponse_dbClusterEndpointIdentifier' - The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+--+-- 'dbClusterEndpointResourceIdentifier', 'createDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier' - A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+--+-- 'dbClusterIdentifier', 'createDBClusterEndpointResponse_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'endpoint', 'createDBClusterEndpointResponse_endpoint' - The DNS address of the endpoint.+--+-- 'endpointType', 'createDBClusterEndpointResponse_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+--+-- 'excludedMembers', 'createDBClusterEndpointResponse_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'createDBClusterEndpointResponse_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'status', 'createDBClusterEndpointResponse_status' - The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+--+-- 'httpStatus', 'createDBClusterEndpointResponse_httpStatus' - The response's http status code.+newCreateDBClusterEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBClusterEndpointResponse+newCreateDBClusterEndpointResponse pHttpStatus_ =+  CreateDBClusterEndpointResponse'+    { customEndpointType =+        Prelude.Nothing,+      dbClusterEndpointArn = Prelude.Nothing,+      dbClusterEndpointIdentifier =+        Prelude.Nothing,+      dbClusterEndpointResourceIdentifier =+        Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      excludedMembers = Prelude.Nothing,+      staticMembers = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+createDBClusterEndpointResponse_customEndpointType :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_customEndpointType = Lens.lens (\CreateDBClusterEndpointResponse' {customEndpointType} -> customEndpointType) (\s@CreateDBClusterEndpointResponse' {} a -> s {customEndpointType = a} :: CreateDBClusterEndpointResponse)++-- | The Amazon Resource Name (ARN) for the endpoint.+createDBClusterEndpointResponse_dbClusterEndpointArn :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_dbClusterEndpointArn = Lens.lens (\CreateDBClusterEndpointResponse' {dbClusterEndpointArn} -> dbClusterEndpointArn) (\s@CreateDBClusterEndpointResponse' {} a -> s {dbClusterEndpointArn = a} :: CreateDBClusterEndpointResponse)++-- | The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+createDBClusterEndpointResponse_dbClusterEndpointIdentifier :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_dbClusterEndpointIdentifier = Lens.lens (\CreateDBClusterEndpointResponse' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@CreateDBClusterEndpointResponse' {} a -> s {dbClusterEndpointIdentifier = a} :: CreateDBClusterEndpointResponse)++-- | A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+createDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier = Lens.lens (\CreateDBClusterEndpointResponse' {dbClusterEndpointResourceIdentifier} -> dbClusterEndpointResourceIdentifier) (\s@CreateDBClusterEndpointResponse' {} a -> s {dbClusterEndpointResourceIdentifier = a} :: CreateDBClusterEndpointResponse)++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+createDBClusterEndpointResponse_dbClusterIdentifier :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_dbClusterIdentifier = Lens.lens (\CreateDBClusterEndpointResponse' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@CreateDBClusterEndpointResponse' {} a -> s {dbClusterIdentifier = a} :: CreateDBClusterEndpointResponse)++-- | The DNS address of the endpoint.+createDBClusterEndpointResponse_endpoint :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_endpoint = Lens.lens (\CreateDBClusterEndpointResponse' {endpoint} -> endpoint) (\s@CreateDBClusterEndpointResponse' {} a -> s {endpoint = a} :: CreateDBClusterEndpointResponse)++-- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+createDBClusterEndpointResponse_endpointType :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_endpointType = Lens.lens (\CreateDBClusterEndpointResponse' {endpointType} -> endpointType) (\s@CreateDBClusterEndpointResponse' {} a -> s {endpointType = a} :: CreateDBClusterEndpointResponse)++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+createDBClusterEndpointResponse_excludedMembers :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+createDBClusterEndpointResponse_excludedMembers = Lens.lens (\CreateDBClusterEndpointResponse' {excludedMembers} -> excludedMembers) (\s@CreateDBClusterEndpointResponse' {} a -> s {excludedMembers = a} :: CreateDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+createDBClusterEndpointResponse_staticMembers :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+createDBClusterEndpointResponse_staticMembers = Lens.lens (\CreateDBClusterEndpointResponse' {staticMembers} -> staticMembers) (\s@CreateDBClusterEndpointResponse' {} a -> s {staticMembers = a} :: CreateDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+createDBClusterEndpointResponse_status :: Lens.Lens' CreateDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+createDBClusterEndpointResponse_status = Lens.lens (\CreateDBClusterEndpointResponse' {status} -> status) (\s@CreateDBClusterEndpointResponse' {} a -> s {status = a} :: CreateDBClusterEndpointResponse)++-- | The response's http status code.+createDBClusterEndpointResponse_httpStatus :: Lens.Lens' CreateDBClusterEndpointResponse Prelude.Int+createDBClusterEndpointResponse_httpStatus = Lens.lens (\CreateDBClusterEndpointResponse' {httpStatus} -> httpStatus) (\s@CreateDBClusterEndpointResponse' {} a -> s {httpStatus = a} :: CreateDBClusterEndpointResponse)++instance+  Prelude.NFData+    CreateDBClusterEndpointResponse+  where+  rnf CreateDBClusterEndpointResponse' {..} =+    Prelude.rnf customEndpointType+      `Prelude.seq` Prelude.rnf dbClusterEndpointArn+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf dbClusterEndpointResourceIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBClusterParameterGroup.hs view
@@ -0,0 +1,280 @@+{-# 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.Neptune.CreateDBClusterParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new DB cluster parameter group.+--+-- Parameters in a DB cluster parameter group apply to all of the instances+-- in a DB cluster.+--+-- A DB cluster parameter group is initially created with the default+-- parameters for the database engine used by instances in the DB cluster.+-- To provide custom values for any of the parameters, you must modify the+-- group after creating it using ModifyDBClusterParameterGroup. Once+-- you\'ve created a DB cluster parameter group, you need to associate it+-- with your DB cluster using ModifyDBCluster. When you associate a new DB+-- cluster parameter group with a running DB cluster, you need to reboot+-- the DB instances in the DB cluster without failover for the new DB+-- cluster parameter group and associated settings to take effect.+--+-- After you create a DB cluster parameter group, you should wait at least+-- 5 minutes before creating your first DB cluster that uses that DB+-- cluster parameter group as the default parameter group. This allows+-- Amazon Neptune to fully complete the create action before the DB cluster+-- parameter group is used as the default for a new DB cluster. This is+-- especially important for parameters that are critical when creating the+-- default database for a DB cluster, such as the character set for the+-- default database defined by the @character_set_database@ parameter. You+-- can use the /Parameter Groups/ option of the+-- <https://console.aws.amazon.com/rds/ Amazon Neptune console> or the+-- DescribeDBClusterParameters command to verify that your DB cluster+-- parameter group has been created or modified.+module Amazonka.Neptune.CreateDBClusterParameterGroup+  ( -- * Creating a Request+    CreateDBClusterParameterGroup (..),+    newCreateDBClusterParameterGroup,++    -- * Request Lenses+    createDBClusterParameterGroup_tags,+    createDBClusterParameterGroup_dbClusterParameterGroupName,+    createDBClusterParameterGroup_dbParameterGroupFamily,+    createDBClusterParameterGroup_description,++    -- * Destructuring the Response+    CreateDBClusterParameterGroupResponse (..),+    newCreateDBClusterParameterGroupResponse,++    -- * Response Lenses+    createDBClusterParameterGroupResponse_dbClusterParameterGroup,+    createDBClusterParameterGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBClusterParameterGroup' smart constructor.+data CreateDBClusterParameterGroup = CreateDBClusterParameterGroup'+  { -- | The tags to be assigned to the new DB cluster parameter group.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the DB cluster parameter group.+    --+    -- Constraints:+    --+    -- -   Must match the name of an existing DBClusterParameterGroup.+    --+    -- This value is stored as a lowercase string.+    dbClusterParameterGroupName :: Prelude.Text,+    -- | The DB cluster parameter group family name. A DB cluster parameter group+    -- can be associated with one and only one DB cluster parameter group+    -- family, and can be applied only to a DB cluster running a database+    -- engine and engine version compatible with that DB cluster parameter+    -- group family.+    dbParameterGroupFamily :: Prelude.Text,+    -- | The description for the DB cluster parameter group.+    description :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDBClusterParameterGroup_tags' - The tags to be assigned to the new DB cluster parameter group.+--+-- 'dbClusterParameterGroupName', 'createDBClusterParameterGroup_dbClusterParameterGroupName' - The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must match the name of an existing DBClusterParameterGroup.+--+-- This value is stored as a lowercase string.+--+-- 'dbParameterGroupFamily', 'createDBClusterParameterGroup_dbParameterGroupFamily' - The DB cluster parameter group family name. A DB cluster parameter group+-- can be associated with one and only one DB cluster parameter group+-- family, and can be applied only to a DB cluster running a database+-- engine and engine version compatible with that DB cluster parameter+-- group family.+--+-- 'description', 'createDBClusterParameterGroup_description' - The description for the DB cluster parameter group.+newCreateDBClusterParameterGroup ::+  -- | 'dbClusterParameterGroupName'+  Prelude.Text ->+  -- | 'dbParameterGroupFamily'+  Prelude.Text ->+  -- | 'description'+  Prelude.Text ->+  CreateDBClusterParameterGroup+newCreateDBClusterParameterGroup+  pDBClusterParameterGroupName_+  pDBParameterGroupFamily_+  pDescription_ =+    CreateDBClusterParameterGroup'+      { tags =+          Prelude.Nothing,+        dbClusterParameterGroupName =+          pDBClusterParameterGroupName_,+        dbParameterGroupFamily =+          pDBParameterGroupFamily_,+        description = pDescription_+      }++-- | The tags to be assigned to the new DB cluster parameter group.+createDBClusterParameterGroup_tags :: Lens.Lens' CreateDBClusterParameterGroup (Prelude.Maybe [Tag])+createDBClusterParameterGroup_tags = Lens.lens (\CreateDBClusterParameterGroup' {tags} -> tags) (\s@CreateDBClusterParameterGroup' {} a -> s {tags = a} :: CreateDBClusterParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must match the name of an existing DBClusterParameterGroup.+--+-- This value is stored as a lowercase string.+createDBClusterParameterGroup_dbClusterParameterGroupName :: Lens.Lens' CreateDBClusterParameterGroup Prelude.Text+createDBClusterParameterGroup_dbClusterParameterGroupName = Lens.lens (\CreateDBClusterParameterGroup' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@CreateDBClusterParameterGroup' {} a -> s {dbClusterParameterGroupName = a} :: CreateDBClusterParameterGroup)++-- | The DB cluster parameter group family name. A DB cluster parameter group+-- can be associated with one and only one DB cluster parameter group+-- family, and can be applied only to a DB cluster running a database+-- engine and engine version compatible with that DB cluster parameter+-- group family.+createDBClusterParameterGroup_dbParameterGroupFamily :: Lens.Lens' CreateDBClusterParameterGroup Prelude.Text+createDBClusterParameterGroup_dbParameterGroupFamily = Lens.lens (\CreateDBClusterParameterGroup' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@CreateDBClusterParameterGroup' {} a -> s {dbParameterGroupFamily = a} :: CreateDBClusterParameterGroup)++-- | The description for the DB cluster parameter group.+createDBClusterParameterGroup_description :: Lens.Lens' CreateDBClusterParameterGroup Prelude.Text+createDBClusterParameterGroup_description = Lens.lens (\CreateDBClusterParameterGroup' {description} -> description) (\s@CreateDBClusterParameterGroup' {} a -> s {description = a} :: CreateDBClusterParameterGroup)++instance+  Core.AWSRequest+    CreateDBClusterParameterGroup+  where+  type+    AWSResponse CreateDBClusterParameterGroup =+      CreateDBClusterParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBClusterParameterGroupResult"+      ( \s h x ->+          CreateDBClusterParameterGroupResponse'+            Prelude.<$> (x Data..@? "DBClusterParameterGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateDBClusterParameterGroup+  where+  hashWithSalt _salt CreateDBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` description++instance Prelude.NFData CreateDBClusterParameterGroup where+  rnf CreateDBClusterParameterGroup' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf description++instance Data.ToHeaders CreateDBClusterParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBClusterParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBClusterParameterGroup where+  toQuery CreateDBClusterParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "CreateDBClusterParameterGroup" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "DBParameterGroupFamily"+          Data.=: dbParameterGroupFamily,+        "Description" Data.=: description+      ]++-- | /See:/ 'newCreateDBClusterParameterGroupResponse' smart constructor.+data CreateDBClusterParameterGroupResponse = CreateDBClusterParameterGroupResponse'+  { dbClusterParameterGroup :: Prelude.Maybe DBClusterParameterGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroup', 'createDBClusterParameterGroupResponse_dbClusterParameterGroup' - Undocumented member.+--+-- 'httpStatus', 'createDBClusterParameterGroupResponse_httpStatus' - The response's http status code.+newCreateDBClusterParameterGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBClusterParameterGroupResponse+newCreateDBClusterParameterGroupResponse pHttpStatus_ =+  CreateDBClusterParameterGroupResponse'+    { dbClusterParameterGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBClusterParameterGroupResponse_dbClusterParameterGroup :: Lens.Lens' CreateDBClusterParameterGroupResponse (Prelude.Maybe DBClusterParameterGroup)+createDBClusterParameterGroupResponse_dbClusterParameterGroup = Lens.lens (\CreateDBClusterParameterGroupResponse' {dbClusterParameterGroup} -> dbClusterParameterGroup) (\s@CreateDBClusterParameterGroupResponse' {} a -> s {dbClusterParameterGroup = a} :: CreateDBClusterParameterGroupResponse)++-- | The response's http status code.+createDBClusterParameterGroupResponse_httpStatus :: Lens.Lens' CreateDBClusterParameterGroupResponse Prelude.Int+createDBClusterParameterGroupResponse_httpStatus = Lens.lens (\CreateDBClusterParameterGroupResponse' {httpStatus} -> httpStatus) (\s@CreateDBClusterParameterGroupResponse' {} a -> s {httpStatus = a} :: CreateDBClusterParameterGroupResponse)++instance+  Prelude.NFData+    CreateDBClusterParameterGroupResponse+  where+  rnf CreateDBClusterParameterGroupResponse' {..} =+    Prelude.rnf dbClusterParameterGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBClusterSnapshot.hs view
@@ -0,0 +1,251 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.CreateDBClusterSnapshot+-- 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 snapshot of a DB cluster.+module Amazonka.Neptune.CreateDBClusterSnapshot+  ( -- * Creating a Request+    CreateDBClusterSnapshot (..),+    newCreateDBClusterSnapshot,++    -- * Request Lenses+    createDBClusterSnapshot_tags,+    createDBClusterSnapshot_dbClusterSnapshotIdentifier,+    createDBClusterSnapshot_dbClusterIdentifier,++    -- * Destructuring the Response+    CreateDBClusterSnapshotResponse (..),+    newCreateDBClusterSnapshotResponse,++    -- * Response Lenses+    createDBClusterSnapshotResponse_dbClusterSnapshot,+    createDBClusterSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBClusterSnapshot' smart constructor.+data CreateDBClusterSnapshot = CreateDBClusterSnapshot'+  { -- | The tags to be assigned to the DB cluster snapshot.+    tags :: Prelude.Maybe [Tag],+    -- | The identifier of the DB cluster snapshot. This parameter is stored as a+    -- lowercase string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @my-cluster1-snapshot1@+    dbClusterSnapshotIdentifier :: Prelude.Text,+    -- | The identifier of the DB cluster to create a snapshot for. This+    -- parameter is not case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBCluster.+    --+    -- Example: @my-cluster1@+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDBClusterSnapshot_tags' - The tags to be assigned to the DB cluster snapshot.+--+-- 'dbClusterSnapshotIdentifier', 'createDBClusterSnapshot_dbClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot. This parameter is stored as a+-- lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster1-snapshot1@+--+-- 'dbClusterIdentifier', 'createDBClusterSnapshot_dbClusterIdentifier' - The identifier of the DB cluster to create a snapshot for. This+-- parameter is not case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+--+-- Example: @my-cluster1@+newCreateDBClusterSnapshot ::+  -- | 'dbClusterSnapshotIdentifier'+  Prelude.Text ->+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  CreateDBClusterSnapshot+newCreateDBClusterSnapshot+  pDBClusterSnapshotIdentifier_+  pDBClusterIdentifier_ =+    CreateDBClusterSnapshot'+      { tags = Prelude.Nothing,+        dbClusterSnapshotIdentifier =+          pDBClusterSnapshotIdentifier_,+        dbClusterIdentifier = pDBClusterIdentifier_+      }++-- | The tags to be assigned to the DB cluster snapshot.+createDBClusterSnapshot_tags :: Lens.Lens' CreateDBClusterSnapshot (Prelude.Maybe [Tag])+createDBClusterSnapshot_tags = Lens.lens (\CreateDBClusterSnapshot' {tags} -> tags) (\s@CreateDBClusterSnapshot' {} a -> s {tags = a} :: CreateDBClusterSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the DB cluster snapshot. This parameter is stored as a+-- lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @my-cluster1-snapshot1@+createDBClusterSnapshot_dbClusterSnapshotIdentifier :: Lens.Lens' CreateDBClusterSnapshot Prelude.Text+createDBClusterSnapshot_dbClusterSnapshotIdentifier = Lens.lens (\CreateDBClusterSnapshot' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@CreateDBClusterSnapshot' {} a -> s {dbClusterSnapshotIdentifier = a} :: CreateDBClusterSnapshot)++-- | The identifier of the DB cluster to create a snapshot for. This+-- parameter is not case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+--+-- Example: @my-cluster1@+createDBClusterSnapshot_dbClusterIdentifier :: Lens.Lens' CreateDBClusterSnapshot Prelude.Text+createDBClusterSnapshot_dbClusterIdentifier = Lens.lens (\CreateDBClusterSnapshot' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@CreateDBClusterSnapshot' {} a -> s {dbClusterIdentifier = a} :: CreateDBClusterSnapshot)++instance Core.AWSRequest CreateDBClusterSnapshot where+  type+    AWSResponse CreateDBClusterSnapshot =+      CreateDBClusterSnapshotResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBClusterSnapshotResult"+      ( \s h x ->+          CreateDBClusterSnapshotResponse'+            Prelude.<$> (x Data..@? "DBClusterSnapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBClusterSnapshot where+  hashWithSalt _salt CreateDBClusterSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` dbClusterSnapshotIdentifier+      `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData CreateDBClusterSnapshot where+  rnf CreateDBClusterSnapshot' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf dbClusterSnapshotIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders CreateDBClusterSnapshot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBClusterSnapshot where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBClusterSnapshot where+  toQuery CreateDBClusterSnapshot' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBClusterSnapshot" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "DBClusterSnapshotIdentifier"+          Data.=: dbClusterSnapshotIdentifier,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newCreateDBClusterSnapshotResponse' smart constructor.+data CreateDBClusterSnapshotResponse = CreateDBClusterSnapshotResponse'+  { dbClusterSnapshot :: Prelude.Maybe DBClusterSnapshot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBClusterSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshot', 'createDBClusterSnapshotResponse_dbClusterSnapshot' - Undocumented member.+--+-- 'httpStatus', 'createDBClusterSnapshotResponse_httpStatus' - The response's http status code.+newCreateDBClusterSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBClusterSnapshotResponse+newCreateDBClusterSnapshotResponse pHttpStatus_ =+  CreateDBClusterSnapshotResponse'+    { dbClusterSnapshot =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBClusterSnapshotResponse_dbClusterSnapshot :: Lens.Lens' CreateDBClusterSnapshotResponse (Prelude.Maybe DBClusterSnapshot)+createDBClusterSnapshotResponse_dbClusterSnapshot = Lens.lens (\CreateDBClusterSnapshotResponse' {dbClusterSnapshot} -> dbClusterSnapshot) (\s@CreateDBClusterSnapshotResponse' {} a -> s {dbClusterSnapshot = a} :: CreateDBClusterSnapshotResponse)++-- | The response's http status code.+createDBClusterSnapshotResponse_httpStatus :: Lens.Lens' CreateDBClusterSnapshotResponse Prelude.Int+createDBClusterSnapshotResponse_httpStatus = Lens.lens (\CreateDBClusterSnapshotResponse' {httpStatus} -> httpStatus) (\s@CreateDBClusterSnapshotResponse' {} a -> s {httpStatus = a} :: CreateDBClusterSnapshotResponse)++instance+  Prelude.NFData+    CreateDBClusterSnapshotResponse+  where+  rnf CreateDBClusterSnapshotResponse' {..} =+    Prelude.rnf dbClusterSnapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBInstance.hs view
@@ -0,0 +1,1177 @@+{-# 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.Neptune.CreateDBInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new DB instance.+module Amazonka.Neptune.CreateDBInstance+  ( -- * Creating a Request+    CreateDBInstance (..),+    newCreateDBInstance,++    -- * Request Lenses+    createDBInstance_allocatedStorage,+    createDBInstance_autoMinorVersionUpgrade,+    createDBInstance_availabilityZone,+    createDBInstance_backupRetentionPeriod,+    createDBInstance_characterSetName,+    createDBInstance_copyTagsToSnapshot,+    createDBInstance_dbClusterIdentifier,+    createDBInstance_dbName,+    createDBInstance_dbParameterGroupName,+    createDBInstance_dbSecurityGroups,+    createDBInstance_dbSubnetGroupName,+    createDBInstance_deletionProtection,+    createDBInstance_domain,+    createDBInstance_domainIAMRoleName,+    createDBInstance_enableCloudwatchLogsExports,+    createDBInstance_enableIAMDatabaseAuthentication,+    createDBInstance_enablePerformanceInsights,+    createDBInstance_engineVersion,+    createDBInstance_iops,+    createDBInstance_kmsKeyId,+    createDBInstance_licenseModel,+    createDBInstance_masterUserPassword,+    createDBInstance_masterUsername,+    createDBInstance_monitoringInterval,+    createDBInstance_monitoringRoleArn,+    createDBInstance_multiAZ,+    createDBInstance_optionGroupName,+    createDBInstance_performanceInsightsKMSKeyId,+    createDBInstance_port,+    createDBInstance_preferredBackupWindow,+    createDBInstance_preferredMaintenanceWindow,+    createDBInstance_promotionTier,+    createDBInstance_publiclyAccessible,+    createDBInstance_storageEncrypted,+    createDBInstance_storageType,+    createDBInstance_tags,+    createDBInstance_tdeCredentialArn,+    createDBInstance_tdeCredentialPassword,+    createDBInstance_timezone,+    createDBInstance_vpcSecurityGroupIds,+    createDBInstance_dbInstanceIdentifier,+    createDBInstance_dbInstanceClass,+    createDBInstance_engine,++    -- * Destructuring the Response+    CreateDBInstanceResponse (..),+    newCreateDBInstanceResponse,++    -- * Response Lenses+    createDBInstanceResponse_dbInstance,+    createDBInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBInstance' smart constructor.+data CreateDBInstance = CreateDBInstance'+  { -- | Not supported by Neptune.+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Indicates that minor engine upgrades are applied automatically to the DB+    -- instance during the maintenance window.+    --+    -- Default: @true@+    autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | The EC2 Availability Zone that the DB instance is created in+    --+    -- Default: A random, system-chosen Availability Zone in the endpoint\'s+    -- Amazon Region.+    --+    -- Example: @us-east-1d@+    --+    -- Constraint: The AvailabilityZone parameter can\'t be specified if the+    -- MultiAZ parameter is set to @true@. The specified Availability Zone must+    -- be in the same Amazon Region as the current endpoint.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The number of days for which automated backups are retained.+    --+    -- Not applicable. The retention period for automated backups is managed by+    -- the DB cluster. For more information, see CreateDBCluster.+    --+    -- Default: 1+    --+    -- Constraints:+    --+    -- -   Must be a value from 0 to 35+    --+    -- -   Cannot be set to 0 if the DB instance is a source to Read Replicas+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | /(Not supported by Neptune)/+    characterSetName :: Prelude.Maybe Prelude.Text,+    -- | True to copy all tags from the DB instance to snapshots of the DB+    -- instance, and otherwise false. The default is false.+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The identifier of the DB cluster that the instance will belong to.+    --+    -- For information on creating a DB cluster, see CreateDBCluster.+    --+    -- Type: String+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Not supported.+    dbName :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB parameter group to associate with this DB instance.+    -- If this argument is omitted, the default DBParameterGroup for the+    -- specified engine is used.+    --+    -- Constraints:+    --+    -- -   Must be 1 to 255 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    dbParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | A list of DB security groups to associate with this DB instance.+    --+    -- Default: The default DB security group for the database engine.+    dbSecurityGroups :: Prelude.Maybe [Prelude.Text],+    -- | A DB subnet group to associate with this DB instance.+    --+    -- If there is no DB subnet group, then it is a non-VPC DB instance.+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB instance has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is disabled. See+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+    --+    -- DB instances in a DB cluster can be deleted even when deletion+    -- protection is enabled in their parent DB cluster.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | Specify the Active Directory Domain to create the instance in.+    domain :: Prelude.Maybe Prelude.Text,+    -- | Specify the name of the IAM role to be used when making API calls to the+    -- Directory Service.+    domainIAMRoleName :: Prelude.Maybe Prelude.Text,+    -- | The list of log types that need to be enabled for exporting to+    -- CloudWatch Logs.+    enableCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | Not supported by Neptune (ignored).+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    enablePerformanceInsights :: Prelude.Maybe Prelude.Bool,+    -- | The version number of the database engine to use. Currently, setting+    -- this parameter has no effect.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The amount of Provisioned IOPS (input\/output operations per second) to+    -- be initially allocated for the DB instance.+    iops :: Prelude.Maybe Prelude.Int,+    -- | The Amazon KMS key identifier for an encrypted DB instance.+    --+    -- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+    -- encryption key. If you are creating a DB instance with the same Amazon+    -- account that owns the KMS encryption key used to encrypt the new DB+    -- instance, then you can use the KMS key alias instead of the ARN for the+    -- KM encryption key.+    --+    -- Not applicable. The KMS key identifier is managed by the DB cluster. For+    -- more information, see CreateDBCluster.+    --+    -- If the @StorageEncrypted@ parameter is true, and you do not specify a+    -- value for the @KmsKeyId@ parameter, then Amazon Neptune will use your+    -- default encryption key. Amazon KMS creates the default encryption key+    -- for your Amazon account. Your Amazon account has a different default+    -- encryption key for each Amazon Region.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | License model information for this DB instance.+    --+    -- Valid values: @license-included@ | @bring-your-own-license@ |+    -- @general-public-license@+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUserPassword :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUsername :: Prelude.Maybe Prelude.Text,+    -- | The interval, in seconds, between points when Enhanced Monitoring+    -- metrics are collected for the DB instance. To disable collecting+    -- Enhanced Monitoring metrics, specify 0. The default is 0.+    --+    -- If @MonitoringRoleArn@ is specified, then you must also set+    -- @MonitoringInterval@ to a value other than 0.+    --+    -- Valid Values: @0, 1, 5, 10, 15, 30, 60@+    monitoringInterval :: Prelude.Maybe Prelude.Int,+    -- | The ARN for the IAM role that permits Neptune to send enhanced+    -- monitoring metrics to Amazon CloudWatch Logs. For example,+    -- @arn:aws:iam:123456789012:role\/emaccess@.+    --+    -- If @MonitoringInterval@ is set to a value other than 0, then you must+    -- supply a @MonitoringRoleArn@ value.+    monitoringRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies if the DB instance is a Multi-AZ deployment. You can\'t set+    -- the AvailabilityZone parameter if the MultiAZ parameter is set to true.+    multiAZ :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    performanceInsightsKMSKeyId :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the database accepts connections.+    --+    -- Not applicable. The port is managed by the DB cluster. For more+    -- information, see CreateDBCluster.+    --+    -- Default: @8182@+    --+    -- Type: Integer+    port :: Prelude.Maybe Prelude.Int,+    -- | The daily time range during which automated backups are created.+    --+    -- Not applicable. The daily time range for creating automated backups is+    -- managed by the DB cluster. For more information, see CreateDBCluster.+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | The time range each week during which system maintenance can occur, in+    -- Universal Coordinated Time (UTC).+    --+    -- Format: @ddd:hh24:mi-ddd:hh24:mi@+    --+    -- The default is a 30-minute window selected at random from an 8-hour+    -- block of time for each Amazon Region, occurring on a random day of the+    -- week.+    --+    -- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+    --+    -- Constraints: Minimum 30-minute window.+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    -- | A value that specifies the order in which an Read Replica is promoted to+    -- the primary instance after a failure of the existing primary instance.+    --+    -- Default: 1+    --+    -- Valid Values: 0 - 15+    promotionTier :: Prelude.Maybe Prelude.Int,+    -- | This flag should no longer be used.+    publiclyAccessible :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether the DB instance is encrypted.+    --+    -- Not applicable. The encryption for DB instances is managed by the DB+    -- cluster. For more information, see CreateDBCluster.+    --+    -- Default: false+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the storage type to be associated with the DB instance.+    --+    -- Not applicable. Storage is managed by the DB Cluster.+    storageType :: Prelude.Maybe Prelude.Text,+    -- | The tags to assign to the new instance.+    tags :: Prelude.Maybe [Tag],+    -- | The ARN from the key store with which to associate the instance for TDE+    -- encryption.+    tdeCredentialArn :: Prelude.Maybe Prelude.Text,+    -- | The password for the given ARN from the key store in order to access the+    -- device.+    tdeCredentialPassword :: Prelude.Maybe Prelude.Text,+    -- | The time zone of the DB instance.+    timezone :: Prelude.Maybe Prelude.Text,+    -- | A list of EC2 VPC security groups to associate with this DB instance.+    --+    -- Not applicable. The associated list of EC2 VPC security groups is+    -- managed by the DB cluster. For more information, see CreateDBCluster.+    --+    -- Default: The default EC2 VPC security group for the DB subnet group\'s+    -- VPC.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The DB instance identifier. This parameter is stored as a lowercase+    -- string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @mydbinstance@+    dbInstanceIdentifier :: Prelude.Text,+    -- | The compute and memory capacity of the DB instance, for example,+    -- @db.m4.large@. Not all DB instance classes are available in all Amazon+    -- Regions.+    dbInstanceClass :: Prelude.Text,+    -- | The name of the database engine to be used for this instance.+    --+    -- Valid Values: @neptune@+    engine :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'createDBInstance_allocatedStorage' - Not supported by Neptune.+--+-- 'autoMinorVersionUpgrade', 'createDBInstance_autoMinorVersionUpgrade' - Indicates that minor engine upgrades are applied automatically to the DB+-- instance during the maintenance window.+--+-- Default: @true@+--+-- 'availabilityZone', 'createDBInstance_availabilityZone' - The EC2 Availability Zone that the DB instance is created in+--+-- Default: A random, system-chosen Availability Zone in the endpoint\'s+-- Amazon Region.+--+-- Example: @us-east-1d@+--+-- Constraint: The AvailabilityZone parameter can\'t be specified if the+-- MultiAZ parameter is set to @true@. The specified Availability Zone must+-- be in the same Amazon Region as the current endpoint.+--+-- 'backupRetentionPeriod', 'createDBInstance_backupRetentionPeriod' - The number of days for which automated backups are retained.+--+-- Not applicable. The retention period for automated backups is managed by+-- the DB cluster. For more information, see CreateDBCluster.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 0 to 35+--+-- -   Cannot be set to 0 if the DB instance is a source to Read Replicas+--+-- 'characterSetName', 'createDBInstance_characterSetName' - /(Not supported by Neptune)/+--+-- 'copyTagsToSnapshot', 'createDBInstance_copyTagsToSnapshot' - True to copy all tags from the DB instance to snapshots of the DB+-- instance, and otherwise false. The default is false.+--+-- 'dbClusterIdentifier', 'createDBInstance_dbClusterIdentifier' - The identifier of the DB cluster that the instance will belong to.+--+-- For information on creating a DB cluster, see CreateDBCluster.+--+-- Type: String+--+-- 'dbName', 'createDBInstance_dbName' - Not supported.+--+-- 'dbParameterGroupName', 'createDBInstance_dbParameterGroupName' - The name of the DB parameter group to associate with this DB instance.+-- If this argument is omitted, the default DBParameterGroup for the+-- specified engine is used.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- 'dbSecurityGroups', 'createDBInstance_dbSecurityGroups' - A list of DB security groups to associate with this DB instance.+--+-- Default: The default DB security group for the database engine.+--+-- 'dbSubnetGroupName', 'createDBInstance_dbSubnetGroupName' - A DB subnet group to associate with this DB instance.+--+-- If there is no DB subnet group, then it is a non-VPC DB instance.+--+-- 'deletionProtection', 'createDBInstance_deletionProtection' - A value that indicates whether the DB instance has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+--+-- DB instances in a DB cluster can be deleted even when deletion+-- protection is enabled in their parent DB cluster.+--+-- 'domain', 'createDBInstance_domain' - Specify the Active Directory Domain to create the instance in.+--+-- 'domainIAMRoleName', 'createDBInstance_domainIAMRoleName' - Specify the name of the IAM role to be used when making API calls to the+-- Directory Service.+--+-- 'enableCloudwatchLogsExports', 'createDBInstance_enableCloudwatchLogsExports' - The list of log types that need to be enabled for exporting to+-- CloudWatch Logs.+--+-- 'enableIAMDatabaseAuthentication', 'createDBInstance_enableIAMDatabaseAuthentication' - Not supported by Neptune (ignored).+--+-- 'enablePerformanceInsights', 'createDBInstance_enablePerformanceInsights' - /(Not supported by Neptune)/+--+-- 'engineVersion', 'createDBInstance_engineVersion' - The version number of the database engine to use. Currently, setting+-- this parameter has no effect.+--+-- 'iops', 'createDBInstance_iops' - The amount of Provisioned IOPS (input\/output operations per second) to+-- be initially allocated for the DB instance.+--+-- 'kmsKeyId', 'createDBInstance_kmsKeyId' - The Amazon KMS key identifier for an encrypted DB instance.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are creating a DB instance with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- instance, then you can use the KMS key alias instead of the ARN for the+-- KM encryption key.+--+-- Not applicable. The KMS key identifier is managed by the DB cluster. For+-- more information, see CreateDBCluster.+--+-- If the @StorageEncrypted@ parameter is true, and you do not specify a+-- value for the @KmsKeyId@ parameter, then Amazon Neptune will use your+-- default encryption key. Amazon KMS creates the default encryption key+-- for your Amazon account. Your Amazon account has a different default+-- encryption key for each Amazon Region.+--+-- 'licenseModel', 'createDBInstance_licenseModel' - License model information for this DB instance.+--+-- Valid values: @license-included@ | @bring-your-own-license@ |+-- @general-public-license@+--+-- 'masterUserPassword', 'createDBInstance_masterUserPassword' - Not supported by Neptune.+--+-- 'masterUsername', 'createDBInstance_masterUsername' - Not supported by Neptune.+--+-- 'monitoringInterval', 'createDBInstance_monitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance. To disable collecting+-- Enhanced Monitoring metrics, specify 0. The default is 0.+--+-- If @MonitoringRoleArn@ is specified, then you must also set+-- @MonitoringInterval@ to a value other than 0.+--+-- Valid Values: @0, 1, 5, 10, 15, 30, 60@+--+-- 'monitoringRoleArn', 'createDBInstance_monitoringRoleArn' - The ARN for the IAM role that permits Neptune to send enhanced+-- monitoring metrics to Amazon CloudWatch Logs. For example,+-- @arn:aws:iam:123456789012:role\/emaccess@.+--+-- If @MonitoringInterval@ is set to a value other than 0, then you must+-- supply a @MonitoringRoleArn@ value.+--+-- 'multiAZ', 'createDBInstance_multiAZ' - Specifies if the DB instance is a Multi-AZ deployment. You can\'t set+-- the AvailabilityZone parameter if the MultiAZ parameter is set to true.+--+-- 'optionGroupName', 'createDBInstance_optionGroupName' - /(Not supported by Neptune)/+--+-- 'performanceInsightsKMSKeyId', 'createDBInstance_performanceInsightsKMSKeyId' - /(Not supported by Neptune)/+--+-- 'port', 'createDBInstance_port' - The port number on which the database accepts connections.+--+-- Not applicable. The port is managed by the DB cluster. For more+-- information, see CreateDBCluster.+--+-- Default: @8182@+--+-- Type: Integer+--+-- 'preferredBackupWindow', 'createDBInstance_preferredBackupWindow' - The daily time range during which automated backups are created.+--+-- Not applicable. The daily time range for creating automated backups is+-- managed by the DB cluster. For more information, see CreateDBCluster.+--+-- 'preferredMaintenanceWindow', 'createDBInstance_preferredMaintenanceWindow' - The time range each week during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week.+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+--+-- 'promotionTier', 'createDBInstance_promotionTier' - A value that specifies the order in which an Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+--+-- Default: 1+--+-- Valid Values: 0 - 15+--+-- 'publiclyAccessible', 'createDBInstance_publiclyAccessible' - This flag should no longer be used.+--+-- 'storageEncrypted', 'createDBInstance_storageEncrypted' - Specifies whether the DB instance is encrypted.+--+-- Not applicable. The encryption for DB instances is managed by the DB+-- cluster. For more information, see CreateDBCluster.+--+-- Default: false+--+-- 'storageType', 'createDBInstance_storageType' - Specifies the storage type to be associated with the DB instance.+--+-- Not applicable. Storage is managed by the DB Cluster.+--+-- 'tags', 'createDBInstance_tags' - The tags to assign to the new instance.+--+-- 'tdeCredentialArn', 'createDBInstance_tdeCredentialArn' - The ARN from the key store with which to associate the instance for TDE+-- encryption.+--+-- 'tdeCredentialPassword', 'createDBInstance_tdeCredentialPassword' - The password for the given ARN from the key store in order to access the+-- device.+--+-- 'timezone', 'createDBInstance_timezone' - The time zone of the DB instance.+--+-- 'vpcSecurityGroupIds', 'createDBInstance_vpcSecurityGroupIds' - A list of EC2 VPC security groups to associate with this DB instance.+--+-- Not applicable. The associated list of EC2 VPC security groups is+-- managed by the DB cluster. For more information, see CreateDBCluster.+--+-- Default: The default EC2 VPC security group for the DB subnet group\'s+-- VPC.+--+-- 'dbInstanceIdentifier', 'createDBInstance_dbInstanceIdentifier' - The DB instance identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @mydbinstance@+--+-- 'dbInstanceClass', 'createDBInstance_dbInstanceClass' - The compute and memory capacity of the DB instance, for example,+-- @db.m4.large@. Not all DB instance classes are available in all Amazon+-- Regions.+--+-- 'engine', 'createDBInstance_engine' - The name of the database engine to be used for this instance.+--+-- Valid Values: @neptune@+newCreateDBInstance ::+  -- | 'dbInstanceIdentifier'+  Prelude.Text ->+  -- | 'dbInstanceClass'+  Prelude.Text ->+  -- | 'engine'+  Prelude.Text ->+  CreateDBInstance+newCreateDBInstance+  pDBInstanceIdentifier_+  pDBInstanceClass_+  pEngine_ =+    CreateDBInstance'+      { allocatedStorage =+          Prelude.Nothing,+        autoMinorVersionUpgrade = Prelude.Nothing,+        availabilityZone = Prelude.Nothing,+        backupRetentionPeriod = Prelude.Nothing,+        characterSetName = Prelude.Nothing,+        copyTagsToSnapshot = Prelude.Nothing,+        dbClusterIdentifier = Prelude.Nothing,+        dbName = Prelude.Nothing,+        dbParameterGroupName = Prelude.Nothing,+        dbSecurityGroups = Prelude.Nothing,+        dbSubnetGroupName = Prelude.Nothing,+        deletionProtection = Prelude.Nothing,+        domain = Prelude.Nothing,+        domainIAMRoleName = Prelude.Nothing,+        enableCloudwatchLogsExports = Prelude.Nothing,+        enableIAMDatabaseAuthentication = Prelude.Nothing,+        enablePerformanceInsights = Prelude.Nothing,+        engineVersion = Prelude.Nothing,+        iops = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        licenseModel = Prelude.Nothing,+        masterUserPassword = Prelude.Nothing,+        masterUsername = Prelude.Nothing,+        monitoringInterval = Prelude.Nothing,+        monitoringRoleArn = Prelude.Nothing,+        multiAZ = Prelude.Nothing,+        optionGroupName = Prelude.Nothing,+        performanceInsightsKMSKeyId = Prelude.Nothing,+        port = Prelude.Nothing,+        preferredBackupWindow = Prelude.Nothing,+        preferredMaintenanceWindow = Prelude.Nothing,+        promotionTier = Prelude.Nothing,+        publiclyAccessible = Prelude.Nothing,+        storageEncrypted = Prelude.Nothing,+        storageType = Prelude.Nothing,+        tags = Prelude.Nothing,+        tdeCredentialArn = Prelude.Nothing,+        tdeCredentialPassword = Prelude.Nothing,+        timezone = Prelude.Nothing,+        vpcSecurityGroupIds = Prelude.Nothing,+        dbInstanceIdentifier = pDBInstanceIdentifier_,+        dbInstanceClass = pDBInstanceClass_,+        engine = pEngine_+      }++-- | Not supported by Neptune.+createDBInstance_allocatedStorage :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_allocatedStorage = Lens.lens (\CreateDBInstance' {allocatedStorage} -> allocatedStorage) (\s@CreateDBInstance' {} a -> s {allocatedStorage = a} :: CreateDBInstance)++-- | Indicates that minor engine upgrades are applied automatically to the DB+-- instance during the maintenance window.+--+-- Default: @true@+createDBInstance_autoMinorVersionUpgrade :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_autoMinorVersionUpgrade = Lens.lens (\CreateDBInstance' {autoMinorVersionUpgrade} -> autoMinorVersionUpgrade) (\s@CreateDBInstance' {} a -> s {autoMinorVersionUpgrade = a} :: CreateDBInstance)++-- | The EC2 Availability Zone that the DB instance is created in+--+-- Default: A random, system-chosen Availability Zone in the endpoint\'s+-- Amazon Region.+--+-- Example: @us-east-1d@+--+-- Constraint: The AvailabilityZone parameter can\'t be specified if the+-- MultiAZ parameter is set to @true@. The specified Availability Zone must+-- be in the same Amazon Region as the current endpoint.+createDBInstance_availabilityZone :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_availabilityZone = Lens.lens (\CreateDBInstance' {availabilityZone} -> availabilityZone) (\s@CreateDBInstance' {} a -> s {availabilityZone = a} :: CreateDBInstance)++-- | The number of days for which automated backups are retained.+--+-- Not applicable. The retention period for automated backups is managed by+-- the DB cluster. For more information, see CreateDBCluster.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 0 to 35+--+-- -   Cannot be set to 0 if the DB instance is a source to Read Replicas+createDBInstance_backupRetentionPeriod :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_backupRetentionPeriod = Lens.lens (\CreateDBInstance' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@CreateDBInstance' {} a -> s {backupRetentionPeriod = a} :: CreateDBInstance)++-- | /(Not supported by Neptune)/+createDBInstance_characterSetName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_characterSetName = Lens.lens (\CreateDBInstance' {characterSetName} -> characterSetName) (\s@CreateDBInstance' {} a -> s {characterSetName = a} :: CreateDBInstance)++-- | True to copy all tags from the DB instance to snapshots of the DB+-- instance, and otherwise false. The default is false.+createDBInstance_copyTagsToSnapshot :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_copyTagsToSnapshot = Lens.lens (\CreateDBInstance' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@CreateDBInstance' {} a -> s {copyTagsToSnapshot = a} :: CreateDBInstance)++-- | The identifier of the DB cluster that the instance will belong to.+--+-- For information on creating a DB cluster, see CreateDBCluster.+--+-- Type: String+createDBInstance_dbClusterIdentifier :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_dbClusterIdentifier = Lens.lens (\CreateDBInstance' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@CreateDBInstance' {} a -> s {dbClusterIdentifier = a} :: CreateDBInstance)++-- | Not supported.+createDBInstance_dbName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_dbName = Lens.lens (\CreateDBInstance' {dbName} -> dbName) (\s@CreateDBInstance' {} a -> s {dbName = a} :: CreateDBInstance)++-- | The name of the DB parameter group to associate with this DB instance.+-- If this argument is omitted, the default DBParameterGroup for the+-- specified engine is used.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+createDBInstance_dbParameterGroupName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_dbParameterGroupName = Lens.lens (\CreateDBInstance' {dbParameterGroupName} -> dbParameterGroupName) (\s@CreateDBInstance' {} a -> s {dbParameterGroupName = a} :: CreateDBInstance)++-- | A list of DB security groups to associate with this DB instance.+--+-- Default: The default DB security group for the database engine.+createDBInstance_dbSecurityGroups :: Lens.Lens' CreateDBInstance (Prelude.Maybe [Prelude.Text])+createDBInstance_dbSecurityGroups = Lens.lens (\CreateDBInstance' {dbSecurityGroups} -> dbSecurityGroups) (\s@CreateDBInstance' {} a -> s {dbSecurityGroups = a} :: CreateDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | A DB subnet group to associate with this DB instance.+--+-- If there is no DB subnet group, then it is a non-VPC DB instance.+createDBInstance_dbSubnetGroupName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_dbSubnetGroupName = Lens.lens (\CreateDBInstance' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@CreateDBInstance' {} a -> s {dbSubnetGroupName = a} :: CreateDBInstance)++-- | A value that indicates whether the DB instance has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+--+-- DB instances in a DB cluster can be deleted even when deletion+-- protection is enabled in their parent DB cluster.+createDBInstance_deletionProtection :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_deletionProtection = Lens.lens (\CreateDBInstance' {deletionProtection} -> deletionProtection) (\s@CreateDBInstance' {} a -> s {deletionProtection = a} :: CreateDBInstance)++-- | Specify the Active Directory Domain to create the instance in.+createDBInstance_domain :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_domain = Lens.lens (\CreateDBInstance' {domain} -> domain) (\s@CreateDBInstance' {} a -> s {domain = a} :: CreateDBInstance)++-- | Specify the name of the IAM role to be used when making API calls to the+-- Directory Service.+createDBInstance_domainIAMRoleName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_domainIAMRoleName = Lens.lens (\CreateDBInstance' {domainIAMRoleName} -> domainIAMRoleName) (\s@CreateDBInstance' {} a -> s {domainIAMRoleName = a} :: CreateDBInstance)++-- | The list of log types that need to be enabled for exporting to+-- CloudWatch Logs.+createDBInstance_enableCloudwatchLogsExports :: Lens.Lens' CreateDBInstance (Prelude.Maybe [Prelude.Text])+createDBInstance_enableCloudwatchLogsExports = Lens.lens (\CreateDBInstance' {enableCloudwatchLogsExports} -> enableCloudwatchLogsExports) (\s@CreateDBInstance' {} a -> s {enableCloudwatchLogsExports = a} :: CreateDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Not supported by Neptune (ignored).+createDBInstance_enableIAMDatabaseAuthentication :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_enableIAMDatabaseAuthentication = Lens.lens (\CreateDBInstance' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@CreateDBInstance' {} a -> s {enableIAMDatabaseAuthentication = a} :: CreateDBInstance)++-- | /(Not supported by Neptune)/+createDBInstance_enablePerformanceInsights :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_enablePerformanceInsights = Lens.lens (\CreateDBInstance' {enablePerformanceInsights} -> enablePerformanceInsights) (\s@CreateDBInstance' {} a -> s {enablePerformanceInsights = a} :: CreateDBInstance)++-- | The version number of the database engine to use. Currently, setting+-- this parameter has no effect.+createDBInstance_engineVersion :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_engineVersion = Lens.lens (\CreateDBInstance' {engineVersion} -> engineVersion) (\s@CreateDBInstance' {} a -> s {engineVersion = a} :: CreateDBInstance)++-- | The amount of Provisioned IOPS (input\/output operations per second) to+-- be initially allocated for the DB instance.+createDBInstance_iops :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_iops = Lens.lens (\CreateDBInstance' {iops} -> iops) (\s@CreateDBInstance' {} a -> s {iops = a} :: CreateDBInstance)++-- | The Amazon KMS key identifier for an encrypted DB instance.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are creating a DB instance with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- instance, then you can use the KMS key alias instead of the ARN for the+-- KM encryption key.+--+-- Not applicable. The KMS key identifier is managed by the DB cluster. For+-- more information, see CreateDBCluster.+--+-- If the @StorageEncrypted@ parameter is true, and you do not specify a+-- value for the @KmsKeyId@ parameter, then Amazon Neptune will use your+-- default encryption key. Amazon KMS creates the default encryption key+-- for your Amazon account. Your Amazon account has a different default+-- encryption key for each Amazon Region.+createDBInstance_kmsKeyId :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_kmsKeyId = Lens.lens (\CreateDBInstance' {kmsKeyId} -> kmsKeyId) (\s@CreateDBInstance' {} a -> s {kmsKeyId = a} :: CreateDBInstance)++-- | License model information for this DB instance.+--+-- Valid values: @license-included@ | @bring-your-own-license@ |+-- @general-public-license@+createDBInstance_licenseModel :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_licenseModel = Lens.lens (\CreateDBInstance' {licenseModel} -> licenseModel) (\s@CreateDBInstance' {} a -> s {licenseModel = a} :: CreateDBInstance)++-- | Not supported by Neptune.+createDBInstance_masterUserPassword :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_masterUserPassword = Lens.lens (\CreateDBInstance' {masterUserPassword} -> masterUserPassword) (\s@CreateDBInstance' {} a -> s {masterUserPassword = a} :: CreateDBInstance)++-- | Not supported by Neptune.+createDBInstance_masterUsername :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_masterUsername = Lens.lens (\CreateDBInstance' {masterUsername} -> masterUsername) (\s@CreateDBInstance' {} a -> s {masterUsername = a} :: CreateDBInstance)++-- | The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance. To disable collecting+-- Enhanced Monitoring metrics, specify 0. The default is 0.+--+-- If @MonitoringRoleArn@ is specified, then you must also set+-- @MonitoringInterval@ to a value other than 0.+--+-- Valid Values: @0, 1, 5, 10, 15, 30, 60@+createDBInstance_monitoringInterval :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_monitoringInterval = Lens.lens (\CreateDBInstance' {monitoringInterval} -> monitoringInterval) (\s@CreateDBInstance' {} a -> s {monitoringInterval = a} :: CreateDBInstance)++-- | The ARN for the IAM role that permits Neptune to send enhanced+-- monitoring metrics to Amazon CloudWatch Logs. For example,+-- @arn:aws:iam:123456789012:role\/emaccess@.+--+-- If @MonitoringInterval@ is set to a value other than 0, then you must+-- supply a @MonitoringRoleArn@ value.+createDBInstance_monitoringRoleArn :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_monitoringRoleArn = Lens.lens (\CreateDBInstance' {monitoringRoleArn} -> monitoringRoleArn) (\s@CreateDBInstance' {} a -> s {monitoringRoleArn = a} :: CreateDBInstance)++-- | Specifies if the DB instance is a Multi-AZ deployment. You can\'t set+-- the AvailabilityZone parameter if the MultiAZ parameter is set to true.+createDBInstance_multiAZ :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_multiAZ = Lens.lens (\CreateDBInstance' {multiAZ} -> multiAZ) (\s@CreateDBInstance' {} a -> s {multiAZ = a} :: CreateDBInstance)++-- | /(Not supported by Neptune)/+createDBInstance_optionGroupName :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_optionGroupName = Lens.lens (\CreateDBInstance' {optionGroupName} -> optionGroupName) (\s@CreateDBInstance' {} a -> s {optionGroupName = a} :: CreateDBInstance)++-- | /(Not supported by Neptune)/+createDBInstance_performanceInsightsKMSKeyId :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_performanceInsightsKMSKeyId = Lens.lens (\CreateDBInstance' {performanceInsightsKMSKeyId} -> performanceInsightsKMSKeyId) (\s@CreateDBInstance' {} a -> s {performanceInsightsKMSKeyId = a} :: CreateDBInstance)++-- | The port number on which the database accepts connections.+--+-- Not applicable. The port is managed by the DB cluster. For more+-- information, see CreateDBCluster.+--+-- Default: @8182@+--+-- Type: Integer+createDBInstance_port :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_port = Lens.lens (\CreateDBInstance' {port} -> port) (\s@CreateDBInstance' {} a -> s {port = a} :: CreateDBInstance)++-- | The daily time range during which automated backups are created.+--+-- Not applicable. The daily time range for creating automated backups is+-- managed by the DB cluster. For more information, see CreateDBCluster.+createDBInstance_preferredBackupWindow :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_preferredBackupWindow = Lens.lens (\CreateDBInstance' {preferredBackupWindow} -> preferredBackupWindow) (\s@CreateDBInstance' {} a -> s {preferredBackupWindow = a} :: CreateDBInstance)++-- | The time range each week during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week.+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+createDBInstance_preferredMaintenanceWindow :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_preferredMaintenanceWindow = Lens.lens (\CreateDBInstance' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@CreateDBInstance' {} a -> s {preferredMaintenanceWindow = a} :: CreateDBInstance)++-- | A value that specifies the order in which an Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+--+-- Default: 1+--+-- Valid Values: 0 - 15+createDBInstance_promotionTier :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Int)+createDBInstance_promotionTier = Lens.lens (\CreateDBInstance' {promotionTier} -> promotionTier) (\s@CreateDBInstance' {} a -> s {promotionTier = a} :: CreateDBInstance)++-- | This flag should no longer be used.+createDBInstance_publiclyAccessible :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_publiclyAccessible = Lens.lens (\CreateDBInstance' {publiclyAccessible} -> publiclyAccessible) (\s@CreateDBInstance' {} a -> s {publiclyAccessible = a} :: CreateDBInstance)++-- | Specifies whether the DB instance is encrypted.+--+-- Not applicable. The encryption for DB instances is managed by the DB+-- cluster. For more information, see CreateDBCluster.+--+-- Default: false+createDBInstance_storageEncrypted :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Bool)+createDBInstance_storageEncrypted = Lens.lens (\CreateDBInstance' {storageEncrypted} -> storageEncrypted) (\s@CreateDBInstance' {} a -> s {storageEncrypted = a} :: CreateDBInstance)++-- | Specifies the storage type to be associated with the DB instance.+--+-- Not applicable. Storage is managed by the DB Cluster.+createDBInstance_storageType :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_storageType = Lens.lens (\CreateDBInstance' {storageType} -> storageType) (\s@CreateDBInstance' {} a -> s {storageType = a} :: CreateDBInstance)++-- | The tags to assign to the new instance.+createDBInstance_tags :: Lens.Lens' CreateDBInstance (Prelude.Maybe [Tag])+createDBInstance_tags = Lens.lens (\CreateDBInstance' {tags} -> tags) (\s@CreateDBInstance' {} a -> s {tags = a} :: CreateDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | The ARN from the key store with which to associate the instance for TDE+-- encryption.+createDBInstance_tdeCredentialArn :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_tdeCredentialArn = Lens.lens (\CreateDBInstance' {tdeCredentialArn} -> tdeCredentialArn) (\s@CreateDBInstance' {} a -> s {tdeCredentialArn = a} :: CreateDBInstance)++-- | The password for the given ARN from the key store in order to access the+-- device.+createDBInstance_tdeCredentialPassword :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_tdeCredentialPassword = Lens.lens (\CreateDBInstance' {tdeCredentialPassword} -> tdeCredentialPassword) (\s@CreateDBInstance' {} a -> s {tdeCredentialPassword = a} :: CreateDBInstance)++-- | The time zone of the DB instance.+createDBInstance_timezone :: Lens.Lens' CreateDBInstance (Prelude.Maybe Prelude.Text)+createDBInstance_timezone = Lens.lens (\CreateDBInstance' {timezone} -> timezone) (\s@CreateDBInstance' {} a -> s {timezone = a} :: CreateDBInstance)++-- | A list of EC2 VPC security groups to associate with this DB instance.+--+-- Not applicable. The associated list of EC2 VPC security groups is+-- managed by the DB cluster. For more information, see CreateDBCluster.+--+-- Default: The default EC2 VPC security group for the DB subnet group\'s+-- VPC.+createDBInstance_vpcSecurityGroupIds :: Lens.Lens' CreateDBInstance (Prelude.Maybe [Prelude.Text])+createDBInstance_vpcSecurityGroupIds = Lens.lens (\CreateDBInstance' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@CreateDBInstance' {} a -> s {vpcSecurityGroupIds = a} :: CreateDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | The DB instance identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   First character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @mydbinstance@+createDBInstance_dbInstanceIdentifier :: Lens.Lens' CreateDBInstance Prelude.Text+createDBInstance_dbInstanceIdentifier = Lens.lens (\CreateDBInstance' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@CreateDBInstance' {} a -> s {dbInstanceIdentifier = a} :: CreateDBInstance)++-- | The compute and memory capacity of the DB instance, for example,+-- @db.m4.large@. Not all DB instance classes are available in all Amazon+-- Regions.+createDBInstance_dbInstanceClass :: Lens.Lens' CreateDBInstance Prelude.Text+createDBInstance_dbInstanceClass = Lens.lens (\CreateDBInstance' {dbInstanceClass} -> dbInstanceClass) (\s@CreateDBInstance' {} a -> s {dbInstanceClass = a} :: CreateDBInstance)++-- | The name of the database engine to be used for this instance.+--+-- Valid Values: @neptune@+createDBInstance_engine :: Lens.Lens' CreateDBInstance Prelude.Text+createDBInstance_engine = Lens.lens (\CreateDBInstance' {engine} -> engine) (\s@CreateDBInstance' {} a -> s {engine = a} :: CreateDBInstance)++instance Core.AWSRequest CreateDBInstance where+  type+    AWSResponse CreateDBInstance =+      CreateDBInstanceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBInstanceResult"+      ( \s h x ->+          CreateDBInstanceResponse'+            Prelude.<$> (x Data..@? "DBInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBInstance where+  hashWithSalt _salt CreateDBInstance' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` autoMinorVersionUpgrade+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` characterSetName+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbName+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` dbSecurityGroups+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` domainIAMRoleName+      `Prelude.hashWithSalt` enableCloudwatchLogsExports+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` enablePerformanceInsights+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` iops+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` masterUserPassword+      `Prelude.hashWithSalt` masterUsername+      `Prelude.hashWithSalt` monitoringInterval+      `Prelude.hashWithSalt` monitoringRoleArn+      `Prelude.hashWithSalt` multiAZ+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` performanceInsightsKMSKeyId+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` promotionTier+      `Prelude.hashWithSalt` publiclyAccessible+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` storageType+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` tdeCredentialArn+      `Prelude.hashWithSalt` tdeCredentialPassword+      `Prelude.hashWithSalt` timezone+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbInstanceIdentifier+      `Prelude.hashWithSalt` dbInstanceClass+      `Prelude.hashWithSalt` engine++instance Prelude.NFData CreateDBInstance where+  rnf CreateDBInstance' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf autoMinorVersionUpgrade+      `Prelude.seq` Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf characterSetName+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbName+      `Prelude.seq` Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf dbSecurityGroups+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf domainIAMRoleName+      `Prelude.seq` Prelude.rnf enableCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf+        enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf+        enablePerformanceInsights+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf iops+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf+        masterUserPassword+      `Prelude.seq` Prelude.rnf+        masterUsername+      `Prelude.seq` Prelude.rnf+        monitoringInterval+      `Prelude.seq` Prelude.rnf+        monitoringRoleArn+      `Prelude.seq` Prelude.rnf+        multiAZ+      `Prelude.seq` Prelude.rnf+        optionGroupName+      `Prelude.seq` Prelude.rnf+        performanceInsightsKMSKeyId+      `Prelude.seq` Prelude.rnf+        port+      `Prelude.seq` Prelude.rnf+        preferredBackupWindow+      `Prelude.seq` Prelude.rnf+        preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        promotionTier+      `Prelude.seq` Prelude.rnf+        publiclyAccessible+      `Prelude.seq` Prelude.rnf+        storageEncrypted+      `Prelude.seq` Prelude.rnf+        storageType+      `Prelude.seq` Prelude.rnf+        tags+      `Prelude.seq` Prelude.rnf+        tdeCredentialArn+      `Prelude.seq` Prelude.rnf+        tdeCredentialPassword+      `Prelude.seq` Prelude.rnf+        timezone+      `Prelude.seq` Prelude.rnf+        vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf+        dbInstanceIdentifier+      `Prelude.seq` Prelude.rnf+        dbInstanceClass+      `Prelude.seq` Prelude.rnf+        engine++instance Data.ToHeaders CreateDBInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBInstance where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBInstance where+  toQuery CreateDBInstance' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBInstance" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AllocatedStorage" Data.=: allocatedStorage,+        "AutoMinorVersionUpgrade"+          Data.=: autoMinorVersionUpgrade,+        "AvailabilityZone" Data.=: availabilityZone,+        "BackupRetentionPeriod"+          Data.=: backupRetentionPeriod,+        "CharacterSetName" Data.=: characterSetName,+        "CopyTagsToSnapshot" Data.=: copyTagsToSnapshot,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "DBName" Data.=: dbName,+        "DBParameterGroupName" Data.=: dbParameterGroupName,+        "DBSecurityGroups"+          Data.=: Data.toQuery+            ( Data.toQueryList "DBSecurityGroupName"+                Prelude.<$> dbSecurityGroups+            ),+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DeletionProtection" Data.=: deletionProtection,+        "Domain" Data.=: domain,+        "DomainIAMRoleName" Data.=: domainIAMRoleName,+        "EnableCloudwatchLogsExports"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> enableCloudwatchLogsExports+            ),+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "EnablePerformanceInsights"+          Data.=: enablePerformanceInsights,+        "EngineVersion" Data.=: engineVersion,+        "Iops" Data.=: iops,+        "KmsKeyId" Data.=: kmsKeyId,+        "LicenseModel" Data.=: licenseModel,+        "MasterUserPassword" Data.=: masterUserPassword,+        "MasterUsername" Data.=: masterUsername,+        "MonitoringInterval" Data.=: monitoringInterval,+        "MonitoringRoleArn" Data.=: monitoringRoleArn,+        "MultiAZ" Data.=: multiAZ,+        "OptionGroupName" Data.=: optionGroupName,+        "PerformanceInsightsKMSKeyId"+          Data.=: performanceInsightsKMSKeyId,+        "Port" Data.=: port,+        "PreferredBackupWindow"+          Data.=: preferredBackupWindow,+        "PreferredMaintenanceWindow"+          Data.=: preferredMaintenanceWindow,+        "PromotionTier" Data.=: promotionTier,+        "PubliclyAccessible" Data.=: publiclyAccessible,+        "StorageEncrypted" Data.=: storageEncrypted,+        "StorageType" Data.=: storageType,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "TdeCredentialArn" Data.=: tdeCredentialArn,+        "TdeCredentialPassword"+          Data.=: tdeCredentialPassword,+        "Timezone" Data.=: timezone,+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier,+        "DBInstanceClass" Data.=: dbInstanceClass,+        "Engine" Data.=: engine+      ]++-- | /See:/ 'newCreateDBInstanceResponse' smart constructor.+data CreateDBInstanceResponse = CreateDBInstanceResponse'+  { dbInstance :: Prelude.Maybe DBInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstance', 'createDBInstanceResponse_dbInstance' - Undocumented member.+--+-- 'httpStatus', 'createDBInstanceResponse_httpStatus' - The response's http status code.+newCreateDBInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBInstanceResponse+newCreateDBInstanceResponse pHttpStatus_ =+  CreateDBInstanceResponse'+    { dbInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBInstanceResponse_dbInstance :: Lens.Lens' CreateDBInstanceResponse (Prelude.Maybe DBInstance)+createDBInstanceResponse_dbInstance = Lens.lens (\CreateDBInstanceResponse' {dbInstance} -> dbInstance) (\s@CreateDBInstanceResponse' {} a -> s {dbInstance = a} :: CreateDBInstanceResponse)++-- | The response's http status code.+createDBInstanceResponse_httpStatus :: Lens.Lens' CreateDBInstanceResponse Prelude.Int+createDBInstanceResponse_httpStatus = Lens.lens (\CreateDBInstanceResponse' {httpStatus} -> httpStatus) (\s@CreateDBInstanceResponse' {} a -> s {httpStatus = a} :: CreateDBInstanceResponse)++instance Prelude.NFData CreateDBInstanceResponse where+  rnf CreateDBInstanceResponse' {..} =+    Prelude.rnf dbInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBParameterGroup.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.CreateDBParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new DB parameter group.+--+-- A DB parameter group is initially created with the default parameters+-- for the database engine used by the DB instance. To provide custom+-- values for any of the parameters, you must modify the group after+-- creating it using /ModifyDBParameterGroup/. Once you\'ve created a DB+-- parameter group, you need to associate it with your DB instance using+-- /ModifyDBInstance/. When you associate a new DB parameter group with a+-- running DB instance, you need to reboot the DB instance without failover+-- for the new DB parameter group and associated settings to take effect.+--+-- After you create a DB parameter group, you should wait at least 5+-- minutes before creating your first DB instance that uses that DB+-- parameter group as the default parameter group. This allows Amazon+-- Neptune to fully complete the create action before the parameter group+-- is used as the default for a new DB instance. This is especially+-- important for parameters that are critical when creating the default+-- database for a DB instance, such as the character set for the default+-- database defined by the @character_set_database@ parameter. You can use+-- the /Parameter Groups/ option of the Amazon Neptune console or the+-- /DescribeDBParameters/ command to verify that your DB parameter group+-- has been created or modified.+module Amazonka.Neptune.CreateDBParameterGroup+  ( -- * Creating a Request+    CreateDBParameterGroup (..),+    newCreateDBParameterGroup,++    -- * Request Lenses+    createDBParameterGroup_tags,+    createDBParameterGroup_dbParameterGroupName,+    createDBParameterGroup_dbParameterGroupFamily,+    createDBParameterGroup_description,++    -- * Destructuring the Response+    CreateDBParameterGroupResponse (..),+    newCreateDBParameterGroupResponse,++    -- * Response Lenses+    createDBParameterGroupResponse_dbParameterGroup,+    createDBParameterGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBParameterGroup' smart constructor.+data CreateDBParameterGroup = CreateDBParameterGroup'+  { -- | The tags to be assigned to the new DB parameter group.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the DB parameter group.+    --+    -- Constraints:+    --+    -- -   Must be 1 to 255 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- This value is stored as a lowercase string.+    dbParameterGroupName :: Prelude.Text,+    -- | The DB parameter group family name. A DB parameter group can be+    -- associated with one and only one DB parameter group family, and can be+    -- applied only to a DB instance running a database engine and engine+    -- version compatible with that DB parameter group family.+    dbParameterGroupFamily :: Prelude.Text,+    -- | The description for the DB parameter group.+    description :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDBParameterGroup_tags' - The tags to be assigned to the new DB parameter group.+--+-- 'dbParameterGroupName', 'createDBParameterGroup_dbParameterGroupName' - The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- This value is stored as a lowercase string.+--+-- 'dbParameterGroupFamily', 'createDBParameterGroup_dbParameterGroupFamily' - The DB parameter group family name. A DB parameter group can be+-- associated with one and only one DB parameter group family, and can be+-- applied only to a DB instance running a database engine and engine+-- version compatible with that DB parameter group family.+--+-- 'description', 'createDBParameterGroup_description' - The description for the DB parameter group.+newCreateDBParameterGroup ::+  -- | 'dbParameterGroupName'+  Prelude.Text ->+  -- | 'dbParameterGroupFamily'+  Prelude.Text ->+  -- | 'description'+  Prelude.Text ->+  CreateDBParameterGroup+newCreateDBParameterGroup+  pDBParameterGroupName_+  pDBParameterGroupFamily_+  pDescription_ =+    CreateDBParameterGroup'+      { tags = Prelude.Nothing,+        dbParameterGroupName = pDBParameterGroupName_,+        dbParameterGroupFamily = pDBParameterGroupFamily_,+        description = pDescription_+      }++-- | The tags to be assigned to the new DB parameter group.+createDBParameterGroup_tags :: Lens.Lens' CreateDBParameterGroup (Prelude.Maybe [Tag])+createDBParameterGroup_tags = Lens.lens (\CreateDBParameterGroup' {tags} -> tags) (\s@CreateDBParameterGroup' {} a -> s {tags = a} :: CreateDBParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- This value is stored as a lowercase string.+createDBParameterGroup_dbParameterGroupName :: Lens.Lens' CreateDBParameterGroup Prelude.Text+createDBParameterGroup_dbParameterGroupName = Lens.lens (\CreateDBParameterGroup' {dbParameterGroupName} -> dbParameterGroupName) (\s@CreateDBParameterGroup' {} a -> s {dbParameterGroupName = a} :: CreateDBParameterGroup)++-- | The DB parameter group family name. A DB parameter group can be+-- associated with one and only one DB parameter group family, and can be+-- applied only to a DB instance running a database engine and engine+-- version compatible with that DB parameter group family.+createDBParameterGroup_dbParameterGroupFamily :: Lens.Lens' CreateDBParameterGroup Prelude.Text+createDBParameterGroup_dbParameterGroupFamily = Lens.lens (\CreateDBParameterGroup' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@CreateDBParameterGroup' {} a -> s {dbParameterGroupFamily = a} :: CreateDBParameterGroup)++-- | The description for the DB parameter group.+createDBParameterGroup_description :: Lens.Lens' CreateDBParameterGroup Prelude.Text+createDBParameterGroup_description = Lens.lens (\CreateDBParameterGroup' {description} -> description) (\s@CreateDBParameterGroup' {} a -> s {description = a} :: CreateDBParameterGroup)++instance Core.AWSRequest CreateDBParameterGroup where+  type+    AWSResponse CreateDBParameterGroup =+      CreateDBParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBParameterGroupResult"+      ( \s h x ->+          CreateDBParameterGroupResponse'+            Prelude.<$> (x Data..@? "DBParameterGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBParameterGroup where+  hashWithSalt _salt CreateDBParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` description++instance Prelude.NFData CreateDBParameterGroup where+  rnf CreateDBParameterGroup' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf description++instance Data.ToHeaders CreateDBParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBParameterGroup where+  toQuery CreateDBParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBParameterGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "DBParameterGroupName" Data.=: dbParameterGroupName,+        "DBParameterGroupFamily"+          Data.=: dbParameterGroupFamily,+        "Description" Data.=: description+      ]++-- | /See:/ 'newCreateDBParameterGroupResponse' smart constructor.+data CreateDBParameterGroupResponse = CreateDBParameterGroupResponse'+  { dbParameterGroup :: Prelude.Maybe DBParameterGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroup', 'createDBParameterGroupResponse_dbParameterGroup' - Undocumented member.+--+-- 'httpStatus', 'createDBParameterGroupResponse_httpStatus' - The response's http status code.+newCreateDBParameterGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBParameterGroupResponse+newCreateDBParameterGroupResponse pHttpStatus_ =+  CreateDBParameterGroupResponse'+    { dbParameterGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBParameterGroupResponse_dbParameterGroup :: Lens.Lens' CreateDBParameterGroupResponse (Prelude.Maybe DBParameterGroup)+createDBParameterGroupResponse_dbParameterGroup = Lens.lens (\CreateDBParameterGroupResponse' {dbParameterGroup} -> dbParameterGroup) (\s@CreateDBParameterGroupResponse' {} a -> s {dbParameterGroup = a} :: CreateDBParameterGroupResponse)++-- | The response's http status code.+createDBParameterGroupResponse_httpStatus :: Lens.Lens' CreateDBParameterGroupResponse Prelude.Int+createDBParameterGroupResponse_httpStatus = Lens.lens (\CreateDBParameterGroupResponse' {httpStatus} -> httpStatus) (\s@CreateDBParameterGroupResponse' {} a -> s {httpStatus = a} :: CreateDBParameterGroupResponse)++instance+  Prelude.NFData+    CreateDBParameterGroupResponse+  where+  rnf CreateDBParameterGroupResponse' {..} =+    Prelude.rnf dbParameterGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateDBSubnetGroup.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.CreateDBSubnetGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new DB subnet group. DB subnet groups must contain at least+-- one subnet in at least two AZs in the Amazon Region.+module Amazonka.Neptune.CreateDBSubnetGroup+  ( -- * Creating a Request+    CreateDBSubnetGroup (..),+    newCreateDBSubnetGroup,++    -- * Request Lenses+    createDBSubnetGroup_tags,+    createDBSubnetGroup_dbSubnetGroupName,+    createDBSubnetGroup_dbSubnetGroupDescription,+    createDBSubnetGroup_subnetIds,++    -- * Destructuring the Response+    CreateDBSubnetGroupResponse (..),+    newCreateDBSubnetGroupResponse,++    -- * Response Lenses+    createDBSubnetGroupResponse_dbSubnetGroup,+    createDBSubnetGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDBSubnetGroup' smart constructor.+data CreateDBSubnetGroup = CreateDBSubnetGroup'+  { -- | The tags to be assigned to the new DB subnet group.+    tags :: Prelude.Maybe [Tag],+    -- | The name for the DB subnet group. This value is stored as a lowercase+    -- string.+    --+    -- Constraints: Must contain no more than 255 letters, numbers, periods,+    -- underscores, spaces, or hyphens. Must not be default.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Text,+    -- | The description for the DB subnet group.+    dbSubnetGroupDescription :: Prelude.Text,+    -- | The EC2 Subnet IDs for the DB subnet group.+    subnetIds :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBSubnetGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDBSubnetGroup_tags' - The tags to be assigned to the new DB subnet group.+--+-- 'dbSubnetGroupName', 'createDBSubnetGroup_dbSubnetGroupName' - The name for the DB subnet group. This value is stored as a lowercase+-- string.+--+-- Constraints: Must contain no more than 255 letters, numbers, periods,+-- underscores, spaces, or hyphens. Must not be default.+--+-- Example: @mySubnetgroup@+--+-- 'dbSubnetGroupDescription', 'createDBSubnetGroup_dbSubnetGroupDescription' - The description for the DB subnet group.+--+-- 'subnetIds', 'createDBSubnetGroup_subnetIds' - The EC2 Subnet IDs for the DB subnet group.+newCreateDBSubnetGroup ::+  -- | 'dbSubnetGroupName'+  Prelude.Text ->+  -- | 'dbSubnetGroupDescription'+  Prelude.Text ->+  CreateDBSubnetGroup+newCreateDBSubnetGroup+  pDBSubnetGroupName_+  pDBSubnetGroupDescription_ =+    CreateDBSubnetGroup'+      { tags = Prelude.Nothing,+        dbSubnetGroupName = pDBSubnetGroupName_,+        dbSubnetGroupDescription =+          pDBSubnetGroupDescription_,+        subnetIds = Prelude.mempty+      }++-- | The tags to be assigned to the new DB subnet group.+createDBSubnetGroup_tags :: Lens.Lens' CreateDBSubnetGroup (Prelude.Maybe [Tag])+createDBSubnetGroup_tags = Lens.lens (\CreateDBSubnetGroup' {tags} -> tags) (\s@CreateDBSubnetGroup' {} a -> s {tags = a} :: CreateDBSubnetGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name for the DB subnet group. This value is stored as a lowercase+-- string.+--+-- Constraints: Must contain no more than 255 letters, numbers, periods,+-- underscores, spaces, or hyphens. Must not be default.+--+-- Example: @mySubnetgroup@+createDBSubnetGroup_dbSubnetGroupName :: Lens.Lens' CreateDBSubnetGroup Prelude.Text+createDBSubnetGroup_dbSubnetGroupName = Lens.lens (\CreateDBSubnetGroup' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@CreateDBSubnetGroup' {} a -> s {dbSubnetGroupName = a} :: CreateDBSubnetGroup)++-- | The description for the DB subnet group.+createDBSubnetGroup_dbSubnetGroupDescription :: Lens.Lens' CreateDBSubnetGroup Prelude.Text+createDBSubnetGroup_dbSubnetGroupDescription = Lens.lens (\CreateDBSubnetGroup' {dbSubnetGroupDescription} -> dbSubnetGroupDescription) (\s@CreateDBSubnetGroup' {} a -> s {dbSubnetGroupDescription = a} :: CreateDBSubnetGroup)++-- | The EC2 Subnet IDs for the DB subnet group.+createDBSubnetGroup_subnetIds :: Lens.Lens' CreateDBSubnetGroup [Prelude.Text]+createDBSubnetGroup_subnetIds = Lens.lens (\CreateDBSubnetGroup' {subnetIds} -> subnetIds) (\s@CreateDBSubnetGroup' {} a -> s {subnetIds = a} :: CreateDBSubnetGroup) Prelude.. Lens.coerced++instance Core.AWSRequest CreateDBSubnetGroup where+  type+    AWSResponse CreateDBSubnetGroup =+      CreateDBSubnetGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateDBSubnetGroupResult"+      ( \s h x ->+          CreateDBSubnetGroupResponse'+            Prelude.<$> (x Data..@? "DBSubnetGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDBSubnetGroup where+  hashWithSalt _salt CreateDBSubnetGroup' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` dbSubnetGroupDescription+      `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData CreateDBSubnetGroup where+  rnf CreateDBSubnetGroup' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf dbSubnetGroupDescription+      `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToHeaders CreateDBSubnetGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateDBSubnetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDBSubnetGroup where+  toQuery CreateDBSubnetGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateDBSubnetGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DBSubnetGroupDescription"+          Data.=: dbSubnetGroupDescription,+        "SubnetIds"+          Data.=: Data.toQueryList "SubnetIdentifier" subnetIds+      ]++-- | /See:/ 'newCreateDBSubnetGroupResponse' smart constructor.+data CreateDBSubnetGroupResponse = CreateDBSubnetGroupResponse'+  { dbSubnetGroup :: Prelude.Maybe DBSubnetGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDBSubnetGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroup', 'createDBSubnetGroupResponse_dbSubnetGroup' - Undocumented member.+--+-- 'httpStatus', 'createDBSubnetGroupResponse_httpStatus' - The response's http status code.+newCreateDBSubnetGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDBSubnetGroupResponse+newCreateDBSubnetGroupResponse pHttpStatus_ =+  CreateDBSubnetGroupResponse'+    { dbSubnetGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createDBSubnetGroupResponse_dbSubnetGroup :: Lens.Lens' CreateDBSubnetGroupResponse (Prelude.Maybe DBSubnetGroup)+createDBSubnetGroupResponse_dbSubnetGroup = Lens.lens (\CreateDBSubnetGroupResponse' {dbSubnetGroup} -> dbSubnetGroup) (\s@CreateDBSubnetGroupResponse' {} a -> s {dbSubnetGroup = a} :: CreateDBSubnetGroupResponse)++-- | The response's http status code.+createDBSubnetGroupResponse_httpStatus :: Lens.Lens' CreateDBSubnetGroupResponse Prelude.Int+createDBSubnetGroupResponse_httpStatus = Lens.lens (\CreateDBSubnetGroupResponse' {httpStatus} -> httpStatus) (\s@CreateDBSubnetGroupResponse' {} a -> s {httpStatus = a} :: CreateDBSubnetGroupResponse)++instance Prelude.NFData CreateDBSubnetGroupResponse where+  rnf CreateDBSubnetGroupResponse' {..} =+    Prelude.rnf dbSubnetGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateEventSubscription.hs view
@@ -0,0 +1,372 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.CreateEventSubscription+-- 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 event notification subscription. This action requires a topic+-- ARN (Amazon Resource Name) created by either the Neptune console, the+-- SNS console, or the SNS API. To obtain an ARN with SNS, you must create+-- a topic in Amazon SNS and subscribe to the topic. The ARN is displayed+-- in the SNS console.+--+-- You can specify the type of source (SourceType) you want to be notified+-- of, provide a list of Neptune sources (SourceIds) that triggers the+-- events, and provide a list of event categories (EventCategories) for+-- events you want to be notified of. For example, you can specify+-- SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and+-- EventCategories = Availability, Backup.+--+-- If you specify both the SourceType and SourceIds, such as SourceType =+-- db-instance and SourceIdentifier = myDBInstance1, you are notified of+-- all the db-instance events for the specified source. If you specify a+-- SourceType but do not specify a SourceIdentifier, you receive notice of+-- the events for that source type for all your Neptune sources. If you do+-- not specify either the SourceType nor the SourceIdentifier, you are+-- notified of events generated from all Neptune sources belonging to your+-- customer account.+module Amazonka.Neptune.CreateEventSubscription+  ( -- * Creating a Request+    CreateEventSubscription (..),+    newCreateEventSubscription,++    -- * Request Lenses+    createEventSubscription_enabled,+    createEventSubscription_eventCategories,+    createEventSubscription_sourceIds,+    createEventSubscription_sourceType,+    createEventSubscription_tags,+    createEventSubscription_subscriptionName,+    createEventSubscription_snsTopicArn,++    -- * Destructuring the Response+    CreateEventSubscriptionResponse (..),+    newCreateEventSubscriptionResponse,++    -- * Response Lenses+    createEventSubscriptionResponse_eventSubscription,+    createEventSubscriptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateEventSubscription' smart constructor.+data CreateEventSubscription = CreateEventSubscription'+  { -- | A Boolean value; set to __true__ to activate the subscription, set to+    -- __false__ to create the subscription but not active it.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | A list of event categories for a SourceType that you want to subscribe+    -- to. You can see a list of the categories for a given SourceType by using+    -- the __DescribeEventCategories__ action.+    eventCategories :: Prelude.Maybe [Prelude.Text],+    -- | The list of identifiers of the event sources for which events are+    -- returned. If not specified, then all sources are included in the+    -- response. An identifier must begin with a letter and must contain only+    -- ASCII letters, digits, and hyphens; it can\'t end with a hyphen or+    -- contain two consecutive hyphens.+    --+    -- Constraints:+    --+    -- -   If SourceIds are supplied, SourceType must also be provided.+    --+    -- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+    --     must be supplied.+    --+    -- -   If the source type is a DB security group, a @DBSecurityGroupName@+    --     must be supplied.+    --+    -- -   If the source type is a DB parameter group, a @DBParameterGroupName@+    --     must be supplied.+    --+    -- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+    --     be supplied.+    sourceIds :: Prelude.Maybe [Prelude.Text],+    -- | The type of source that is generating the events. For example, if you+    -- want to be notified of events generated by a DB instance, you would set+    -- this parameter to db-instance. if this value is not specified, all+    -- events are returned.+    --+    -- Valid values: @db-instance@ | @db-cluster@ | @db-parameter-group@ |+    -- @db-security-group@ | @db-snapshot@ | @db-cluster-snapshot@+    sourceType :: Prelude.Maybe Prelude.Text,+    -- | The tags to be applied to the new event subscription.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the subscription.+    --+    -- Constraints: The name must be less than 255 characters.+    subscriptionName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the SNS topic created for event+    -- notification. The ARN is created by Amazon SNS when you create a topic+    -- and subscribe to it.+    snsTopicArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEventSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createEventSubscription_enabled' - A Boolean value; set to __true__ to activate the subscription, set to+-- __false__ to create the subscription but not active it.+--+-- 'eventCategories', 'createEventSubscription_eventCategories' - A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType by using+-- the __DescribeEventCategories__ action.+--+-- 'sourceIds', 'createEventSubscription_sourceIds' - The list of identifiers of the event sources for which events are+-- returned. If not specified, then all sources are included in the+-- response. An identifier must begin with a letter and must contain only+-- ASCII letters, digits, and hyphens; it can\'t end with a hyphen or+-- contain two consecutive hyphens.+--+-- Constraints:+--+-- -   If SourceIds are supplied, SourceType must also be provided.+--+-- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is a DB security group, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is a DB parameter group, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+--     be supplied.+--+-- 'sourceType', 'createEventSubscription_sourceType' - The type of source that is generating the events. For example, if you+-- want to be notified of events generated by a DB instance, you would set+-- this parameter to db-instance. if this value is not specified, all+-- events are returned.+--+-- Valid values: @db-instance@ | @db-cluster@ | @db-parameter-group@ |+-- @db-security-group@ | @db-snapshot@ | @db-cluster-snapshot@+--+-- 'tags', 'createEventSubscription_tags' - The tags to be applied to the new event subscription.+--+-- 'subscriptionName', 'createEventSubscription_subscriptionName' - The name of the subscription.+--+-- Constraints: The name must be less than 255 characters.+--+-- 'snsTopicArn', 'createEventSubscription_snsTopicArn' - The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+newCreateEventSubscription ::+  -- | 'subscriptionName'+  Prelude.Text ->+  -- | 'snsTopicArn'+  Prelude.Text ->+  CreateEventSubscription+newCreateEventSubscription+  pSubscriptionName_+  pSnsTopicArn_ =+    CreateEventSubscription'+      { enabled = Prelude.Nothing,+        eventCategories = Prelude.Nothing,+        sourceIds = Prelude.Nothing,+        sourceType = Prelude.Nothing,+        tags = Prelude.Nothing,+        subscriptionName = pSubscriptionName_,+        snsTopicArn = pSnsTopicArn_+      }++-- | A Boolean value; set to __true__ to activate the subscription, set to+-- __false__ to create the subscription but not active it.+createEventSubscription_enabled :: Lens.Lens' CreateEventSubscription (Prelude.Maybe Prelude.Bool)+createEventSubscription_enabled = Lens.lens (\CreateEventSubscription' {enabled} -> enabled) (\s@CreateEventSubscription' {} a -> s {enabled = a} :: CreateEventSubscription)++-- | A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType by using+-- the __DescribeEventCategories__ action.+createEventSubscription_eventCategories :: Lens.Lens' CreateEventSubscription (Prelude.Maybe [Prelude.Text])+createEventSubscription_eventCategories = Lens.lens (\CreateEventSubscription' {eventCategories} -> eventCategories) (\s@CreateEventSubscription' {} a -> s {eventCategories = a} :: CreateEventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The list of identifiers of the event sources for which events are+-- returned. If not specified, then all sources are included in the+-- response. An identifier must begin with a letter and must contain only+-- ASCII letters, digits, and hyphens; it can\'t end with a hyphen or+-- contain two consecutive hyphens.+--+-- Constraints:+--+-- -   If SourceIds are supplied, SourceType must also be provided.+--+-- -   If the source type is a DB instance, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is a DB security group, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is a DB parameter group, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ must+--     be supplied.+createEventSubscription_sourceIds :: Lens.Lens' CreateEventSubscription (Prelude.Maybe [Prelude.Text])+createEventSubscription_sourceIds = Lens.lens (\CreateEventSubscription' {sourceIds} -> sourceIds) (\s@CreateEventSubscription' {} a -> s {sourceIds = a} :: CreateEventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The type of source that is generating the events. For example, if you+-- want to be notified of events generated by a DB instance, you would set+-- this parameter to db-instance. if this value is not specified, all+-- events are returned.+--+-- Valid values: @db-instance@ | @db-cluster@ | @db-parameter-group@ |+-- @db-security-group@ | @db-snapshot@ | @db-cluster-snapshot@+createEventSubscription_sourceType :: Lens.Lens' CreateEventSubscription (Prelude.Maybe Prelude.Text)+createEventSubscription_sourceType = Lens.lens (\CreateEventSubscription' {sourceType} -> sourceType) (\s@CreateEventSubscription' {} a -> s {sourceType = a} :: CreateEventSubscription)++-- | The tags to be applied to the new event subscription.+createEventSubscription_tags :: Lens.Lens' CreateEventSubscription (Prelude.Maybe [Tag])+createEventSubscription_tags = Lens.lens (\CreateEventSubscription' {tags} -> tags) (\s@CreateEventSubscription' {} a -> s {tags = a} :: CreateEventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The name of the subscription.+--+-- Constraints: The name must be less than 255 characters.+createEventSubscription_subscriptionName :: Lens.Lens' CreateEventSubscription Prelude.Text+createEventSubscription_subscriptionName = Lens.lens (\CreateEventSubscription' {subscriptionName} -> subscriptionName) (\s@CreateEventSubscription' {} a -> s {subscriptionName = a} :: CreateEventSubscription)++-- | The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+createEventSubscription_snsTopicArn :: Lens.Lens' CreateEventSubscription Prelude.Text+createEventSubscription_snsTopicArn = Lens.lens (\CreateEventSubscription' {snsTopicArn} -> snsTopicArn) (\s@CreateEventSubscription' {} a -> s {snsTopicArn = a} :: CreateEventSubscription)++instance Core.AWSRequest CreateEventSubscription where+  type+    AWSResponse CreateEventSubscription =+      CreateEventSubscriptionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateEventSubscriptionResult"+      ( \s h x ->+          CreateEventSubscriptionResponse'+            Prelude.<$> (x Data..@? "EventSubscription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateEventSubscription where+  hashWithSalt _salt CreateEventSubscription' {..} =+    _salt+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` eventCategories+      `Prelude.hashWithSalt` sourceIds+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` subscriptionName+      `Prelude.hashWithSalt` snsTopicArn++instance Prelude.NFData CreateEventSubscription where+  rnf CreateEventSubscription' {..} =+    Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf eventCategories+      `Prelude.seq` Prelude.rnf sourceIds+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf subscriptionName+      `Prelude.seq` Prelude.rnf snsTopicArn++instance Data.ToHeaders CreateEventSubscription where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateEventSubscription where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateEventSubscription where+  toQuery CreateEventSubscription' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateEventSubscription" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Enabled" Data.=: enabled,+        "EventCategories"+          Data.=: Data.toQuery+            ( Data.toQueryList "EventCategory"+                Prelude.<$> eventCategories+            ),+        "SourceIds"+          Data.=: Data.toQuery+            (Data.toQueryList "SourceId" Prelude.<$> sourceIds),+        "SourceType" Data.=: sourceType,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "SubscriptionName" Data.=: subscriptionName,+        "SnsTopicArn" Data.=: snsTopicArn+      ]++-- | /See:/ 'newCreateEventSubscriptionResponse' smart constructor.+data CreateEventSubscriptionResponse = CreateEventSubscriptionResponse'+  { eventSubscription :: Prelude.Maybe EventSubscription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEventSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscription', 'createEventSubscriptionResponse_eventSubscription' - Undocumented member.+--+-- 'httpStatus', 'createEventSubscriptionResponse_httpStatus' - The response's http status code.+newCreateEventSubscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateEventSubscriptionResponse+newCreateEventSubscriptionResponse pHttpStatus_ =+  CreateEventSubscriptionResponse'+    { eventSubscription =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createEventSubscriptionResponse_eventSubscription :: Lens.Lens' CreateEventSubscriptionResponse (Prelude.Maybe EventSubscription)+createEventSubscriptionResponse_eventSubscription = Lens.lens (\CreateEventSubscriptionResponse' {eventSubscription} -> eventSubscription) (\s@CreateEventSubscriptionResponse' {} a -> s {eventSubscription = a} :: CreateEventSubscriptionResponse)++-- | The response's http status code.+createEventSubscriptionResponse_httpStatus :: Lens.Lens' CreateEventSubscriptionResponse Prelude.Int+createEventSubscriptionResponse_httpStatus = Lens.lens (\CreateEventSubscriptionResponse' {httpStatus} -> httpStatus) (\s@CreateEventSubscriptionResponse' {} a -> s {httpStatus = a} :: CreateEventSubscriptionResponse)++instance+  Prelude.NFData+    CreateEventSubscriptionResponse+  where+  rnf CreateEventSubscriptionResponse' {..} =+    Prelude.rnf eventSubscription+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/CreateGlobalCluster.hs view
@@ -0,0 +1,255 @@+{-# 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.Neptune.CreateGlobalCluster+-- 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 Neptune global database spread across multiple Amazon Regions.+-- The global database contains a single primary cluster with read-write+-- capability, and read-only secondary clusters that receive data from the+-- primary cluster through high-speed replication performed by the Neptune+-- storage subsystem.+--+-- You can create a global database that is initially empty, and then add a+-- primary cluster and secondary clusters to it, or you can specify an+-- existing Neptune cluster during the create operation to become the+-- primary cluster of the global database.+module Amazonka.Neptune.CreateGlobalCluster+  ( -- * Creating a Request+    CreateGlobalCluster (..),+    newCreateGlobalCluster,++    -- * Request Lenses+    createGlobalCluster_deletionProtection,+    createGlobalCluster_engine,+    createGlobalCluster_engineVersion,+    createGlobalCluster_sourceDBClusterIdentifier,+    createGlobalCluster_storageEncrypted,+    createGlobalCluster_globalClusterIdentifier,++    -- * Destructuring the Response+    CreateGlobalClusterResponse (..),+    newCreateGlobalClusterResponse,++    -- * Response Lenses+    createGlobalClusterResponse_globalCluster,+    createGlobalClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGlobalCluster' smart constructor.+data CreateGlobalCluster = CreateGlobalCluster'+  { -- | The deletion protection setting for the new global database. The global+    -- database can\'t be deleted when deletion protection is enabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The name of the database engine to be used in the global database.+    --+    -- Valid values: @neptune@+    engine :: Prelude.Maybe Prelude.Text,+    -- | The Neptune engine version to be used by the global database.+    --+    -- Valid values: @1.2.0.0@ or above.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | (/Optional/) The Amazon Resource Name (ARN) of an existing Neptune DB+    -- cluster to use as the primary cluster of the new global database.+    sourceDBClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The storage encryption setting for the new global database cluster.+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | The cluster identifier of the new global database cluster.+    globalClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deletionProtection', 'createGlobalCluster_deletionProtection' - The deletion protection setting for the new global database. The global+-- database can\'t be deleted when deletion protection is enabled.+--+-- 'engine', 'createGlobalCluster_engine' - The name of the database engine to be used in the global database.+--+-- Valid values: @neptune@+--+-- 'engineVersion', 'createGlobalCluster_engineVersion' - The Neptune engine version to be used by the global database.+--+-- Valid values: @1.2.0.0@ or above.+--+-- 'sourceDBClusterIdentifier', 'createGlobalCluster_sourceDBClusterIdentifier' - (/Optional/) The Amazon Resource Name (ARN) of an existing Neptune DB+-- cluster to use as the primary cluster of the new global database.+--+-- 'storageEncrypted', 'createGlobalCluster_storageEncrypted' - The storage encryption setting for the new global database cluster.+--+-- 'globalClusterIdentifier', 'createGlobalCluster_globalClusterIdentifier' - The cluster identifier of the new global database cluster.+newCreateGlobalCluster ::+  -- | 'globalClusterIdentifier'+  Prelude.Text ->+  CreateGlobalCluster+newCreateGlobalCluster pGlobalClusterIdentifier_ =+  CreateGlobalCluster'+    { deletionProtection =+        Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      sourceDBClusterIdentifier = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing,+      globalClusterIdentifier = pGlobalClusterIdentifier_+    }++-- | The deletion protection setting for the new global database. The global+-- database can\'t be deleted when deletion protection is enabled.+createGlobalCluster_deletionProtection :: Lens.Lens' CreateGlobalCluster (Prelude.Maybe Prelude.Bool)+createGlobalCluster_deletionProtection = Lens.lens (\CreateGlobalCluster' {deletionProtection} -> deletionProtection) (\s@CreateGlobalCluster' {} a -> s {deletionProtection = a} :: CreateGlobalCluster)++-- | The name of the database engine to be used in the global database.+--+-- Valid values: @neptune@+createGlobalCluster_engine :: Lens.Lens' CreateGlobalCluster (Prelude.Maybe Prelude.Text)+createGlobalCluster_engine = Lens.lens (\CreateGlobalCluster' {engine} -> engine) (\s@CreateGlobalCluster' {} a -> s {engine = a} :: CreateGlobalCluster)++-- | The Neptune engine version to be used by the global database.+--+-- Valid values: @1.2.0.0@ or above.+createGlobalCluster_engineVersion :: Lens.Lens' CreateGlobalCluster (Prelude.Maybe Prelude.Text)+createGlobalCluster_engineVersion = Lens.lens (\CreateGlobalCluster' {engineVersion} -> engineVersion) (\s@CreateGlobalCluster' {} a -> s {engineVersion = a} :: CreateGlobalCluster)++-- | (/Optional/) The Amazon Resource Name (ARN) of an existing Neptune DB+-- cluster to use as the primary cluster of the new global database.+createGlobalCluster_sourceDBClusterIdentifier :: Lens.Lens' CreateGlobalCluster (Prelude.Maybe Prelude.Text)+createGlobalCluster_sourceDBClusterIdentifier = Lens.lens (\CreateGlobalCluster' {sourceDBClusterIdentifier} -> sourceDBClusterIdentifier) (\s@CreateGlobalCluster' {} a -> s {sourceDBClusterIdentifier = a} :: CreateGlobalCluster)++-- | The storage encryption setting for the new global database cluster.+createGlobalCluster_storageEncrypted :: Lens.Lens' CreateGlobalCluster (Prelude.Maybe Prelude.Bool)+createGlobalCluster_storageEncrypted = Lens.lens (\CreateGlobalCluster' {storageEncrypted} -> storageEncrypted) (\s@CreateGlobalCluster' {} a -> s {storageEncrypted = a} :: CreateGlobalCluster)++-- | The cluster identifier of the new global database cluster.+createGlobalCluster_globalClusterIdentifier :: Lens.Lens' CreateGlobalCluster Prelude.Text+createGlobalCluster_globalClusterIdentifier = Lens.lens (\CreateGlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@CreateGlobalCluster' {} a -> s {globalClusterIdentifier = a} :: CreateGlobalCluster)++instance Core.AWSRequest CreateGlobalCluster where+  type+    AWSResponse CreateGlobalCluster =+      CreateGlobalClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "CreateGlobalClusterResult"+      ( \s h x ->+          CreateGlobalClusterResponse'+            Prelude.<$> (x Data..@? "GlobalCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGlobalCluster where+  hashWithSalt _salt CreateGlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` sourceDBClusterIdentifier+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` globalClusterIdentifier++instance Prelude.NFData CreateGlobalCluster where+  rnf CreateGlobalCluster' {..} =+    Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf sourceDBClusterIdentifier+      `Prelude.seq` Prelude.rnf storageEncrypted+      `Prelude.seq` Prelude.rnf globalClusterIdentifier++instance Data.ToHeaders CreateGlobalCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CreateGlobalCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateGlobalCluster where+  toQuery CreateGlobalCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("CreateGlobalCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DeletionProtection" Data.=: deletionProtection,+        "Engine" Data.=: engine,+        "EngineVersion" Data.=: engineVersion,+        "SourceDBClusterIdentifier"+          Data.=: sourceDBClusterIdentifier,+        "StorageEncrypted" Data.=: storageEncrypted,+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier+      ]++-- | /See:/ 'newCreateGlobalClusterResponse' smart constructor.+data CreateGlobalClusterResponse = CreateGlobalClusterResponse'+  { globalCluster :: Prelude.Maybe GlobalCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGlobalClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalCluster', 'createGlobalClusterResponse_globalCluster' - Undocumented member.+--+-- 'httpStatus', 'createGlobalClusterResponse_httpStatus' - The response's http status code.+newCreateGlobalClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateGlobalClusterResponse+newCreateGlobalClusterResponse pHttpStatus_ =+  CreateGlobalClusterResponse'+    { globalCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createGlobalClusterResponse_globalCluster :: Lens.Lens' CreateGlobalClusterResponse (Prelude.Maybe GlobalCluster)+createGlobalClusterResponse_globalCluster = Lens.lens (\CreateGlobalClusterResponse' {globalCluster} -> globalCluster) (\s@CreateGlobalClusterResponse' {} a -> s {globalCluster = a} :: CreateGlobalClusterResponse)++-- | The response's http status code.+createGlobalClusterResponse_httpStatus :: Lens.Lens' CreateGlobalClusterResponse Prelude.Int+createGlobalClusterResponse_httpStatus = Lens.lens (\CreateGlobalClusterResponse' {httpStatus} -> httpStatus) (\s@CreateGlobalClusterResponse' {} a -> s {httpStatus = a} :: CreateGlobalClusterResponse)++instance Prelude.NFData CreateGlobalClusterResponse where+  rnf CreateGlobalClusterResponse' {..} =+    Prelude.rnf globalCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteDBCluster.hs view
@@ -0,0 +1,270 @@+{-# 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.Neptune.DeleteDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The DeleteDBCluster action deletes a previously provisioned DB cluster.+-- When you delete a DB cluster, all automated backups for that DB cluster+-- are deleted and can\'t be recovered. Manual DB cluster snapshots of the+-- specified DB cluster are not deleted.+--+-- Note that the DB Cluster cannot be deleted if deletion protection is+-- enabled. To delete it, you must first set its @DeletionProtection@ field+-- to @False@.+module Amazonka.Neptune.DeleteDBCluster+  ( -- * Creating a Request+    DeleteDBCluster (..),+    newDeleteDBCluster,++    -- * Request Lenses+    deleteDBCluster_finalDBSnapshotIdentifier,+    deleteDBCluster_skipFinalSnapshot,+    deleteDBCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    DeleteDBClusterResponse (..),+    newDeleteDBClusterResponse,++    -- * Response Lenses+    deleteDBClusterResponse_dbCluster,+    deleteDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBCluster' smart constructor.+data DeleteDBCluster = DeleteDBCluster'+  { -- | The DB cluster snapshot identifier of the new DB cluster snapshot+    -- created when @SkipFinalSnapshot@ is set to @false@.+    --+    -- Specifying this parameter and also setting the @SkipFinalShapshot@+    -- parameter to true results in an error.+    --+    -- Constraints:+    --+    -- -   Must be 1 to 255 letters, numbers, or hyphens.+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    finalDBSnapshotIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Determines whether a final DB cluster snapshot is created before the DB+    -- cluster is deleted. If @true@ is specified, no DB cluster snapshot is+    -- created. If @false@ is specified, a DB cluster snapshot is created+    -- before the DB cluster is deleted.+    --+    -- You must specify a @FinalDBSnapshotIdentifier@ parameter if+    -- @SkipFinalSnapshot@ is @false@.+    --+    -- Default: @false@+    skipFinalSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The DB cluster identifier for the DB cluster to be deleted. This+    -- parameter isn\'t case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must match an existing DBClusterIdentifier.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalDBSnapshotIdentifier', 'deleteDBCluster_finalDBSnapshotIdentifier' - The DB cluster snapshot identifier of the new DB cluster snapshot+-- created when @SkipFinalSnapshot@ is set to @false@.+--+-- Specifying this parameter and also setting the @SkipFinalShapshot@+-- parameter to true results in an error.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- 'skipFinalSnapshot', 'deleteDBCluster_skipFinalSnapshot' - Determines whether a final DB cluster snapshot is created before the DB+-- cluster is deleted. If @true@ is specified, no DB cluster snapshot is+-- created. If @false@ is specified, a DB cluster snapshot is created+-- before the DB cluster is deleted.+--+-- You must specify a @FinalDBSnapshotIdentifier@ parameter if+-- @SkipFinalSnapshot@ is @false@.+--+-- Default: @false@+--+-- 'dbClusterIdentifier', 'deleteDBCluster_dbClusterIdentifier' - The DB cluster identifier for the DB cluster to be deleted. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must match an existing DBClusterIdentifier.+newDeleteDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  DeleteDBCluster+newDeleteDBCluster pDBClusterIdentifier_ =+  DeleteDBCluster'+    { finalDBSnapshotIdentifier =+        Prelude.Nothing,+      skipFinalSnapshot = Prelude.Nothing,+      dbClusterIdentifier = pDBClusterIdentifier_+    }++-- | The DB cluster snapshot identifier of the new DB cluster snapshot+-- created when @SkipFinalSnapshot@ is set to @false@.+--+-- Specifying this parameter and also setting the @SkipFinalShapshot@+-- parameter to true results in an error.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters, numbers, or hyphens.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+deleteDBCluster_finalDBSnapshotIdentifier :: Lens.Lens' DeleteDBCluster (Prelude.Maybe Prelude.Text)+deleteDBCluster_finalDBSnapshotIdentifier = Lens.lens (\DeleteDBCluster' {finalDBSnapshotIdentifier} -> finalDBSnapshotIdentifier) (\s@DeleteDBCluster' {} a -> s {finalDBSnapshotIdentifier = a} :: DeleteDBCluster)++-- | Determines whether a final DB cluster snapshot is created before the DB+-- cluster is deleted. If @true@ is specified, no DB cluster snapshot is+-- created. If @false@ is specified, a DB cluster snapshot is created+-- before the DB cluster is deleted.+--+-- You must specify a @FinalDBSnapshotIdentifier@ parameter if+-- @SkipFinalSnapshot@ is @false@.+--+-- Default: @false@+deleteDBCluster_skipFinalSnapshot :: Lens.Lens' DeleteDBCluster (Prelude.Maybe Prelude.Bool)+deleteDBCluster_skipFinalSnapshot = Lens.lens (\DeleteDBCluster' {skipFinalSnapshot} -> skipFinalSnapshot) (\s@DeleteDBCluster' {} a -> s {skipFinalSnapshot = a} :: DeleteDBCluster)++-- | The DB cluster identifier for the DB cluster to be deleted. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must match an existing DBClusterIdentifier.+deleteDBCluster_dbClusterIdentifier :: Lens.Lens' DeleteDBCluster Prelude.Text+deleteDBCluster_dbClusterIdentifier = Lens.lens (\DeleteDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DeleteDBCluster' {} a -> s {dbClusterIdentifier = a} :: DeleteDBCluster)++instance Core.AWSRequest DeleteDBCluster where+  type+    AWSResponse DeleteDBCluster =+      DeleteDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteDBClusterResult"+      ( \s h x ->+          DeleteDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDBCluster where+  hashWithSalt _salt DeleteDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` finalDBSnapshotIdentifier+      `Prelude.hashWithSalt` skipFinalSnapshot+      `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData DeleteDBCluster where+  rnf DeleteDBCluster' {..} =+    Prelude.rnf finalDBSnapshotIdentifier+      `Prelude.seq` Prelude.rnf skipFinalSnapshot+      `Prelude.seq` Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders DeleteDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBCluster where+  toQuery DeleteDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "FinalDBSnapshotIdentifier"+          Data.=: finalDBSnapshotIdentifier,+        "SkipFinalSnapshot" Data.=: skipFinalSnapshot,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newDeleteDBClusterResponse' smart constructor.+data DeleteDBClusterResponse = DeleteDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'deleteDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'deleteDBClusterResponse_httpStatus' - The response's http status code.+newDeleteDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDBClusterResponse+newDeleteDBClusterResponse pHttpStatus_ =+  DeleteDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+deleteDBClusterResponse_dbCluster :: Lens.Lens' DeleteDBClusterResponse (Prelude.Maybe DBCluster)+deleteDBClusterResponse_dbCluster = Lens.lens (\DeleteDBClusterResponse' {dbCluster} -> dbCluster) (\s@DeleteDBClusterResponse' {} a -> s {dbCluster = a} :: DeleteDBClusterResponse)++-- | The response's http status code.+deleteDBClusterResponse_httpStatus :: Lens.Lens' DeleteDBClusterResponse Prelude.Int+deleteDBClusterResponse_httpStatus = Lens.lens (\DeleteDBClusterResponse' {httpStatus} -> httpStatus) (\s@DeleteDBClusterResponse' {} a -> s {httpStatus = a} :: DeleteDBClusterResponse)++instance Prelude.NFData DeleteDBClusterResponse where+  rnf DeleteDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteDBClusterEndpoint.hs view
@@ -0,0 +1,337 @@+{-# 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.Neptune.DeleteDBClusterEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a custom endpoint and removes it from an Amazon Neptune DB+-- cluster.+module Amazonka.Neptune.DeleteDBClusterEndpoint+  ( -- * Creating a Request+    DeleteDBClusterEndpoint (..),+    newDeleteDBClusterEndpoint,++    -- * Request Lenses+    deleteDBClusterEndpoint_dbClusterEndpointIdentifier,++    -- * Destructuring the Response+    DeleteDBClusterEndpointResponse (..),+    newDeleteDBClusterEndpointResponse,++    -- * Response Lenses+    deleteDBClusterEndpointResponse_customEndpointType,+    deleteDBClusterEndpointResponse_dbClusterEndpointArn,+    deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    deleteDBClusterEndpointResponse_dbClusterIdentifier,+    deleteDBClusterEndpointResponse_endpoint,+    deleteDBClusterEndpointResponse_endpointType,+    deleteDBClusterEndpointResponse_excludedMembers,+    deleteDBClusterEndpointResponse_staticMembers,+    deleteDBClusterEndpointResponse_status,+    deleteDBClusterEndpointResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBClusterEndpoint' smart constructor.+data DeleteDBClusterEndpoint = DeleteDBClusterEndpoint'+  { -- | The identifier associated with the custom endpoint. This parameter is+    -- stored as a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterEndpointIdentifier', 'deleteDBClusterEndpoint_dbClusterEndpointIdentifier' - The identifier associated with the custom endpoint. This parameter is+-- stored as a lowercase string.+newDeleteDBClusterEndpoint ::+  -- | 'dbClusterEndpointIdentifier'+  Prelude.Text ->+  DeleteDBClusterEndpoint+newDeleteDBClusterEndpoint+  pDBClusterEndpointIdentifier_ =+    DeleteDBClusterEndpoint'+      { dbClusterEndpointIdentifier =+          pDBClusterEndpointIdentifier_+      }++-- | The identifier associated with the custom endpoint. This parameter is+-- stored as a lowercase string.+deleteDBClusterEndpoint_dbClusterEndpointIdentifier :: Lens.Lens' DeleteDBClusterEndpoint Prelude.Text+deleteDBClusterEndpoint_dbClusterEndpointIdentifier = Lens.lens (\DeleteDBClusterEndpoint' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@DeleteDBClusterEndpoint' {} a -> s {dbClusterEndpointIdentifier = a} :: DeleteDBClusterEndpoint)++instance Core.AWSRequest DeleteDBClusterEndpoint where+  type+    AWSResponse DeleteDBClusterEndpoint =+      DeleteDBClusterEndpointResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteDBClusterEndpointResult"+      ( \s h x ->+          DeleteDBClusterEndpointResponse'+            Prelude.<$> (x Data..@? "CustomEndpointType")+            Prelude.<*> (x Data..@? "DBClusterEndpointArn")+            Prelude.<*> (x Data..@? "DBClusterEndpointIdentifier")+            Prelude.<*> (x Data..@? "DBClusterEndpointResourceIdentifier")+            Prelude.<*> (x Data..@? "DBClusterIdentifier")+            Prelude.<*> (x Data..@? "Endpoint")+            Prelude.<*> (x Data..@? "EndpointType")+            Prelude.<*> ( x+                            Data..@? "ExcludedMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> ( x+                            Data..@? "StaticMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> (x Data..@? "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDBClusterEndpoint where+  hashWithSalt _salt DeleteDBClusterEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterEndpointIdentifier++instance Prelude.NFData DeleteDBClusterEndpoint where+  rnf DeleteDBClusterEndpoint' {..} =+    Prelude.rnf dbClusterEndpointIdentifier++instance Data.ToHeaders DeleteDBClusterEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBClusterEndpoint where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBClusterEndpoint where+  toQuery DeleteDBClusterEndpoint' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBClusterEndpoint" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterEndpointIdentifier"+          Data.=: dbClusterEndpointIdentifier+      ]++-- | This data type represents the information you need to connect to an+-- Amazon Neptune DB cluster. This data type is used as a response element+-- in the following actions:+--+-- -   @CreateDBClusterEndpoint@+--+-- -   @DescribeDBClusterEndpoints@+--+-- -   @ModifyDBClusterEndpoint@+--+-- -   @DeleteDBClusterEndpoint@+--+-- For the data structure that represents Amazon RDS DB instance endpoints,+-- see @Endpoint@.+--+-- /See:/ 'newDeleteDBClusterEndpointResponse' smart constructor.+data DeleteDBClusterEndpointResponse = DeleteDBClusterEndpointResponse'+  { -- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+    -- @ANY@.+    customEndpointType :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the endpoint.+    dbClusterEndpointArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier associated with the endpoint. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A unique system-generated identifier for an endpoint. It remains the+    -- same for the whole life of the endpoint.+    dbClusterEndpointResourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DNS address of the endpoint.+    endpoint :: Prelude.Maybe Prelude.Text,+    -- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+    endpointType :: Prelude.Maybe Prelude.Text,+    -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The current status of the endpoint. One of: @creating@, @available@,+    -- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+    -- endpoint that cannot be used for a certain kind of cluster, such as a+    -- @writer@ endpoint for a read-only secondary cluster in a global+    -- database.+    status :: 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 'DeleteDBClusterEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customEndpointType', 'deleteDBClusterEndpointResponse_customEndpointType' - The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+--+-- 'dbClusterEndpointArn', 'deleteDBClusterEndpointResponse_dbClusterEndpointArn' - The Amazon Resource Name (ARN) for the endpoint.+--+-- 'dbClusterEndpointIdentifier', 'deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier' - The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+--+-- 'dbClusterEndpointResourceIdentifier', 'deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier' - A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+--+-- 'dbClusterIdentifier', 'deleteDBClusterEndpointResponse_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'endpoint', 'deleteDBClusterEndpointResponse_endpoint' - The DNS address of the endpoint.+--+-- 'endpointType', 'deleteDBClusterEndpointResponse_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+--+-- 'excludedMembers', 'deleteDBClusterEndpointResponse_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'deleteDBClusterEndpointResponse_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'status', 'deleteDBClusterEndpointResponse_status' - The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+--+-- 'httpStatus', 'deleteDBClusterEndpointResponse_httpStatus' - The response's http status code.+newDeleteDBClusterEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDBClusterEndpointResponse+newDeleteDBClusterEndpointResponse pHttpStatus_ =+  DeleteDBClusterEndpointResponse'+    { customEndpointType =+        Prelude.Nothing,+      dbClusterEndpointArn = Prelude.Nothing,+      dbClusterEndpointIdentifier =+        Prelude.Nothing,+      dbClusterEndpointResourceIdentifier =+        Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      excludedMembers = Prelude.Nothing,+      staticMembers = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+deleteDBClusterEndpointResponse_customEndpointType :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_customEndpointType = Lens.lens (\DeleteDBClusterEndpointResponse' {customEndpointType} -> customEndpointType) (\s@DeleteDBClusterEndpointResponse' {} a -> s {customEndpointType = a} :: DeleteDBClusterEndpointResponse)++-- | The Amazon Resource Name (ARN) for the endpoint.+deleteDBClusterEndpointResponse_dbClusterEndpointArn :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_dbClusterEndpointArn = Lens.lens (\DeleteDBClusterEndpointResponse' {dbClusterEndpointArn} -> dbClusterEndpointArn) (\s@DeleteDBClusterEndpointResponse' {} a -> s {dbClusterEndpointArn = a} :: DeleteDBClusterEndpointResponse)++-- | The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier = Lens.lens (\DeleteDBClusterEndpointResponse' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@DeleteDBClusterEndpointResponse' {} a -> s {dbClusterEndpointIdentifier = a} :: DeleteDBClusterEndpointResponse)++-- | A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier = Lens.lens (\DeleteDBClusterEndpointResponse' {dbClusterEndpointResourceIdentifier} -> dbClusterEndpointResourceIdentifier) (\s@DeleteDBClusterEndpointResponse' {} a -> s {dbClusterEndpointResourceIdentifier = a} :: DeleteDBClusterEndpointResponse)++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+deleteDBClusterEndpointResponse_dbClusterIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_dbClusterIdentifier = Lens.lens (\DeleteDBClusterEndpointResponse' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DeleteDBClusterEndpointResponse' {} a -> s {dbClusterIdentifier = a} :: DeleteDBClusterEndpointResponse)++-- | The DNS address of the endpoint.+deleteDBClusterEndpointResponse_endpoint :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_endpoint = Lens.lens (\DeleteDBClusterEndpointResponse' {endpoint} -> endpoint) (\s@DeleteDBClusterEndpointResponse' {} a -> s {endpoint = a} :: DeleteDBClusterEndpointResponse)++-- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+deleteDBClusterEndpointResponse_endpointType :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_endpointType = Lens.lens (\DeleteDBClusterEndpointResponse' {endpointType} -> endpointType) (\s@DeleteDBClusterEndpointResponse' {} a -> s {endpointType = a} :: DeleteDBClusterEndpointResponse)++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+deleteDBClusterEndpointResponse_excludedMembers :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+deleteDBClusterEndpointResponse_excludedMembers = Lens.lens (\DeleteDBClusterEndpointResponse' {excludedMembers} -> excludedMembers) (\s@DeleteDBClusterEndpointResponse' {} a -> s {excludedMembers = a} :: DeleteDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+deleteDBClusterEndpointResponse_staticMembers :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+deleteDBClusterEndpointResponse_staticMembers = Lens.lens (\DeleteDBClusterEndpointResponse' {staticMembers} -> staticMembers) (\s@DeleteDBClusterEndpointResponse' {} a -> s {staticMembers = a} :: DeleteDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+deleteDBClusterEndpointResponse_status :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+deleteDBClusterEndpointResponse_status = Lens.lens (\DeleteDBClusterEndpointResponse' {status} -> status) (\s@DeleteDBClusterEndpointResponse' {} a -> s {status = a} :: DeleteDBClusterEndpointResponse)++-- | The response's http status code.+deleteDBClusterEndpointResponse_httpStatus :: Lens.Lens' DeleteDBClusterEndpointResponse Prelude.Int+deleteDBClusterEndpointResponse_httpStatus = Lens.lens (\DeleteDBClusterEndpointResponse' {httpStatus} -> httpStatus) (\s@DeleteDBClusterEndpointResponse' {} a -> s {httpStatus = a} :: DeleteDBClusterEndpointResponse)++instance+  Prelude.NFData+    DeleteDBClusterEndpointResponse+  where+  rnf DeleteDBClusterEndpointResponse' {..} =+    Prelude.rnf customEndpointType+      `Prelude.seq` Prelude.rnf dbClusterEndpointArn+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf dbClusterEndpointResourceIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteDBClusterParameterGroup.hs view
@@ -0,0 +1,165 @@+{-# 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.Neptune.DeleteDBClusterParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specified DB cluster parameter group. The DB cluster parameter+-- group to be deleted can\'t be associated with any DB clusters.+module Amazonka.Neptune.DeleteDBClusterParameterGroup+  ( -- * Creating a Request+    DeleteDBClusterParameterGroup (..),+    newDeleteDBClusterParameterGroup,++    -- * Request Lenses+    deleteDBClusterParameterGroup_dbClusterParameterGroupName,++    -- * Destructuring the Response+    DeleteDBClusterParameterGroupResponse (..),+    newDeleteDBClusterParameterGroupResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBClusterParameterGroup' smart constructor.+data DeleteDBClusterParameterGroup = DeleteDBClusterParameterGroup'+  { -- | The name of the DB cluster parameter group.+    --+    -- Constraints:+    --+    -- -   Must be the name of an existing DB cluster parameter group.+    --+    -- -   You can\'t delete a default DB cluster parameter group.+    --+    -- -   Cannot be associated with any DB clusters.+    dbClusterParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupName', 'deleteDBClusterParameterGroup_dbClusterParameterGroupName' - The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must be the name of an existing DB cluster parameter group.+--+-- -   You can\'t delete a default DB cluster parameter group.+--+-- -   Cannot be associated with any DB clusters.+newDeleteDBClusterParameterGroup ::+  -- | 'dbClusterParameterGroupName'+  Prelude.Text ->+  DeleteDBClusterParameterGroup+newDeleteDBClusterParameterGroup+  pDBClusterParameterGroupName_ =+    DeleteDBClusterParameterGroup'+      { dbClusterParameterGroupName =+          pDBClusterParameterGroupName_+      }++-- | The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must be the name of an existing DB cluster parameter group.+--+-- -   You can\'t delete a default DB cluster parameter group.+--+-- -   Cannot be associated with any DB clusters.+deleteDBClusterParameterGroup_dbClusterParameterGroupName :: Lens.Lens' DeleteDBClusterParameterGroup Prelude.Text+deleteDBClusterParameterGroup_dbClusterParameterGroupName = Lens.lens (\DeleteDBClusterParameterGroup' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@DeleteDBClusterParameterGroup' {} a -> s {dbClusterParameterGroupName = a} :: DeleteDBClusterParameterGroup)++instance+  Core.AWSRequest+    DeleteDBClusterParameterGroup+  where+  type+    AWSResponse DeleteDBClusterParameterGroup =+      DeleteDBClusterParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull+      DeleteDBClusterParameterGroupResponse'++instance+  Prelude.Hashable+    DeleteDBClusterParameterGroup+  where+  hashWithSalt _salt DeleteDBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterParameterGroupName++instance Prelude.NFData DeleteDBClusterParameterGroup where+  rnf DeleteDBClusterParameterGroup' {..} =+    Prelude.rnf dbClusterParameterGroupName++instance Data.ToHeaders DeleteDBClusterParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBClusterParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBClusterParameterGroup where+  toQuery DeleteDBClusterParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DeleteDBClusterParameterGroup" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName+      ]++-- | /See:/ 'newDeleteDBClusterParameterGroupResponse' smart constructor.+data DeleteDBClusterParameterGroupResponse = DeleteDBClusterParameterGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDBClusterParameterGroupResponse ::+  DeleteDBClusterParameterGroupResponse+newDeleteDBClusterParameterGroupResponse =+  DeleteDBClusterParameterGroupResponse'++instance+  Prelude.NFData+    DeleteDBClusterParameterGroupResponse+  where+  rnf _ = ()
+ gen/Amazonka/Neptune/DeleteDBClusterSnapshot.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DeleteDBClusterSnapshot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a DB cluster snapshot. If the snapshot is being copied, the copy+-- operation is terminated.+--+-- The DB cluster snapshot must be in the @available@ state to be deleted.+module Amazonka.Neptune.DeleteDBClusterSnapshot+  ( -- * Creating a Request+    DeleteDBClusterSnapshot (..),+    newDeleteDBClusterSnapshot,++    -- * Request Lenses+    deleteDBClusterSnapshot_dbClusterSnapshotIdentifier,++    -- * Destructuring the Response+    DeleteDBClusterSnapshotResponse (..),+    newDeleteDBClusterSnapshotResponse,++    -- * Response Lenses+    deleteDBClusterSnapshotResponse_dbClusterSnapshot,+    deleteDBClusterSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBClusterSnapshot' smart constructor.+data DeleteDBClusterSnapshot = DeleteDBClusterSnapshot'+  { -- | The identifier of the DB cluster snapshot to delete.+    --+    -- Constraints: Must be the name of an existing DB cluster snapshot in the+    -- @available@ state.+    dbClusterSnapshotIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshotIdentifier', 'deleteDBClusterSnapshot_dbClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot to delete.+--+-- Constraints: Must be the name of an existing DB cluster snapshot in the+-- @available@ state.+newDeleteDBClusterSnapshot ::+  -- | 'dbClusterSnapshotIdentifier'+  Prelude.Text ->+  DeleteDBClusterSnapshot+newDeleteDBClusterSnapshot+  pDBClusterSnapshotIdentifier_ =+    DeleteDBClusterSnapshot'+      { dbClusterSnapshotIdentifier =+          pDBClusterSnapshotIdentifier_+      }++-- | The identifier of the DB cluster snapshot to delete.+--+-- Constraints: Must be the name of an existing DB cluster snapshot in the+-- @available@ state.+deleteDBClusterSnapshot_dbClusterSnapshotIdentifier :: Lens.Lens' DeleteDBClusterSnapshot Prelude.Text+deleteDBClusterSnapshot_dbClusterSnapshotIdentifier = Lens.lens (\DeleteDBClusterSnapshot' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@DeleteDBClusterSnapshot' {} a -> s {dbClusterSnapshotIdentifier = a} :: DeleteDBClusterSnapshot)++instance Core.AWSRequest DeleteDBClusterSnapshot where+  type+    AWSResponse DeleteDBClusterSnapshot =+      DeleteDBClusterSnapshotResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteDBClusterSnapshotResult"+      ( \s h x ->+          DeleteDBClusterSnapshotResponse'+            Prelude.<$> (x Data..@? "DBClusterSnapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDBClusterSnapshot where+  hashWithSalt _salt DeleteDBClusterSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterSnapshotIdentifier++instance Prelude.NFData DeleteDBClusterSnapshot where+  rnf DeleteDBClusterSnapshot' {..} =+    Prelude.rnf dbClusterSnapshotIdentifier++instance Data.ToHeaders DeleteDBClusterSnapshot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBClusterSnapshot where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBClusterSnapshot where+  toQuery DeleteDBClusterSnapshot' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBClusterSnapshot" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterSnapshotIdentifier"+          Data.=: dbClusterSnapshotIdentifier+      ]++-- | /See:/ 'newDeleteDBClusterSnapshotResponse' smart constructor.+data DeleteDBClusterSnapshotResponse = DeleteDBClusterSnapshotResponse'+  { dbClusterSnapshot :: Prelude.Maybe DBClusterSnapshot,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBClusterSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshot', 'deleteDBClusterSnapshotResponse_dbClusterSnapshot' - Undocumented member.+--+-- 'httpStatus', 'deleteDBClusterSnapshotResponse_httpStatus' - The response's http status code.+newDeleteDBClusterSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDBClusterSnapshotResponse+newDeleteDBClusterSnapshotResponse pHttpStatus_ =+  DeleteDBClusterSnapshotResponse'+    { dbClusterSnapshot =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+deleteDBClusterSnapshotResponse_dbClusterSnapshot :: Lens.Lens' DeleteDBClusterSnapshotResponse (Prelude.Maybe DBClusterSnapshot)+deleteDBClusterSnapshotResponse_dbClusterSnapshot = Lens.lens (\DeleteDBClusterSnapshotResponse' {dbClusterSnapshot} -> dbClusterSnapshot) (\s@DeleteDBClusterSnapshotResponse' {} a -> s {dbClusterSnapshot = a} :: DeleteDBClusterSnapshotResponse)++-- | The response's http status code.+deleteDBClusterSnapshotResponse_httpStatus :: Lens.Lens' DeleteDBClusterSnapshotResponse Prelude.Int+deleteDBClusterSnapshotResponse_httpStatus = Lens.lens (\DeleteDBClusterSnapshotResponse' {httpStatus} -> httpStatus) (\s@DeleteDBClusterSnapshotResponse' {} a -> s {httpStatus = a} :: DeleteDBClusterSnapshotResponse)++instance+  Prelude.NFData+    DeleteDBClusterSnapshotResponse+  where+  rnf DeleteDBClusterSnapshotResponse' {..} =+    Prelude.rnf dbClusterSnapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteDBInstance.hs view
@@ -0,0 +1,305 @@+{-# 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.Neptune.DeleteDBInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The DeleteDBInstance action deletes a previously provisioned DB+-- instance. When you delete a DB instance, all automated backups for that+-- instance are deleted and can\'t be recovered. Manual DB snapshots of the+-- DB instance to be deleted by @DeleteDBInstance@ are not deleted.+--+-- If you request a final DB snapshot the status of the Amazon Neptune DB+-- instance is @deleting@ until the DB snapshot is created. The API action+-- @DescribeDBInstance@ is used to monitor the status of this operation.+-- The action can\'t be canceled or reverted once submitted.+--+-- Note that when a DB instance is in a failure state and has a status of+-- @failed@, @incompatible-restore@, or @incompatible-network@, you can+-- only delete it when the @SkipFinalSnapshot@ parameter is set to @true@.+--+-- You can\'t delete a DB instance if it is the only instance in the DB+-- cluster, or if it has deletion protection enabled.+module Amazonka.Neptune.DeleteDBInstance+  ( -- * Creating a Request+    DeleteDBInstance (..),+    newDeleteDBInstance,++    -- * Request Lenses+    deleteDBInstance_finalDBSnapshotIdentifier,+    deleteDBInstance_skipFinalSnapshot,+    deleteDBInstance_dbInstanceIdentifier,++    -- * Destructuring the Response+    DeleteDBInstanceResponse (..),+    newDeleteDBInstanceResponse,++    -- * Response Lenses+    deleteDBInstanceResponse_dbInstance,+    deleteDBInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBInstance' smart constructor.+data DeleteDBInstance = DeleteDBInstance'+  { -- | The DBSnapshotIdentifier of the new DBSnapshot created when+    -- SkipFinalSnapshot is set to @false@.+    --+    -- Specifying this parameter and also setting the SkipFinalShapshot+    -- parameter to true results in an error.+    --+    -- Constraints:+    --+    -- -   Must be 1 to 255 letters or numbers.+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- -   Cannot be specified when deleting a Read Replica.+    finalDBSnapshotIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Determines whether a final DB snapshot is created before the DB instance+    -- is deleted. If @true@ is specified, no DBSnapshot is created. If @false@+    -- is specified, a DB snapshot is created before the DB instance is+    -- deleted.+    --+    -- Note that when a DB instance is in a failure state and has a status of+    -- \'failed\', \'incompatible-restore\', or \'incompatible-network\', it+    -- can only be deleted when the SkipFinalSnapshot parameter is set to+    -- \"true\".+    --+    -- Specify @true@ when deleting a Read Replica.+    --+    -- The FinalDBSnapshotIdentifier parameter must be specified if+    -- SkipFinalSnapshot is @false@.+    --+    -- Default: @false@+    skipFinalSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The DB instance identifier for the DB instance to be deleted. This+    -- parameter isn\'t case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must match the name of an existing DB instance.+    dbInstanceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalDBSnapshotIdentifier', 'deleteDBInstance_finalDBSnapshotIdentifier' - The DBSnapshotIdentifier of the new DBSnapshot created when+-- SkipFinalSnapshot is set to @false@.+--+-- Specifying this parameter and also setting the SkipFinalShapshot+-- parameter to true results in an error.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters or numbers.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- -   Cannot be specified when deleting a Read Replica.+--+-- 'skipFinalSnapshot', 'deleteDBInstance_skipFinalSnapshot' - Determines whether a final DB snapshot is created before the DB instance+-- is deleted. If @true@ is specified, no DBSnapshot is created. If @false@+-- is specified, a DB snapshot is created before the DB instance is+-- deleted.+--+-- Note that when a DB instance is in a failure state and has a status of+-- \'failed\', \'incompatible-restore\', or \'incompatible-network\', it+-- can only be deleted when the SkipFinalSnapshot parameter is set to+-- \"true\".+--+-- Specify @true@ when deleting a Read Replica.+--+-- The FinalDBSnapshotIdentifier parameter must be specified if+-- SkipFinalSnapshot is @false@.+--+-- Default: @false@+--+-- 'dbInstanceIdentifier', 'deleteDBInstance_dbInstanceIdentifier' - The DB instance identifier for the DB instance to be deleted. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must match the name of an existing DB instance.+newDeleteDBInstance ::+  -- | 'dbInstanceIdentifier'+  Prelude.Text ->+  DeleteDBInstance+newDeleteDBInstance pDBInstanceIdentifier_ =+  DeleteDBInstance'+    { finalDBSnapshotIdentifier =+        Prelude.Nothing,+      skipFinalSnapshot = Prelude.Nothing,+      dbInstanceIdentifier = pDBInstanceIdentifier_+    }++-- | The DBSnapshotIdentifier of the new DBSnapshot created when+-- SkipFinalSnapshot is set to @false@.+--+-- Specifying this parameter and also setting the SkipFinalShapshot+-- parameter to true results in an error.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters or numbers.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- -   Cannot be specified when deleting a Read Replica.+deleteDBInstance_finalDBSnapshotIdentifier :: Lens.Lens' DeleteDBInstance (Prelude.Maybe Prelude.Text)+deleteDBInstance_finalDBSnapshotIdentifier = Lens.lens (\DeleteDBInstance' {finalDBSnapshotIdentifier} -> finalDBSnapshotIdentifier) (\s@DeleteDBInstance' {} a -> s {finalDBSnapshotIdentifier = a} :: DeleteDBInstance)++-- | Determines whether a final DB snapshot is created before the DB instance+-- is deleted. If @true@ is specified, no DBSnapshot is created. If @false@+-- is specified, a DB snapshot is created before the DB instance is+-- deleted.+--+-- Note that when a DB instance is in a failure state and has a status of+-- \'failed\', \'incompatible-restore\', or \'incompatible-network\', it+-- can only be deleted when the SkipFinalSnapshot parameter is set to+-- \"true\".+--+-- Specify @true@ when deleting a Read Replica.+--+-- The FinalDBSnapshotIdentifier parameter must be specified if+-- SkipFinalSnapshot is @false@.+--+-- Default: @false@+deleteDBInstance_skipFinalSnapshot :: Lens.Lens' DeleteDBInstance (Prelude.Maybe Prelude.Bool)+deleteDBInstance_skipFinalSnapshot = Lens.lens (\DeleteDBInstance' {skipFinalSnapshot} -> skipFinalSnapshot) (\s@DeleteDBInstance' {} a -> s {skipFinalSnapshot = a} :: DeleteDBInstance)++-- | The DB instance identifier for the DB instance to be deleted. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must match the name of an existing DB instance.+deleteDBInstance_dbInstanceIdentifier :: Lens.Lens' DeleteDBInstance Prelude.Text+deleteDBInstance_dbInstanceIdentifier = Lens.lens (\DeleteDBInstance' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@DeleteDBInstance' {} a -> s {dbInstanceIdentifier = a} :: DeleteDBInstance)++instance Core.AWSRequest DeleteDBInstance where+  type+    AWSResponse DeleteDBInstance =+      DeleteDBInstanceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteDBInstanceResult"+      ( \s h x ->+          DeleteDBInstanceResponse'+            Prelude.<$> (x Data..@? "DBInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDBInstance where+  hashWithSalt _salt DeleteDBInstance' {..} =+    _salt+      `Prelude.hashWithSalt` finalDBSnapshotIdentifier+      `Prelude.hashWithSalt` skipFinalSnapshot+      `Prelude.hashWithSalt` dbInstanceIdentifier++instance Prelude.NFData DeleteDBInstance where+  rnf DeleteDBInstance' {..} =+    Prelude.rnf finalDBSnapshotIdentifier+      `Prelude.seq` Prelude.rnf skipFinalSnapshot+      `Prelude.seq` Prelude.rnf dbInstanceIdentifier++instance Data.ToHeaders DeleteDBInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBInstance where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBInstance where+  toQuery DeleteDBInstance' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBInstance" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "FinalDBSnapshotIdentifier"+          Data.=: finalDBSnapshotIdentifier,+        "SkipFinalSnapshot" Data.=: skipFinalSnapshot,+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier+      ]++-- | /See:/ 'newDeleteDBInstanceResponse' smart constructor.+data DeleteDBInstanceResponse = DeleteDBInstanceResponse'+  { dbInstance :: Prelude.Maybe DBInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstance', 'deleteDBInstanceResponse_dbInstance' - Undocumented member.+--+-- 'httpStatus', 'deleteDBInstanceResponse_httpStatus' - The response's http status code.+newDeleteDBInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDBInstanceResponse+newDeleteDBInstanceResponse pHttpStatus_ =+  DeleteDBInstanceResponse'+    { dbInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+deleteDBInstanceResponse_dbInstance :: Lens.Lens' DeleteDBInstanceResponse (Prelude.Maybe DBInstance)+deleteDBInstanceResponse_dbInstance = Lens.lens (\DeleteDBInstanceResponse' {dbInstance} -> dbInstance) (\s@DeleteDBInstanceResponse' {} a -> s {dbInstance = a} :: DeleteDBInstanceResponse)++-- | The response's http status code.+deleteDBInstanceResponse_httpStatus :: Lens.Lens' DeleteDBInstanceResponse Prelude.Int+deleteDBInstanceResponse_httpStatus = Lens.lens (\DeleteDBInstanceResponse' {httpStatus} -> httpStatus) (\s@DeleteDBInstanceResponse' {} a -> s {httpStatus = a} :: DeleteDBInstanceResponse)++instance Prelude.NFData DeleteDBInstanceResponse where+  rnf DeleteDBInstanceResponse' {..} =+    Prelude.rnf dbInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteDBParameterGroup.hs view
@@ -0,0 +1,154 @@+{-# 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.Neptune.DeleteDBParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted+-- can\'t be associated with any DB instances.+module Amazonka.Neptune.DeleteDBParameterGroup+  ( -- * Creating a Request+    DeleteDBParameterGroup (..),+    newDeleteDBParameterGroup,++    -- * Request Lenses+    deleteDBParameterGroup_dbParameterGroupName,++    -- * Destructuring the Response+    DeleteDBParameterGroupResponse (..),+    newDeleteDBParameterGroupResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBParameterGroup' smart constructor.+data DeleteDBParameterGroup = DeleteDBParameterGroup'+  { -- | The name of the DB parameter group.+    --+    -- Constraints:+    --+    -- -   Must be the name of an existing DB parameter group+    --+    -- -   You can\'t delete a default DB parameter group+    --+    -- -   Cannot be associated with any DB instances+    dbParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupName', 'deleteDBParameterGroup_dbParameterGroupName' - The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must be the name of an existing DB parameter group+--+-- -   You can\'t delete a default DB parameter group+--+-- -   Cannot be associated with any DB instances+newDeleteDBParameterGroup ::+  -- | 'dbParameterGroupName'+  Prelude.Text ->+  DeleteDBParameterGroup+newDeleteDBParameterGroup pDBParameterGroupName_ =+  DeleteDBParameterGroup'+    { dbParameterGroupName =+        pDBParameterGroupName_+    }++-- | The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must be the name of an existing DB parameter group+--+-- -   You can\'t delete a default DB parameter group+--+-- -   Cannot be associated with any DB instances+deleteDBParameterGroup_dbParameterGroupName :: Lens.Lens' DeleteDBParameterGroup Prelude.Text+deleteDBParameterGroup_dbParameterGroupName = Lens.lens (\DeleteDBParameterGroup' {dbParameterGroupName} -> dbParameterGroupName) (\s@DeleteDBParameterGroup' {} a -> s {dbParameterGroupName = a} :: DeleteDBParameterGroup)++instance Core.AWSRequest DeleteDBParameterGroup where+  type+    AWSResponse DeleteDBParameterGroup =+      DeleteDBParameterGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull+      DeleteDBParameterGroupResponse'++instance Prelude.Hashable DeleteDBParameterGroup where+  hashWithSalt _salt DeleteDBParameterGroup' {..} =+    _salt `Prelude.hashWithSalt` dbParameterGroupName++instance Prelude.NFData DeleteDBParameterGroup where+  rnf DeleteDBParameterGroup' {..} =+    Prelude.rnf dbParameterGroupName++instance Data.ToHeaders DeleteDBParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBParameterGroup where+  toQuery DeleteDBParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBParameterGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBParameterGroupName" Data.=: dbParameterGroupName+      ]++-- | /See:/ 'newDeleteDBParameterGroupResponse' smart constructor.+data DeleteDBParameterGroupResponse = DeleteDBParameterGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBParameterGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDBParameterGroupResponse ::+  DeleteDBParameterGroupResponse+newDeleteDBParameterGroupResponse =+  DeleteDBParameterGroupResponse'++instance+  Prelude.NFData+    DeleteDBParameterGroupResponse+  where+  rnf _ = ()
+ gen/Amazonka/Neptune/DeleteDBSubnetGroup.hs view
@@ -0,0 +1,155 @@+{-# 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.Neptune.DeleteDBSubnetGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a DB subnet group.+--+-- The specified database subnet group must not be associated with any DB+-- instances.+module Amazonka.Neptune.DeleteDBSubnetGroup+  ( -- * Creating a Request+    DeleteDBSubnetGroup (..),+    newDeleteDBSubnetGroup,++    -- * Request Lenses+    deleteDBSubnetGroup_dbSubnetGroupName,++    -- * Destructuring the Response+    DeleteDBSubnetGroupResponse (..),+    newDeleteDBSubnetGroupResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDBSubnetGroup' smart constructor.+data DeleteDBSubnetGroup = DeleteDBSubnetGroup'+  { -- | The name of the database subnet group to delete.+    --+    -- You can\'t delete the default subnet group.+    --+    -- Constraints:+    --+    -- Constraints: Must match the name of an existing DBSubnetGroup. Must not+    -- be default.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBSubnetGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroupName', 'deleteDBSubnetGroup_dbSubnetGroupName' - The name of the database subnet group to delete.+--+-- You can\'t delete the default subnet group.+--+-- Constraints:+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+newDeleteDBSubnetGroup ::+  -- | 'dbSubnetGroupName'+  Prelude.Text ->+  DeleteDBSubnetGroup+newDeleteDBSubnetGroup pDBSubnetGroupName_ =+  DeleteDBSubnetGroup'+    { dbSubnetGroupName =+        pDBSubnetGroupName_+    }++-- | The name of the database subnet group to delete.+--+-- You can\'t delete the default subnet group.+--+-- Constraints:+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+deleteDBSubnetGroup_dbSubnetGroupName :: Lens.Lens' DeleteDBSubnetGroup Prelude.Text+deleteDBSubnetGroup_dbSubnetGroupName = Lens.lens (\DeleteDBSubnetGroup' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@DeleteDBSubnetGroup' {} a -> s {dbSubnetGroupName = a} :: DeleteDBSubnetGroup)++instance Core.AWSRequest DeleteDBSubnetGroup where+  type+    AWSResponse DeleteDBSubnetGroup =+      DeleteDBSubnetGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull DeleteDBSubnetGroupResponse'++instance Prelude.Hashable DeleteDBSubnetGroup where+  hashWithSalt _salt DeleteDBSubnetGroup' {..} =+    _salt `Prelude.hashWithSalt` dbSubnetGroupName++instance Prelude.NFData DeleteDBSubnetGroup where+  rnf DeleteDBSubnetGroup' {..} =+    Prelude.rnf dbSubnetGroupName++instance Data.ToHeaders DeleteDBSubnetGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDBSubnetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDBSubnetGroup where+  toQuery DeleteDBSubnetGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteDBSubnetGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBSubnetGroupName" Data.=: dbSubnetGroupName+      ]++-- | /See:/ 'newDeleteDBSubnetGroupResponse' smart constructor.+data DeleteDBSubnetGroupResponse = DeleteDBSubnetGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDBSubnetGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDBSubnetGroupResponse ::+  DeleteDBSubnetGroupResponse+newDeleteDBSubnetGroupResponse =+  DeleteDBSubnetGroupResponse'++instance Prelude.NFData DeleteDBSubnetGroupResponse where+  rnf _ = ()
+ gen/Amazonka/Neptune/DeleteEventSubscription.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DeleteEventSubscription+-- 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 event notification subscription.+module Amazonka.Neptune.DeleteEventSubscription+  ( -- * Creating a Request+    DeleteEventSubscription (..),+    newDeleteEventSubscription,++    -- * Request Lenses+    deleteEventSubscription_subscriptionName,++    -- * Destructuring the Response+    DeleteEventSubscriptionResponse (..),+    newDeleteEventSubscriptionResponse,++    -- * Response Lenses+    deleteEventSubscriptionResponse_eventSubscription,+    deleteEventSubscriptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteEventSubscription' smart constructor.+data DeleteEventSubscription = DeleteEventSubscription'+  { -- | The name of the event notification subscription you want to delete.+    subscriptionName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriptionName', 'deleteEventSubscription_subscriptionName' - The name of the event notification subscription you want to delete.+newDeleteEventSubscription ::+  -- | 'subscriptionName'+  Prelude.Text ->+  DeleteEventSubscription+newDeleteEventSubscription pSubscriptionName_ =+  DeleteEventSubscription'+    { subscriptionName =+        pSubscriptionName_+    }++-- | The name of the event notification subscription you want to delete.+deleteEventSubscription_subscriptionName :: Lens.Lens' DeleteEventSubscription Prelude.Text+deleteEventSubscription_subscriptionName = Lens.lens (\DeleteEventSubscription' {subscriptionName} -> subscriptionName) (\s@DeleteEventSubscription' {} a -> s {subscriptionName = a} :: DeleteEventSubscription)++instance Core.AWSRequest DeleteEventSubscription where+  type+    AWSResponse DeleteEventSubscription =+      DeleteEventSubscriptionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteEventSubscriptionResult"+      ( \s h x ->+          DeleteEventSubscriptionResponse'+            Prelude.<$> (x Data..@? "EventSubscription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteEventSubscription where+  hashWithSalt _salt DeleteEventSubscription' {..} =+    _salt `Prelude.hashWithSalt` subscriptionName++instance Prelude.NFData DeleteEventSubscription where+  rnf DeleteEventSubscription' {..} =+    Prelude.rnf subscriptionName++instance Data.ToHeaders DeleteEventSubscription where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteEventSubscription where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteEventSubscription where+  toQuery DeleteEventSubscription' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteEventSubscription" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "SubscriptionName" Data.=: subscriptionName+      ]++-- | /See:/ 'newDeleteEventSubscriptionResponse' smart constructor.+data DeleteEventSubscriptionResponse = DeleteEventSubscriptionResponse'+  { eventSubscription :: Prelude.Maybe EventSubscription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscription', 'deleteEventSubscriptionResponse_eventSubscription' - Undocumented member.+--+-- 'httpStatus', 'deleteEventSubscriptionResponse_httpStatus' - The response's http status code.+newDeleteEventSubscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteEventSubscriptionResponse+newDeleteEventSubscriptionResponse pHttpStatus_ =+  DeleteEventSubscriptionResponse'+    { eventSubscription =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+deleteEventSubscriptionResponse_eventSubscription :: Lens.Lens' DeleteEventSubscriptionResponse (Prelude.Maybe EventSubscription)+deleteEventSubscriptionResponse_eventSubscription = Lens.lens (\DeleteEventSubscriptionResponse' {eventSubscription} -> eventSubscription) (\s@DeleteEventSubscriptionResponse' {} a -> s {eventSubscription = a} :: DeleteEventSubscriptionResponse)++-- | The response's http status code.+deleteEventSubscriptionResponse_httpStatus :: Lens.Lens' DeleteEventSubscriptionResponse Prelude.Int+deleteEventSubscriptionResponse_httpStatus = Lens.lens (\DeleteEventSubscriptionResponse' {httpStatus} -> httpStatus) (\s@DeleteEventSubscriptionResponse' {} a -> s {httpStatus = a} :: DeleteEventSubscriptionResponse)++instance+  Prelude.NFData+    DeleteEventSubscriptionResponse+  where+  rnf DeleteEventSubscriptionResponse' {..} =+    Prelude.rnf eventSubscription+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DeleteGlobalCluster.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DeleteGlobalCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a global database. The primary and all secondary clusters must+-- already be detached or deleted first.+module Amazonka.Neptune.DeleteGlobalCluster+  ( -- * Creating a Request+    DeleteGlobalCluster (..),+    newDeleteGlobalCluster,++    -- * Request Lenses+    deleteGlobalCluster_globalClusterIdentifier,++    -- * Destructuring the Response+    DeleteGlobalClusterResponse (..),+    newDeleteGlobalClusterResponse,++    -- * Response Lenses+    deleteGlobalClusterResponse_globalCluster,+    deleteGlobalClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGlobalCluster' smart constructor.+data DeleteGlobalCluster = DeleteGlobalCluster'+  { -- | The cluster identifier of the global database cluster being deleted.+    globalClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalClusterIdentifier', 'deleteGlobalCluster_globalClusterIdentifier' - The cluster identifier of the global database cluster being deleted.+newDeleteGlobalCluster ::+  -- | 'globalClusterIdentifier'+  Prelude.Text ->+  DeleteGlobalCluster+newDeleteGlobalCluster pGlobalClusterIdentifier_ =+  DeleteGlobalCluster'+    { globalClusterIdentifier =+        pGlobalClusterIdentifier_+    }++-- | The cluster identifier of the global database cluster being deleted.+deleteGlobalCluster_globalClusterIdentifier :: Lens.Lens' DeleteGlobalCluster Prelude.Text+deleteGlobalCluster_globalClusterIdentifier = Lens.lens (\DeleteGlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@DeleteGlobalCluster' {} a -> s {globalClusterIdentifier = a} :: DeleteGlobalCluster)++instance Core.AWSRequest DeleteGlobalCluster where+  type+    AWSResponse DeleteGlobalCluster =+      DeleteGlobalClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DeleteGlobalClusterResult"+      ( \s h x ->+          DeleteGlobalClusterResponse'+            Prelude.<$> (x Data..@? "GlobalCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGlobalCluster where+  hashWithSalt _salt DeleteGlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` globalClusterIdentifier++instance Prelude.NFData DeleteGlobalCluster where+  rnf DeleteGlobalCluster' {..} =+    Prelude.rnf globalClusterIdentifier++instance Data.ToHeaders DeleteGlobalCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteGlobalCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteGlobalCluster where+  toQuery DeleteGlobalCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DeleteGlobalCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier+      ]++-- | /See:/ 'newDeleteGlobalClusterResponse' smart constructor.+data DeleteGlobalClusterResponse = DeleteGlobalClusterResponse'+  { globalCluster :: Prelude.Maybe GlobalCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGlobalClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalCluster', 'deleteGlobalClusterResponse_globalCluster' - Undocumented member.+--+-- 'httpStatus', 'deleteGlobalClusterResponse_httpStatus' - The response's http status code.+newDeleteGlobalClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteGlobalClusterResponse+newDeleteGlobalClusterResponse pHttpStatus_ =+  DeleteGlobalClusterResponse'+    { globalCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+deleteGlobalClusterResponse_globalCluster :: Lens.Lens' DeleteGlobalClusterResponse (Prelude.Maybe GlobalCluster)+deleteGlobalClusterResponse_globalCluster = Lens.lens (\DeleteGlobalClusterResponse' {globalCluster} -> globalCluster) (\s@DeleteGlobalClusterResponse' {} a -> s {globalCluster = a} :: DeleteGlobalClusterResponse)++-- | The response's http status code.+deleteGlobalClusterResponse_httpStatus :: Lens.Lens' DeleteGlobalClusterResponse Prelude.Int+deleteGlobalClusterResponse_httpStatus = Lens.lens (\DeleteGlobalClusterResponse' {httpStatus} -> httpStatus) (\s@DeleteGlobalClusterResponse' {} a -> s {httpStatus = a} :: DeleteGlobalClusterResponse)++instance Prelude.NFData DeleteGlobalClusterResponse where+  rnf DeleteGlobalClusterResponse' {..} =+    Prelude.rnf globalCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusterEndpoints.hs view
@@ -0,0 +1,339 @@+{-# 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.Neptune.DescribeDBClusterEndpoints+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about endpoints for an Amazon Neptune DB cluster.+--+-- This operation can also return information for Amazon RDS clusters and+-- Amazon DocDB clusters.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBClusterEndpoints+  ( -- * Creating a Request+    DescribeDBClusterEndpoints (..),+    newDescribeDBClusterEndpoints,++    -- * Request Lenses+    describeDBClusterEndpoints_dbClusterEndpointIdentifier,+    describeDBClusterEndpoints_dbClusterIdentifier,+    describeDBClusterEndpoints_filters,+    describeDBClusterEndpoints_marker,+    describeDBClusterEndpoints_maxRecords,++    -- * Destructuring the Response+    DescribeDBClusterEndpointsResponse (..),+    newDescribeDBClusterEndpointsResponse,++    -- * Response Lenses+    describeDBClusterEndpointsResponse_dbClusterEndpoints,+    describeDBClusterEndpointsResponse_marker,+    describeDBClusterEndpointsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusterEndpoints' smart constructor.+data DescribeDBClusterEndpoints = DescribeDBClusterEndpoints'+  { -- | The identifier of the endpoint to describe. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A set of name-value pairs that define which endpoints to include in the+    -- output. The filters are specified as name-value pairs, in the format+    -- @Name=@/@endpoint_type@/@,Values=@/@endpoint_type1@/@,@/@endpoint_type2@/@,...@.+    -- @Name@ can be one of: @db-cluster-endpoint-type@,+    -- @db-cluster-endpoint-custom-type@, @db-cluster-endpoint-id@,+    -- @db-cluster-endpoint-status@. @Values@ for the+    -- @ db-cluster-endpoint-type@ filter can be one or more of: @reader@,+    -- @writer@, @custom@. @Values@ for the @db-cluster-endpoint-custom-type@+    -- filter can be one or more of: @reader@, @any@. @Values@ for the+    -- @db-cluster-endpoint-status@ filter can be one or more of: @available@,+    -- @creating@, @deleting@, @inactive@, @modifying@.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+    -- the response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so you can retrieve the+    -- remaining results.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterEndpointIdentifier', 'describeDBClusterEndpoints_dbClusterEndpointIdentifier' - The identifier of the endpoint to describe. This parameter is stored as+-- a lowercase string.+--+-- 'dbClusterIdentifier', 'describeDBClusterEndpoints_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'filters', 'describeDBClusterEndpoints_filters' - A set of name-value pairs that define which endpoints to include in the+-- output. The filters are specified as name-value pairs, in the format+-- @Name=@/@endpoint_type@/@,Values=@/@endpoint_type1@/@,@/@endpoint_type2@/@,...@.+-- @Name@ can be one of: @db-cluster-endpoint-type@,+-- @db-cluster-endpoint-custom-type@, @db-cluster-endpoint-id@,+-- @db-cluster-endpoint-status@. @Values@ for the+-- @ db-cluster-endpoint-type@ filter can be one or more of: @reader@,+-- @writer@, @custom@. @Values@ for the @db-cluster-endpoint-custom-type@+-- filter can be one or more of: @reader@, @any@. @Values@ for the+-- @db-cluster-endpoint-status@ filter can be one or more of: @available@,+-- @creating@, @deleting@, @inactive@, @modifying@.+--+-- 'marker', 'describeDBClusterEndpoints_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBClusterEndpoints_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so you can retrieve the+-- remaining results.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBClusterEndpoints ::+  DescribeDBClusterEndpoints+newDescribeDBClusterEndpoints =+  DescribeDBClusterEndpoints'+    { dbClusterEndpointIdentifier =+        Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The identifier of the endpoint to describe. This parameter is stored as+-- a lowercase string.+describeDBClusterEndpoints_dbClusterEndpointIdentifier :: Lens.Lens' DescribeDBClusterEndpoints (Prelude.Maybe Prelude.Text)+describeDBClusterEndpoints_dbClusterEndpointIdentifier = Lens.lens (\DescribeDBClusterEndpoints' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@DescribeDBClusterEndpoints' {} a -> s {dbClusterEndpointIdentifier = a} :: DescribeDBClusterEndpoints)++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+describeDBClusterEndpoints_dbClusterIdentifier :: Lens.Lens' DescribeDBClusterEndpoints (Prelude.Maybe Prelude.Text)+describeDBClusterEndpoints_dbClusterIdentifier = Lens.lens (\DescribeDBClusterEndpoints' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DescribeDBClusterEndpoints' {} a -> s {dbClusterIdentifier = a} :: DescribeDBClusterEndpoints)++-- | A set of name-value pairs that define which endpoints to include in the+-- output. The filters are specified as name-value pairs, in the format+-- @Name=@/@endpoint_type@/@,Values=@/@endpoint_type1@/@,@/@endpoint_type2@/@,...@.+-- @Name@ can be one of: @db-cluster-endpoint-type@,+-- @db-cluster-endpoint-custom-type@, @db-cluster-endpoint-id@,+-- @db-cluster-endpoint-status@. @Values@ for the+-- @ db-cluster-endpoint-type@ filter can be one or more of: @reader@,+-- @writer@, @custom@. @Values@ for the @db-cluster-endpoint-custom-type@+-- filter can be one or more of: @reader@, @any@. @Values@ for the+-- @db-cluster-endpoint-status@ filter can be one or more of: @available@,+-- @creating@, @deleting@, @inactive@, @modifying@.+describeDBClusterEndpoints_filters :: Lens.Lens' DescribeDBClusterEndpoints (Prelude.Maybe [Filter])+describeDBClusterEndpoints_filters = Lens.lens (\DescribeDBClusterEndpoints' {filters} -> filters) (\s@DescribeDBClusterEndpoints' {} a -> s {filters = a} :: DescribeDBClusterEndpoints) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBClusterEndpoints_marker :: Lens.Lens' DescribeDBClusterEndpoints (Prelude.Maybe Prelude.Text)+describeDBClusterEndpoints_marker = Lens.lens (\DescribeDBClusterEndpoints' {marker} -> marker) (\s@DescribeDBClusterEndpoints' {} a -> s {marker = a} :: DescribeDBClusterEndpoints)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so you can retrieve the+-- remaining results.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBClusterEndpoints_maxRecords :: Lens.Lens' DescribeDBClusterEndpoints (Prelude.Maybe Prelude.Int)+describeDBClusterEndpoints_maxRecords = Lens.lens (\DescribeDBClusterEndpoints' {maxRecords} -> maxRecords) (\s@DescribeDBClusterEndpoints' {} a -> s {maxRecords = a} :: DescribeDBClusterEndpoints)++instance Core.AWSPager DescribeDBClusterEndpoints where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBClusterEndpointsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBClusterEndpointsResponse_dbClusterEndpoints+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBClusterEndpoints_marker+          Lens..~ rs+          Lens.^? describeDBClusterEndpointsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBClusterEndpoints where+  type+    AWSResponse DescribeDBClusterEndpoints =+      DescribeDBClusterEndpointsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClusterEndpointsResult"+      ( \s h x ->+          DescribeDBClusterEndpointsResponse'+            Prelude.<$> ( x+                            Data..@? "DBClusterEndpoints"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBClusterEndpointList")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBClusterEndpoints where+  hashWithSalt _salt DescribeDBClusterEndpoints' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterEndpointIdentifier+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBClusterEndpoints where+  rnf DescribeDBClusterEndpoints' {..} =+    Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBClusterEndpoints where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBClusterEndpoints where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBClusterEndpoints where+  toQuery DescribeDBClusterEndpoints' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBClusterEndpoints" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterEndpointIdentifier"+          Data.=: dbClusterEndpointIdentifier,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBClusterEndpointsResponse' smart constructor.+data DescribeDBClusterEndpointsResponse = DescribeDBClusterEndpointsResponse'+  { -- | Contains the details of the endpoints associated with the cluster and+    -- matching any filter conditions.+    dbClusterEndpoints :: Prelude.Maybe [DBClusterEndpoint],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+    -- the response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: 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 'DescribeDBClusterEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterEndpoints', 'describeDBClusterEndpointsResponse_dbClusterEndpoints' - Contains the details of the endpoints associated with the cluster and+-- matching any filter conditions.+--+-- 'marker', 'describeDBClusterEndpointsResponse_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBClusterEndpointsResponse_httpStatus' - The response's http status code.+newDescribeDBClusterEndpointsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClusterEndpointsResponse+newDescribeDBClusterEndpointsResponse pHttpStatus_ =+  DescribeDBClusterEndpointsResponse'+    { dbClusterEndpoints =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Contains the details of the endpoints associated with the cluster and+-- matching any filter conditions.+describeDBClusterEndpointsResponse_dbClusterEndpoints :: Lens.Lens' DescribeDBClusterEndpointsResponse (Prelude.Maybe [DBClusterEndpoint])+describeDBClusterEndpointsResponse_dbClusterEndpoints = Lens.lens (\DescribeDBClusterEndpointsResponse' {dbClusterEndpoints} -> dbClusterEndpoints) (\s@DescribeDBClusterEndpointsResponse' {} a -> s {dbClusterEndpoints = a} :: DescribeDBClusterEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterEndpoints@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBClusterEndpointsResponse_marker :: Lens.Lens' DescribeDBClusterEndpointsResponse (Prelude.Maybe Prelude.Text)+describeDBClusterEndpointsResponse_marker = Lens.lens (\DescribeDBClusterEndpointsResponse' {marker} -> marker) (\s@DescribeDBClusterEndpointsResponse' {} a -> s {marker = a} :: DescribeDBClusterEndpointsResponse)++-- | The response's http status code.+describeDBClusterEndpointsResponse_httpStatus :: Lens.Lens' DescribeDBClusterEndpointsResponse Prelude.Int+describeDBClusterEndpointsResponse_httpStatus = Lens.lens (\DescribeDBClusterEndpointsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClusterEndpointsResponse' {} a -> s {httpStatus = a} :: DescribeDBClusterEndpointsResponse)++instance+  Prelude.NFData+    DescribeDBClusterEndpointsResponse+  where+  rnf DescribeDBClusterEndpointsResponse' {..} =+    Prelude.rnf dbClusterEndpoints+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusterParameterGroups.hs view
@@ -0,0 +1,326 @@+{-# 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.Neptune.DescribeDBClusterParameterGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of @DBClusterParameterGroup@ descriptions. If a+-- @DBClusterParameterGroupName@ parameter is specified, the list will+-- contain only the description of the specified DB cluster parameter+-- group.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBClusterParameterGroups+  ( -- * Creating a Request+    DescribeDBClusterParameterGroups (..),+    newDescribeDBClusterParameterGroups,++    -- * Request Lenses+    describeDBClusterParameterGroups_dbClusterParameterGroupName,+    describeDBClusterParameterGroups_filters,+    describeDBClusterParameterGroups_marker,+    describeDBClusterParameterGroups_maxRecords,++    -- * Destructuring the Response+    DescribeDBClusterParameterGroupsResponse (..),+    newDescribeDBClusterParameterGroupsResponse,++    -- * Response Lenses+    describeDBClusterParameterGroupsResponse_dbClusterParameterGroups,+    describeDBClusterParameterGroupsResponse_marker,+    describeDBClusterParameterGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusterParameterGroups' smart constructor.+data DescribeDBClusterParameterGroups = DescribeDBClusterParameterGroups'+  { -- | The name of a specific DB cluster parameter group to return details for.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterParameterGroups@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterParameterGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupName', 'describeDBClusterParameterGroups_dbClusterParameterGroupName' - The name of a specific DB cluster parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+--+-- 'filters', 'describeDBClusterParameterGroups_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeDBClusterParameterGroups_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterParameterGroups@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBClusterParameterGroups_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBClusterParameterGroups ::+  DescribeDBClusterParameterGroups+newDescribeDBClusterParameterGroups =+  DescribeDBClusterParameterGroups'+    { dbClusterParameterGroupName =+        Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The name of a specific DB cluster parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+describeDBClusterParameterGroups_dbClusterParameterGroupName :: Lens.Lens' DescribeDBClusterParameterGroups (Prelude.Maybe Prelude.Text)+describeDBClusterParameterGroups_dbClusterParameterGroupName = Lens.lens (\DescribeDBClusterParameterGroups' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@DescribeDBClusterParameterGroups' {} a -> s {dbClusterParameterGroupName = a} :: DescribeDBClusterParameterGroups)++-- | This parameter is not currently supported.+describeDBClusterParameterGroups_filters :: Lens.Lens' DescribeDBClusterParameterGroups (Prelude.Maybe [Filter])+describeDBClusterParameterGroups_filters = Lens.lens (\DescribeDBClusterParameterGroups' {filters} -> filters) (\s@DescribeDBClusterParameterGroups' {} a -> s {filters = a} :: DescribeDBClusterParameterGroups) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterParameterGroups@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+describeDBClusterParameterGroups_marker :: Lens.Lens' DescribeDBClusterParameterGroups (Prelude.Maybe Prelude.Text)+describeDBClusterParameterGroups_marker = Lens.lens (\DescribeDBClusterParameterGroups' {marker} -> marker) (\s@DescribeDBClusterParameterGroups' {} a -> s {marker = a} :: DescribeDBClusterParameterGroups)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBClusterParameterGroups_maxRecords :: Lens.Lens' DescribeDBClusterParameterGroups (Prelude.Maybe Prelude.Int)+describeDBClusterParameterGroups_maxRecords = Lens.lens (\DescribeDBClusterParameterGroups' {maxRecords} -> maxRecords) (\s@DescribeDBClusterParameterGroups' {} a -> s {maxRecords = a} :: DescribeDBClusterParameterGroups)++instance+  Core.AWSPager+    DescribeDBClusterParameterGroups+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBClusterParameterGroupsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBClusterParameterGroupsResponse_dbClusterParameterGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBClusterParameterGroups_marker+          Lens..~ rs+          Lens.^? describeDBClusterParameterGroupsResponse_marker+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeDBClusterParameterGroups+  where+  type+    AWSResponse DescribeDBClusterParameterGroups =+      DescribeDBClusterParameterGroupsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClusterParameterGroupsResult"+      ( \s h x ->+          DescribeDBClusterParameterGroupsResponse'+            Prelude.<$> ( x+                            Data..@? "DBClusterParameterGroups"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may+                              (Data.parseXMLList "DBClusterParameterGroup")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeDBClusterParameterGroups+  where+  hashWithSalt+    _salt+    DescribeDBClusterParameterGroups' {..} =+      _salt+        `Prelude.hashWithSalt` dbClusterParameterGroupName+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` marker+        `Prelude.hashWithSalt` maxRecords++instance+  Prelude.NFData+    DescribeDBClusterParameterGroups+  where+  rnf DescribeDBClusterParameterGroups' {..} =+    Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance+  Data.ToHeaders+    DescribeDBClusterParameterGroups+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBClusterParameterGroups where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeDBClusterParameterGroups+  where+  toQuery DescribeDBClusterParameterGroups' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeDBClusterParameterGroups" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBClusterParameterGroupsResponse' smart constructor.+data DescribeDBClusterParameterGroupsResponse = DescribeDBClusterParameterGroupsResponse'+  { -- | A list of DB cluster parameter groups.+    dbClusterParameterGroups :: Prelude.Maybe [DBClusterParameterGroup],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterParameterGroups@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@.+    marker :: 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 'DescribeDBClusterParameterGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroups', 'describeDBClusterParameterGroupsResponse_dbClusterParameterGroups' - A list of DB cluster parameter groups.+--+-- 'marker', 'describeDBClusterParameterGroupsResponse_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterParameterGroups@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBClusterParameterGroupsResponse_httpStatus' - The response's http status code.+newDescribeDBClusterParameterGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClusterParameterGroupsResponse+newDescribeDBClusterParameterGroupsResponse+  pHttpStatus_ =+    DescribeDBClusterParameterGroupsResponse'+      { dbClusterParameterGroups =+          Prelude.Nothing,+        marker = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A list of DB cluster parameter groups.+describeDBClusterParameterGroupsResponse_dbClusterParameterGroups :: Lens.Lens' DescribeDBClusterParameterGroupsResponse (Prelude.Maybe [DBClusterParameterGroup])+describeDBClusterParameterGroupsResponse_dbClusterParameterGroups = Lens.lens (\DescribeDBClusterParameterGroupsResponse' {dbClusterParameterGroups} -> dbClusterParameterGroups) (\s@DescribeDBClusterParameterGroupsResponse' {} a -> s {dbClusterParameterGroups = a} :: DescribeDBClusterParameterGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterParameterGroups@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+describeDBClusterParameterGroupsResponse_marker :: Lens.Lens' DescribeDBClusterParameterGroupsResponse (Prelude.Maybe Prelude.Text)+describeDBClusterParameterGroupsResponse_marker = Lens.lens (\DescribeDBClusterParameterGroupsResponse' {marker} -> marker) (\s@DescribeDBClusterParameterGroupsResponse' {} a -> s {marker = a} :: DescribeDBClusterParameterGroupsResponse)++-- | The response's http status code.+describeDBClusterParameterGroupsResponse_httpStatus :: Lens.Lens' DescribeDBClusterParameterGroupsResponse Prelude.Int+describeDBClusterParameterGroupsResponse_httpStatus = Lens.lens (\DescribeDBClusterParameterGroupsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClusterParameterGroupsResponse' {} a -> s {httpStatus = a} :: DescribeDBClusterParameterGroupsResponse)++instance+  Prelude.NFData+    DescribeDBClusterParameterGroupsResponse+  where+  rnf DescribeDBClusterParameterGroupsResponse' {..} =+    Prelude.rnf dbClusterParameterGroups+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusterParameters.hs view
@@ -0,0 +1,325 @@+{-# 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.Neptune.DescribeDBClusterParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the detailed parameter list for a particular DB cluster+-- parameter group.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBClusterParameters+  ( -- * Creating a Request+    DescribeDBClusterParameters (..),+    newDescribeDBClusterParameters,++    -- * Request Lenses+    describeDBClusterParameters_filters,+    describeDBClusterParameters_marker,+    describeDBClusterParameters_maxRecords,+    describeDBClusterParameters_source,+    describeDBClusterParameters_dbClusterParameterGroupName,++    -- * Destructuring the Response+    DescribeDBClusterParametersResponse (..),+    newDescribeDBClusterParametersResponse,++    -- * Response Lenses+    describeDBClusterParametersResponse_marker,+    describeDBClusterParametersResponse_parameters,+    describeDBClusterParametersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusterParameters' smart constructor.+data DescribeDBClusterParameters = DescribeDBClusterParameters'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterParameters@ request. If this parameter is specified,+    -- the response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | A value that indicates to return only parameters for a specific source.+    -- Parameter sources can be @engine@, @service@, or @customer@.+    source :: Prelude.Maybe Prelude.Text,+    -- | The name of a specific DB cluster parameter group to return parameter+    -- details for.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbClusterParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeDBClusterParameters_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeDBClusterParameters_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterParameters@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBClusterParameters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'source', 'describeDBClusterParameters_source' - A value that indicates to return only parameters for a specific source.+-- Parameter sources can be @engine@, @service@, or @customer@.+--+-- 'dbClusterParameterGroupName', 'describeDBClusterParameters_dbClusterParameterGroupName' - The name of a specific DB cluster parameter group to return parameter+-- details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+newDescribeDBClusterParameters ::+  -- | 'dbClusterParameterGroupName'+  Prelude.Text ->+  DescribeDBClusterParameters+newDescribeDBClusterParameters+  pDBClusterParameterGroupName_ =+    DescribeDBClusterParameters'+      { filters =+          Prelude.Nothing,+        marker = Prelude.Nothing,+        maxRecords = Prelude.Nothing,+        source = Prelude.Nothing,+        dbClusterParameterGroupName =+          pDBClusterParameterGroupName_+      }++-- | This parameter is not currently supported.+describeDBClusterParameters_filters :: Lens.Lens' DescribeDBClusterParameters (Prelude.Maybe [Filter])+describeDBClusterParameters_filters = Lens.lens (\DescribeDBClusterParameters' {filters} -> filters) (\s@DescribeDBClusterParameters' {} a -> s {filters = a} :: DescribeDBClusterParameters) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterParameters@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBClusterParameters_marker :: Lens.Lens' DescribeDBClusterParameters (Prelude.Maybe Prelude.Text)+describeDBClusterParameters_marker = Lens.lens (\DescribeDBClusterParameters' {marker} -> marker) (\s@DescribeDBClusterParameters' {} a -> s {marker = a} :: DescribeDBClusterParameters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBClusterParameters_maxRecords :: Lens.Lens' DescribeDBClusterParameters (Prelude.Maybe Prelude.Int)+describeDBClusterParameters_maxRecords = Lens.lens (\DescribeDBClusterParameters' {maxRecords} -> maxRecords) (\s@DescribeDBClusterParameters' {} a -> s {maxRecords = a} :: DescribeDBClusterParameters)++-- | A value that indicates to return only parameters for a specific source.+-- Parameter sources can be @engine@, @service@, or @customer@.+describeDBClusterParameters_source :: Lens.Lens' DescribeDBClusterParameters (Prelude.Maybe Prelude.Text)+describeDBClusterParameters_source = Lens.lens (\DescribeDBClusterParameters' {source} -> source) (\s@DescribeDBClusterParameters' {} a -> s {source = a} :: DescribeDBClusterParameters)++-- | The name of a specific DB cluster parameter group to return parameter+-- details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+describeDBClusterParameters_dbClusterParameterGroupName :: Lens.Lens' DescribeDBClusterParameters Prelude.Text+describeDBClusterParameters_dbClusterParameterGroupName = Lens.lens (\DescribeDBClusterParameters' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@DescribeDBClusterParameters' {} a -> s {dbClusterParameterGroupName = a} :: DescribeDBClusterParameters)++instance Core.AWSPager DescribeDBClusterParameters where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBClusterParametersResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBClusterParametersResponse_parameters+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBClusterParameters_marker+          Lens..~ rs+          Lens.^? describeDBClusterParametersResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBClusterParameters where+  type+    AWSResponse DescribeDBClusterParameters =+      DescribeDBClusterParametersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClusterParametersResult"+      ( \s h x ->+          DescribeDBClusterParametersResponse'+            Prelude.<$> (x Data..@? "Marker")+            Prelude.<*> ( x+                            Data..@? "Parameters"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Parameter")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBClusterParameters where+  hashWithSalt _salt DescribeDBClusterParameters' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` dbClusterParameterGroupName++instance Prelude.NFData DescribeDBClusterParameters where+  rnf DescribeDBClusterParameters' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName++instance Data.ToHeaders DescribeDBClusterParameters where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBClusterParameters where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBClusterParameters where+  toQuery DescribeDBClusterParameters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeDBClusterParameters" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "Source" Data.=: source,+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName+      ]++-- | /See:/ 'newDescribeDBClusterParametersResponse' smart constructor.+data DescribeDBClusterParametersResponse = DescribeDBClusterParametersResponse'+  { -- | An optional pagination token provided by a previous+    -- DescribeDBClusterParameters request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@ .+    marker :: Prelude.Maybe Prelude.Text,+    -- | Provides a list of parameters for the DB cluster parameter group.+    parameters :: Prelude.Maybe [Parameter],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterParametersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'marker', 'describeDBClusterParametersResponse_marker' - An optional pagination token provided by a previous+-- DescribeDBClusterParameters request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@ .+--+-- 'parameters', 'describeDBClusterParametersResponse_parameters' - Provides a list of parameters for the DB cluster parameter group.+--+-- 'httpStatus', 'describeDBClusterParametersResponse_httpStatus' - The response's http status code.+newDescribeDBClusterParametersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClusterParametersResponse+newDescribeDBClusterParametersResponse pHttpStatus_ =+  DescribeDBClusterParametersResponse'+    { marker =+        Prelude.Nothing,+      parameters = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An optional pagination token provided by a previous+-- DescribeDBClusterParameters request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@ .+describeDBClusterParametersResponse_marker :: Lens.Lens' DescribeDBClusterParametersResponse (Prelude.Maybe Prelude.Text)+describeDBClusterParametersResponse_marker = Lens.lens (\DescribeDBClusterParametersResponse' {marker} -> marker) (\s@DescribeDBClusterParametersResponse' {} a -> s {marker = a} :: DescribeDBClusterParametersResponse)++-- | Provides a list of parameters for the DB cluster parameter group.+describeDBClusterParametersResponse_parameters :: Lens.Lens' DescribeDBClusterParametersResponse (Prelude.Maybe [Parameter])+describeDBClusterParametersResponse_parameters = Lens.lens (\DescribeDBClusterParametersResponse' {parameters} -> parameters) (\s@DescribeDBClusterParametersResponse' {} a -> s {parameters = a} :: DescribeDBClusterParametersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeDBClusterParametersResponse_httpStatus :: Lens.Lens' DescribeDBClusterParametersResponse Prelude.Int+describeDBClusterParametersResponse_httpStatus = Lens.lens (\DescribeDBClusterParametersResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClusterParametersResponse' {} a -> s {httpStatus = a} :: DescribeDBClusterParametersResponse)++instance+  Prelude.NFData+    DescribeDBClusterParametersResponse+  where+  rnf DescribeDBClusterParametersResponse' {..} =+    Prelude.rnf marker+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusterSnapshotAttributes.hs view
@@ -0,0 +1,204 @@+{-# 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.Neptune.DescribeDBClusterSnapshotAttributes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of DB cluster snapshot attribute names and values for a+-- manual DB cluster snapshot.+--+-- When sharing snapshots with other Amazon accounts,+-- @DescribeDBClusterSnapshotAttributes@ returns the @restore@ attribute+-- and a list of IDs for the Amazon accounts that are authorized to copy or+-- restore the manual DB cluster snapshot. If @all@ is included in the list+-- of values for the @restore@ attribute, then the manual DB cluster+-- snapshot is public and can be copied or restored by all Amazon accounts.+--+-- To add or remove access for an Amazon account to copy or restore a+-- manual DB cluster snapshot, or to make the manual DB cluster snapshot+-- public or private, use the ModifyDBClusterSnapshotAttribute API action.+module Amazonka.Neptune.DescribeDBClusterSnapshotAttributes+  ( -- * Creating a Request+    DescribeDBClusterSnapshotAttributes (..),+    newDescribeDBClusterSnapshotAttributes,++    -- * Request Lenses+    describeDBClusterSnapshotAttributes_dbClusterSnapshotIdentifier,++    -- * Destructuring the Response+    DescribeDBClusterSnapshotAttributesResponse (..),+    newDescribeDBClusterSnapshotAttributesResponse,++    -- * Response Lenses+    describeDBClusterSnapshotAttributesResponse_dbClusterSnapshotAttributesResult,+    describeDBClusterSnapshotAttributesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusterSnapshotAttributes' smart constructor.+data DescribeDBClusterSnapshotAttributes = DescribeDBClusterSnapshotAttributes'+  { -- | The identifier for the DB cluster snapshot to describe the attributes+    -- for.+    dbClusterSnapshotIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterSnapshotAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshotIdentifier', 'describeDBClusterSnapshotAttributes_dbClusterSnapshotIdentifier' - The identifier for the DB cluster snapshot to describe the attributes+-- for.+newDescribeDBClusterSnapshotAttributes ::+  -- | 'dbClusterSnapshotIdentifier'+  Prelude.Text ->+  DescribeDBClusterSnapshotAttributes+newDescribeDBClusterSnapshotAttributes+  pDBClusterSnapshotIdentifier_ =+    DescribeDBClusterSnapshotAttributes'+      { dbClusterSnapshotIdentifier =+          pDBClusterSnapshotIdentifier_+      }++-- | The identifier for the DB cluster snapshot to describe the attributes+-- for.+describeDBClusterSnapshotAttributes_dbClusterSnapshotIdentifier :: Lens.Lens' DescribeDBClusterSnapshotAttributes Prelude.Text+describeDBClusterSnapshotAttributes_dbClusterSnapshotIdentifier = Lens.lens (\DescribeDBClusterSnapshotAttributes' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@DescribeDBClusterSnapshotAttributes' {} a -> s {dbClusterSnapshotIdentifier = a} :: DescribeDBClusterSnapshotAttributes)++instance+  Core.AWSRequest+    DescribeDBClusterSnapshotAttributes+  where+  type+    AWSResponse DescribeDBClusterSnapshotAttributes =+      DescribeDBClusterSnapshotAttributesResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClusterSnapshotAttributesResult"+      ( \s h x ->+          DescribeDBClusterSnapshotAttributesResponse'+            Prelude.<$> (x Data..@? "DBClusterSnapshotAttributesResult")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeDBClusterSnapshotAttributes+  where+  hashWithSalt+    _salt+    DescribeDBClusterSnapshotAttributes' {..} =+      _salt+        `Prelude.hashWithSalt` dbClusterSnapshotIdentifier++instance+  Prelude.NFData+    DescribeDBClusterSnapshotAttributes+  where+  rnf DescribeDBClusterSnapshotAttributes' {..} =+    Prelude.rnf dbClusterSnapshotIdentifier++instance+  Data.ToHeaders+    DescribeDBClusterSnapshotAttributes+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DescribeDBClusterSnapshotAttributes+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeDBClusterSnapshotAttributes+  where+  toQuery DescribeDBClusterSnapshotAttributes' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeDBClusterSnapshotAttributes" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterSnapshotIdentifier"+          Data.=: dbClusterSnapshotIdentifier+      ]++-- | /See:/ 'newDescribeDBClusterSnapshotAttributesResponse' smart constructor.+data DescribeDBClusterSnapshotAttributesResponse = DescribeDBClusterSnapshotAttributesResponse'+  { dbClusterSnapshotAttributesResult :: Prelude.Maybe DBClusterSnapshotAttributesResult,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterSnapshotAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshotAttributesResult', 'describeDBClusterSnapshotAttributesResponse_dbClusterSnapshotAttributesResult' - Undocumented member.+--+-- 'httpStatus', 'describeDBClusterSnapshotAttributesResponse_httpStatus' - The response's http status code.+newDescribeDBClusterSnapshotAttributesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClusterSnapshotAttributesResponse+newDescribeDBClusterSnapshotAttributesResponse+  pHttpStatus_ =+    DescribeDBClusterSnapshotAttributesResponse'+      { dbClusterSnapshotAttributesResult =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+describeDBClusterSnapshotAttributesResponse_dbClusterSnapshotAttributesResult :: Lens.Lens' DescribeDBClusterSnapshotAttributesResponse (Prelude.Maybe DBClusterSnapshotAttributesResult)+describeDBClusterSnapshotAttributesResponse_dbClusterSnapshotAttributesResult = Lens.lens (\DescribeDBClusterSnapshotAttributesResponse' {dbClusterSnapshotAttributesResult} -> dbClusterSnapshotAttributesResult) (\s@DescribeDBClusterSnapshotAttributesResponse' {} a -> s {dbClusterSnapshotAttributesResult = a} :: DescribeDBClusterSnapshotAttributesResponse)++-- | The response's http status code.+describeDBClusterSnapshotAttributesResponse_httpStatus :: Lens.Lens' DescribeDBClusterSnapshotAttributesResponse Prelude.Int+describeDBClusterSnapshotAttributesResponse_httpStatus = Lens.lens (\DescribeDBClusterSnapshotAttributesResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClusterSnapshotAttributesResponse' {} a -> s {httpStatus = a} :: DescribeDBClusterSnapshotAttributesResponse)++instance+  Prelude.NFData+    DescribeDBClusterSnapshotAttributesResponse+  where+  rnf DescribeDBClusterSnapshotAttributesResponse' {..} =+    Prelude.rnf dbClusterSnapshotAttributesResult+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusterSnapshots.hs view
@@ -0,0 +1,496 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DescribeDBClusterSnapshots+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about DB cluster snapshots. This API action supports+-- pagination.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBClusterSnapshots+  ( -- * Creating a Request+    DescribeDBClusterSnapshots (..),+    newDescribeDBClusterSnapshots,++    -- * Request Lenses+    describeDBClusterSnapshots_dbClusterIdentifier,+    describeDBClusterSnapshots_dbClusterSnapshotIdentifier,+    describeDBClusterSnapshots_filters,+    describeDBClusterSnapshots_includePublic,+    describeDBClusterSnapshots_includeShared,+    describeDBClusterSnapshots_marker,+    describeDBClusterSnapshots_maxRecords,+    describeDBClusterSnapshots_snapshotType,++    -- * Destructuring the Response+    DescribeDBClusterSnapshotsResponse (..),+    newDescribeDBClusterSnapshotsResponse,++    -- * Response Lenses+    describeDBClusterSnapshotsResponse_dbClusterSnapshots,+    describeDBClusterSnapshotsResponse_marker,+    describeDBClusterSnapshotsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusterSnapshots' smart constructor.+data DescribeDBClusterSnapshots = DescribeDBClusterSnapshots'+  { -- | The ID of the DB cluster to retrieve the list of DB cluster snapshots+    -- for. This parameter can\'t be used in conjunction with the+    -- @DBClusterSnapshotIdentifier@ parameter. This parameter is not+    -- case-sensitive.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the identifier of an existing DBCluster.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A specific DB cluster snapshot identifier to describe. This parameter+    -- can\'t be used in conjunction with the @DBClusterIdentifier@ parameter.+    -- This value is stored as a lowercase string.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the identifier of an existing+    --     DBClusterSnapshot.+    --+    -- -   If this identifier is for an automated snapshot, the @SnapshotType@+    --     parameter must also be specified.+    dbClusterSnapshotIdentifier :: Prelude.Maybe Prelude.Text,+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | True to include manual DB cluster snapshots that are public and can be+    -- copied or restored by any Amazon account, and otherwise false. The+    -- default is @false@. The default is false.+    --+    -- You can share a manual DB cluster snapshot as public by using the+    -- ModifyDBClusterSnapshotAttribute API action.+    includePublic :: Prelude.Maybe Prelude.Bool,+    -- | True to include shared manual DB cluster snapshots from other Amazon+    -- accounts that this Amazon account has been given permission to copy or+    -- restore, and otherwise false. The default is @false@.+    --+    -- You can give an Amazon account permission to restore a manual DB cluster+    -- snapshot from another Amazon account by the+    -- ModifyDBClusterSnapshotAttribute API action.+    includeShared :: Prelude.Maybe Prelude.Bool,+    -- | An optional pagination token provided by a previous+    -- @DescribeDBClusterSnapshots@ request. If this parameter is specified,+    -- the response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The type of DB cluster snapshots to be returned. You can specify one of+    -- the following values:+    --+    -- -   @automated@ - Return all DB cluster snapshots that have been+    --     automatically taken by Amazon Neptune for my Amazon account.+    --+    -- -   @manual@ - Return all DB cluster snapshots that have been taken by+    --     my Amazon account.+    --+    -- -   @shared@ - Return all manual DB cluster snapshots that have been+    --     shared to my Amazon account.+    --+    -- -   @public@ - Return all DB cluster snapshots that have been marked as+    --     public.+    --+    -- If you don\'t specify a @SnapshotType@ value, then both automated and+    -- manual DB cluster snapshots are returned. You can include shared DB+    -- cluster snapshots with these results by setting the @IncludeShared@+    -- parameter to @true@. You can include public DB cluster snapshots with+    -- these results by setting the @IncludePublic@ parameter to @true@.+    --+    -- The @IncludeShared@ and @IncludePublic@ parameters don\'t apply for+    -- @SnapshotType@ values of @manual@ or @automated@. The @IncludePublic@+    -- parameter doesn\'t apply when @SnapshotType@ is set to @shared@. The+    -- @IncludeShared@ parameter doesn\'t apply when @SnapshotType@ is set to+    -- @public@.+    snapshotType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusterSnapshots' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'describeDBClusterSnapshots_dbClusterIdentifier' - The ID of the DB cluster to retrieve the list of DB cluster snapshots+-- for. This parameter can\'t be used in conjunction with the+-- @DBClusterSnapshotIdentifier@ parameter. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing DBCluster.+--+-- 'dbClusterSnapshotIdentifier', 'describeDBClusterSnapshots_dbClusterSnapshotIdentifier' - A specific DB cluster snapshot identifier to describe. This parameter+-- can\'t be used in conjunction with the @DBClusterIdentifier@ parameter.+-- This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing+--     DBClusterSnapshot.+--+-- -   If this identifier is for an automated snapshot, the @SnapshotType@+--     parameter must also be specified.+--+-- 'filters', 'describeDBClusterSnapshots_filters' - This parameter is not currently supported.+--+-- 'includePublic', 'describeDBClusterSnapshots_includePublic' - True to include manual DB cluster snapshots that are public and can be+-- copied or restored by any Amazon account, and otherwise false. The+-- default is @false@. The default is false.+--+-- You can share a manual DB cluster snapshot as public by using the+-- ModifyDBClusterSnapshotAttribute API action.+--+-- 'includeShared', 'describeDBClusterSnapshots_includeShared' - True to include shared manual DB cluster snapshots from other Amazon+-- accounts that this Amazon account has been given permission to copy or+-- restore, and otherwise false. The default is @false@.+--+-- You can give an Amazon account permission to restore a manual DB cluster+-- snapshot from another Amazon account by the+-- ModifyDBClusterSnapshotAttribute API action.+--+-- 'marker', 'describeDBClusterSnapshots_marker' - An optional pagination token provided by a previous+-- @DescribeDBClusterSnapshots@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBClusterSnapshots_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'snapshotType', 'describeDBClusterSnapshots_snapshotType' - The type of DB cluster snapshots to be returned. You can specify one of+-- the following values:+--+-- -   @automated@ - Return all DB cluster snapshots that have been+--     automatically taken by Amazon Neptune for my Amazon account.+--+-- -   @manual@ - Return all DB cluster snapshots that have been taken by+--     my Amazon account.+--+-- -   @shared@ - Return all manual DB cluster snapshots that have been+--     shared to my Amazon account.+--+-- -   @public@ - Return all DB cluster snapshots that have been marked as+--     public.+--+-- If you don\'t specify a @SnapshotType@ value, then both automated and+-- manual DB cluster snapshots are returned. You can include shared DB+-- cluster snapshots with these results by setting the @IncludeShared@+-- parameter to @true@. You can include public DB cluster snapshots with+-- these results by setting the @IncludePublic@ parameter to @true@.+--+-- The @IncludeShared@ and @IncludePublic@ parameters don\'t apply for+-- @SnapshotType@ values of @manual@ or @automated@. The @IncludePublic@+-- parameter doesn\'t apply when @SnapshotType@ is set to @shared@. The+-- @IncludeShared@ parameter doesn\'t apply when @SnapshotType@ is set to+-- @public@.+newDescribeDBClusterSnapshots ::+  DescribeDBClusterSnapshots+newDescribeDBClusterSnapshots =+  DescribeDBClusterSnapshots'+    { dbClusterIdentifier =+        Prelude.Nothing,+      dbClusterSnapshotIdentifier = Prelude.Nothing,+      filters = Prelude.Nothing,+      includePublic = Prelude.Nothing,+      includeShared = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      snapshotType = Prelude.Nothing+    }++-- | The ID of the DB cluster to retrieve the list of DB cluster snapshots+-- for. This parameter can\'t be used in conjunction with the+-- @DBClusterSnapshotIdentifier@ parameter. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing DBCluster.+describeDBClusterSnapshots_dbClusterIdentifier :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Text)+describeDBClusterSnapshots_dbClusterIdentifier = Lens.lens (\DescribeDBClusterSnapshots' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DescribeDBClusterSnapshots' {} a -> s {dbClusterIdentifier = a} :: DescribeDBClusterSnapshots)++-- | A specific DB cluster snapshot identifier to describe. This parameter+-- can\'t be used in conjunction with the @DBClusterIdentifier@ parameter.+-- This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing+--     DBClusterSnapshot.+--+-- -   If this identifier is for an automated snapshot, the @SnapshotType@+--     parameter must also be specified.+describeDBClusterSnapshots_dbClusterSnapshotIdentifier :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Text)+describeDBClusterSnapshots_dbClusterSnapshotIdentifier = Lens.lens (\DescribeDBClusterSnapshots' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@DescribeDBClusterSnapshots' {} a -> s {dbClusterSnapshotIdentifier = a} :: DescribeDBClusterSnapshots)++-- | This parameter is not currently supported.+describeDBClusterSnapshots_filters :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe [Filter])+describeDBClusterSnapshots_filters = Lens.lens (\DescribeDBClusterSnapshots' {filters} -> filters) (\s@DescribeDBClusterSnapshots' {} a -> s {filters = a} :: DescribeDBClusterSnapshots) Prelude.. Lens.mapping Lens.coerced++-- | True to include manual DB cluster snapshots that are public and can be+-- copied or restored by any Amazon account, and otherwise false. The+-- default is @false@. The default is false.+--+-- You can share a manual DB cluster snapshot as public by using the+-- ModifyDBClusterSnapshotAttribute API action.+describeDBClusterSnapshots_includePublic :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Bool)+describeDBClusterSnapshots_includePublic = Lens.lens (\DescribeDBClusterSnapshots' {includePublic} -> includePublic) (\s@DescribeDBClusterSnapshots' {} a -> s {includePublic = a} :: DescribeDBClusterSnapshots)++-- | True to include shared manual DB cluster snapshots from other Amazon+-- accounts that this Amazon account has been given permission to copy or+-- restore, and otherwise false. The default is @false@.+--+-- You can give an Amazon account permission to restore a manual DB cluster+-- snapshot from another Amazon account by the+-- ModifyDBClusterSnapshotAttribute API action.+describeDBClusterSnapshots_includeShared :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Bool)+describeDBClusterSnapshots_includeShared = Lens.lens (\DescribeDBClusterSnapshots' {includeShared} -> includeShared) (\s@DescribeDBClusterSnapshots' {} a -> s {includeShared = a} :: DescribeDBClusterSnapshots)++-- | An optional pagination token provided by a previous+-- @DescribeDBClusterSnapshots@ request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBClusterSnapshots_marker :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Text)+describeDBClusterSnapshots_marker = Lens.lens (\DescribeDBClusterSnapshots' {marker} -> marker) (\s@DescribeDBClusterSnapshots' {} a -> s {marker = a} :: DescribeDBClusterSnapshots)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBClusterSnapshots_maxRecords :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Int)+describeDBClusterSnapshots_maxRecords = Lens.lens (\DescribeDBClusterSnapshots' {maxRecords} -> maxRecords) (\s@DescribeDBClusterSnapshots' {} a -> s {maxRecords = a} :: DescribeDBClusterSnapshots)++-- | The type of DB cluster snapshots to be returned. You can specify one of+-- the following values:+--+-- -   @automated@ - Return all DB cluster snapshots that have been+--     automatically taken by Amazon Neptune for my Amazon account.+--+-- -   @manual@ - Return all DB cluster snapshots that have been taken by+--     my Amazon account.+--+-- -   @shared@ - Return all manual DB cluster snapshots that have been+--     shared to my Amazon account.+--+-- -   @public@ - Return all DB cluster snapshots that have been marked as+--     public.+--+-- If you don\'t specify a @SnapshotType@ value, then both automated and+-- manual DB cluster snapshots are returned. You can include shared DB+-- cluster snapshots with these results by setting the @IncludeShared@+-- parameter to @true@. You can include public DB cluster snapshots with+-- these results by setting the @IncludePublic@ parameter to @true@.+--+-- The @IncludeShared@ and @IncludePublic@ parameters don\'t apply for+-- @SnapshotType@ values of @manual@ or @automated@. The @IncludePublic@+-- parameter doesn\'t apply when @SnapshotType@ is set to @shared@. The+-- @IncludeShared@ parameter doesn\'t apply when @SnapshotType@ is set to+-- @public@.+describeDBClusterSnapshots_snapshotType :: Lens.Lens' DescribeDBClusterSnapshots (Prelude.Maybe Prelude.Text)+describeDBClusterSnapshots_snapshotType = Lens.lens (\DescribeDBClusterSnapshots' {snapshotType} -> snapshotType) (\s@DescribeDBClusterSnapshots' {} a -> s {snapshotType = a} :: DescribeDBClusterSnapshots)++instance Core.AWSPager DescribeDBClusterSnapshots where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBClusterSnapshotsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBClusterSnapshotsResponse_dbClusterSnapshots+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBClusterSnapshots_marker+          Lens..~ rs+          Lens.^? describeDBClusterSnapshotsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBClusterSnapshots where+  type+    AWSResponse DescribeDBClusterSnapshots =+      DescribeDBClusterSnapshotsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClusterSnapshotsResult"+      ( \s h x ->+          DescribeDBClusterSnapshotsResponse'+            Prelude.<$> ( x+                            Data..@? "DBClusterSnapshots"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBClusterSnapshot")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBClusterSnapshots where+  hashWithSalt _salt DescribeDBClusterSnapshots' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbClusterSnapshotIdentifier+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` includePublic+      `Prelude.hashWithSalt` includeShared+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords+      `Prelude.hashWithSalt` snapshotType++instance Prelude.NFData DescribeDBClusterSnapshots where+  rnf DescribeDBClusterSnapshots' {..} =+    Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbClusterSnapshotIdentifier+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf includePublic+      `Prelude.seq` Prelude.rnf includeShared+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf snapshotType++instance Data.ToHeaders DescribeDBClusterSnapshots where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBClusterSnapshots where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBClusterSnapshots where+  toQuery DescribeDBClusterSnapshots' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBClusterSnapshots" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "DBClusterSnapshotIdentifier"+          Data.=: dbClusterSnapshotIdentifier,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "IncludePublic" Data.=: includePublic,+        "IncludeShared" Data.=: includeShared,+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "SnapshotType" Data.=: snapshotType+      ]++-- | /See:/ 'newDescribeDBClusterSnapshotsResponse' smart constructor.+data DescribeDBClusterSnapshotsResponse = DescribeDBClusterSnapshotsResponse'+  { -- | Provides a list of DB cluster snapshots for the user.+    dbClusterSnapshots :: Prelude.Maybe [DBClusterSnapshot],+    -- | An optional pagination token provided by a previous+    -- DescribeDBClusterSnapshots request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: 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 'DescribeDBClusterSnapshotsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshots', 'describeDBClusterSnapshotsResponse_dbClusterSnapshots' - Provides a list of DB cluster snapshots for the user.+--+-- 'marker', 'describeDBClusterSnapshotsResponse_marker' - An optional pagination token provided by a previous+-- DescribeDBClusterSnapshots request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBClusterSnapshotsResponse_httpStatus' - The response's http status code.+newDescribeDBClusterSnapshotsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClusterSnapshotsResponse+newDescribeDBClusterSnapshotsResponse pHttpStatus_ =+  DescribeDBClusterSnapshotsResponse'+    { dbClusterSnapshots =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Provides a list of DB cluster snapshots for the user.+describeDBClusterSnapshotsResponse_dbClusterSnapshots :: Lens.Lens' DescribeDBClusterSnapshotsResponse (Prelude.Maybe [DBClusterSnapshot])+describeDBClusterSnapshotsResponse_dbClusterSnapshots = Lens.lens (\DescribeDBClusterSnapshotsResponse' {dbClusterSnapshots} -> dbClusterSnapshots) (\s@DescribeDBClusterSnapshotsResponse' {} a -> s {dbClusterSnapshots = a} :: DescribeDBClusterSnapshotsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- DescribeDBClusterSnapshots request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBClusterSnapshotsResponse_marker :: Lens.Lens' DescribeDBClusterSnapshotsResponse (Prelude.Maybe Prelude.Text)+describeDBClusterSnapshotsResponse_marker = Lens.lens (\DescribeDBClusterSnapshotsResponse' {marker} -> marker) (\s@DescribeDBClusterSnapshotsResponse' {} a -> s {marker = a} :: DescribeDBClusterSnapshotsResponse)++-- | The response's http status code.+describeDBClusterSnapshotsResponse_httpStatus :: Lens.Lens' DescribeDBClusterSnapshotsResponse Prelude.Int+describeDBClusterSnapshotsResponse_httpStatus = Lens.lens (\DescribeDBClusterSnapshotsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClusterSnapshotsResponse' {} a -> s {httpStatus = a} :: DescribeDBClusterSnapshotsResponse)++instance+  Prelude.NFData+    DescribeDBClusterSnapshotsResponse+  where+  rnf DescribeDBClusterSnapshotsResponse' {..} =+    Prelude.rnf dbClusterSnapshots+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBClusters.hs view
@@ -0,0 +1,332 @@+{-# 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.Neptune.DescribeDBClusters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about provisioned DB clusters, and supports+-- pagination.+--+-- This operation can also return information for Amazon RDS clusters and+-- Amazon DocDB clusters.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBClusters+  ( -- * Creating a Request+    DescribeDBClusters (..),+    newDescribeDBClusters,++    -- * Request Lenses+    describeDBClusters_dbClusterIdentifier,+    describeDBClusters_filters,+    describeDBClusters_marker,+    describeDBClusters_maxRecords,++    -- * Destructuring the Response+    DescribeDBClustersResponse (..),+    newDescribeDBClustersResponse,++    -- * Response Lenses+    describeDBClustersResponse_dbClusters,+    describeDBClustersResponse_marker,+    describeDBClustersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBClusters' smart constructor.+data DescribeDBClusters = DescribeDBClusters'+  { -- | The user-supplied DB cluster identifier. If this parameter is specified,+    -- information from only the specific DB cluster is returned. This+    -- parameter isn\'t case-sensitive.+    --+    -- Constraints:+    --+    -- -   If supplied, must match an existing DBClusterIdentifier.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A filter that specifies one or more DB clusters to describe.+    --+    -- Supported filters:+    --+    -- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+    --     Amazon Resource Names (ARNs). The results list will only include+    --     information about the DB clusters identified by these ARNs.+    --+    -- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+    --     the results list to DB clusters created by that engine.+    --+    -- For example, to invoke this API from the Amazon CLI and filter so that+    -- only Neptune DB clusters are returned, you could use the following+    -- command:+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous DescribeDBClusters+    -- request. If this parameter is specified, the response includes only+    -- records beyond the marker, up to the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBClusters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'describeDBClusters_dbClusterIdentifier' - The user-supplied DB cluster identifier. If this parameter is specified,+-- information from only the specific DB cluster is returned. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match an existing DBClusterIdentifier.+--+-- 'filters', 'describeDBClusters_filters' - A filter that specifies one or more DB clusters to describe.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     information about the DB clusters identified by these ARNs.+--+-- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+--     the results list to DB clusters created by that engine.+--+-- For example, to invoke this API from the Amazon CLI and filter so that+-- only Neptune DB clusters are returned, you could use the following+-- command:+--+-- 'marker', 'describeDBClusters_marker' - An optional pagination token provided by a previous DescribeDBClusters+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBClusters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBClusters ::+  DescribeDBClusters+newDescribeDBClusters =+  DescribeDBClusters'+    { dbClusterIdentifier =+        Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The user-supplied DB cluster identifier. If this parameter is specified,+-- information from only the specific DB cluster is returned. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match an existing DBClusterIdentifier.+describeDBClusters_dbClusterIdentifier :: Lens.Lens' DescribeDBClusters (Prelude.Maybe Prelude.Text)+describeDBClusters_dbClusterIdentifier = Lens.lens (\DescribeDBClusters' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DescribeDBClusters' {} a -> s {dbClusterIdentifier = a} :: DescribeDBClusters)++-- | A filter that specifies one or more DB clusters to describe.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     information about the DB clusters identified by these ARNs.+--+-- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+--     the results list to DB clusters created by that engine.+--+-- For example, to invoke this API from the Amazon CLI and filter so that+-- only Neptune DB clusters are returned, you could use the following+-- command:+describeDBClusters_filters :: Lens.Lens' DescribeDBClusters (Prelude.Maybe [Filter])+describeDBClusters_filters = Lens.lens (\DescribeDBClusters' {filters} -> filters) (\s@DescribeDBClusters' {} a -> s {filters = a} :: DescribeDBClusters) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous DescribeDBClusters+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@.+describeDBClusters_marker :: Lens.Lens' DescribeDBClusters (Prelude.Maybe Prelude.Text)+describeDBClusters_marker = Lens.lens (\DescribeDBClusters' {marker} -> marker) (\s@DescribeDBClusters' {} a -> s {marker = a} :: DescribeDBClusters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBClusters_maxRecords :: Lens.Lens' DescribeDBClusters (Prelude.Maybe Prelude.Int)+describeDBClusters_maxRecords = Lens.lens (\DescribeDBClusters' {maxRecords} -> maxRecords) (\s@DescribeDBClusters' {} a -> s {maxRecords = a} :: DescribeDBClusters)++instance Core.AWSPager DescribeDBClusters where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBClustersResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBClustersResponse_dbClusters+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBClusters_marker+          Lens..~ rs+          Lens.^? describeDBClustersResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBClusters where+  type+    AWSResponse DescribeDBClusters =+      DescribeDBClustersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBClustersResult"+      ( \s h x ->+          DescribeDBClustersResponse'+            Prelude.<$> ( x+                            Data..@? "DBClusters"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBCluster")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBClusters where+  hashWithSalt _salt DescribeDBClusters' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBClusters where+  rnf DescribeDBClusters' {..} =+    Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBClusters where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBClusters where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBClusters where+  toQuery DescribeDBClusters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBClusters" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBClustersResponse' smart constructor.+data DescribeDBClustersResponse = DescribeDBClustersResponse'+  { -- | Contains a list of DB clusters for the user.+    dbClusters :: Prelude.Maybe [DBCluster],+    -- | A pagination token that can be used in a subsequent DescribeDBClusters+    -- request.+    marker :: 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 'DescribeDBClustersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusters', 'describeDBClustersResponse_dbClusters' - Contains a list of DB clusters for the user.+--+-- 'marker', 'describeDBClustersResponse_marker' - A pagination token that can be used in a subsequent DescribeDBClusters+-- request.+--+-- 'httpStatus', 'describeDBClustersResponse_httpStatus' - The response's http status code.+newDescribeDBClustersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBClustersResponse+newDescribeDBClustersResponse pHttpStatus_ =+  DescribeDBClustersResponse'+    { dbClusters =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Contains a list of DB clusters for the user.+describeDBClustersResponse_dbClusters :: Lens.Lens' DescribeDBClustersResponse (Prelude.Maybe [DBCluster])+describeDBClustersResponse_dbClusters = Lens.lens (\DescribeDBClustersResponse' {dbClusters} -> dbClusters) (\s@DescribeDBClustersResponse' {} a -> s {dbClusters = a} :: DescribeDBClustersResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent DescribeDBClusters+-- request.+describeDBClustersResponse_marker :: Lens.Lens' DescribeDBClustersResponse (Prelude.Maybe Prelude.Text)+describeDBClustersResponse_marker = Lens.lens (\DescribeDBClustersResponse' {marker} -> marker) (\s@DescribeDBClustersResponse' {} a -> s {marker = a} :: DescribeDBClustersResponse)++-- | The response's http status code.+describeDBClustersResponse_httpStatus :: Lens.Lens' DescribeDBClustersResponse Prelude.Int+describeDBClustersResponse_httpStatus = Lens.lens (\DescribeDBClustersResponse' {httpStatus} -> httpStatus) (\s@DescribeDBClustersResponse' {} a -> s {httpStatus = a} :: DescribeDBClustersResponse)++instance Prelude.NFData DescribeDBClustersResponse where+  rnf DescribeDBClustersResponse' {..} =+    Prelude.rnf dbClusters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBEngineVersions.hs view
@@ -0,0 +1,378 @@+{-# 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.Neptune.DescribeDBEngineVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of the available DB engines.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBEngineVersions+  ( -- * Creating a Request+    DescribeDBEngineVersions (..),+    newDescribeDBEngineVersions,++    -- * Request Lenses+    describeDBEngineVersions_dbParameterGroupFamily,+    describeDBEngineVersions_defaultOnly,+    describeDBEngineVersions_engine,+    describeDBEngineVersions_engineVersion,+    describeDBEngineVersions_filters,+    describeDBEngineVersions_listSupportedCharacterSets,+    describeDBEngineVersions_listSupportedTimezones,+    describeDBEngineVersions_marker,+    describeDBEngineVersions_maxRecords,++    -- * Destructuring the Response+    DescribeDBEngineVersionsResponse (..),+    newDescribeDBEngineVersionsResponse,++    -- * Response Lenses+    describeDBEngineVersionsResponse_dbEngineVersions,+    describeDBEngineVersionsResponse_marker,+    describeDBEngineVersionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBEngineVersions' smart constructor.+data DescribeDBEngineVersions = DescribeDBEngineVersions'+  { -- | The name of a specific DB parameter group family to return details for.+    --+    -- Constraints:+    --+    -- -   If supplied, must match an existing DBParameterGroupFamily.+    dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,+    -- | Indicates that only the default version of the specified engine or+    -- engine and major version combination is returned.+    defaultOnly :: Prelude.Maybe Prelude.Bool,+    -- | The database engine to return.+    engine :: Prelude.Maybe Prelude.Text,+    -- | The database engine version to return.+    --+    -- Example: @5.1.49@+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | Not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | If this parameter is specified and the requested engine supports the+    -- @CharacterSetName@ parameter for @CreateDBInstance@, the response+    -- includes a list of supported character sets for each engine version.+    listSupportedCharacterSets :: Prelude.Maybe Prelude.Bool,+    -- | If this parameter is specified and the requested engine supports the+    -- @TimeZone@ parameter for @CreateDBInstance@, the response includes a+    -- list of supported time zones for each engine version.+    listSupportedTimezones :: Prelude.Maybe Prelude.Bool,+    -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more than+    -- the @MaxRecords@ value is available, a pagination token called a marker+    -- is included in the response so that the following results can be+    -- retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBEngineVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupFamily', 'describeDBEngineVersions_dbParameterGroupFamily' - The name of a specific DB parameter group family to return details for.+--+-- Constraints:+--+-- -   If supplied, must match an existing DBParameterGroupFamily.+--+-- 'defaultOnly', 'describeDBEngineVersions_defaultOnly' - Indicates that only the default version of the specified engine or+-- engine and major version combination is returned.+--+-- 'engine', 'describeDBEngineVersions_engine' - The database engine to return.+--+-- 'engineVersion', 'describeDBEngineVersions_engineVersion' - The database engine version to return.+--+-- Example: @5.1.49@+--+-- 'filters', 'describeDBEngineVersions_filters' - Not currently supported.+--+-- 'listSupportedCharacterSets', 'describeDBEngineVersions_listSupportedCharacterSets' - If this parameter is specified and the requested engine supports the+-- @CharacterSetName@ parameter for @CreateDBInstance@, the response+-- includes a list of supported character sets for each engine version.+--+-- 'listSupportedTimezones', 'describeDBEngineVersions_listSupportedTimezones' - If this parameter is specified and the requested engine supports the+-- @TimeZone@ parameter for @CreateDBInstance@, the response includes a+-- list of supported time zones for each engine version.+--+-- 'marker', 'describeDBEngineVersions_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBEngineVersions_maxRecords' - The maximum number of records to include in the response. If more than+-- the @MaxRecords@ value is available, a pagination token called a marker+-- is included in the response so that the following results can be+-- retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBEngineVersions ::+  DescribeDBEngineVersions+newDescribeDBEngineVersions =+  DescribeDBEngineVersions'+    { dbParameterGroupFamily =+        Prelude.Nothing,+      defaultOnly = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      filters = Prelude.Nothing,+      listSupportedCharacterSets = Prelude.Nothing,+      listSupportedTimezones = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The name of a specific DB parameter group family to return details for.+--+-- Constraints:+--+-- -   If supplied, must match an existing DBParameterGroupFamily.+describeDBEngineVersions_dbParameterGroupFamily :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)+describeDBEngineVersions_dbParameterGroupFamily = Lens.lens (\DescribeDBEngineVersions' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DescribeDBEngineVersions' {} a -> s {dbParameterGroupFamily = a} :: DescribeDBEngineVersions)++-- | Indicates that only the default version of the specified engine or+-- engine and major version combination is returned.+describeDBEngineVersions_defaultOnly :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)+describeDBEngineVersions_defaultOnly = Lens.lens (\DescribeDBEngineVersions' {defaultOnly} -> defaultOnly) (\s@DescribeDBEngineVersions' {} a -> s {defaultOnly = a} :: DescribeDBEngineVersions)++-- | The database engine to return.+describeDBEngineVersions_engine :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)+describeDBEngineVersions_engine = Lens.lens (\DescribeDBEngineVersions' {engine} -> engine) (\s@DescribeDBEngineVersions' {} a -> s {engine = a} :: DescribeDBEngineVersions)++-- | The database engine version to return.+--+-- Example: @5.1.49@+describeDBEngineVersions_engineVersion :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)+describeDBEngineVersions_engineVersion = Lens.lens (\DescribeDBEngineVersions' {engineVersion} -> engineVersion) (\s@DescribeDBEngineVersions' {} a -> s {engineVersion = a} :: DescribeDBEngineVersions)++-- | Not currently supported.+describeDBEngineVersions_filters :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe [Filter])+describeDBEngineVersions_filters = Lens.lens (\DescribeDBEngineVersions' {filters} -> filters) (\s@DescribeDBEngineVersions' {} a -> s {filters = a} :: DescribeDBEngineVersions) Prelude.. Lens.mapping Lens.coerced++-- | If this parameter is specified and the requested engine supports the+-- @CharacterSetName@ parameter for @CreateDBInstance@, the response+-- includes a list of supported character sets for each engine version.+describeDBEngineVersions_listSupportedCharacterSets :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)+describeDBEngineVersions_listSupportedCharacterSets = Lens.lens (\DescribeDBEngineVersions' {listSupportedCharacterSets} -> listSupportedCharacterSets) (\s@DescribeDBEngineVersions' {} a -> s {listSupportedCharacterSets = a} :: DescribeDBEngineVersions)++-- | If this parameter is specified and the requested engine supports the+-- @TimeZone@ parameter for @CreateDBInstance@, the response includes a+-- list of supported time zones for each engine version.+describeDBEngineVersions_listSupportedTimezones :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)+describeDBEngineVersions_listSupportedTimezones = Lens.lens (\DescribeDBEngineVersions' {listSupportedTimezones} -> listSupportedTimezones) (\s@DescribeDBEngineVersions' {} a -> s {listSupportedTimezones = a} :: DescribeDBEngineVersions)++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+describeDBEngineVersions_marker :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)+describeDBEngineVersions_marker = Lens.lens (\DescribeDBEngineVersions' {marker} -> marker) (\s@DescribeDBEngineVersions' {} a -> s {marker = a} :: DescribeDBEngineVersions)++-- | The maximum number of records to include in the response. If more than+-- the @MaxRecords@ value is available, a pagination token called a marker+-- is included in the response so that the following results can be+-- retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBEngineVersions_maxRecords :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Int)+describeDBEngineVersions_maxRecords = Lens.lens (\DescribeDBEngineVersions' {maxRecords} -> maxRecords) (\s@DescribeDBEngineVersions' {} a -> s {maxRecords = a} :: DescribeDBEngineVersions)++instance Core.AWSPager DescribeDBEngineVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBEngineVersionsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBEngineVersionsResponse_dbEngineVersions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBEngineVersions_marker+          Lens..~ rs+          Lens.^? describeDBEngineVersionsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBEngineVersions where+  type+    AWSResponse DescribeDBEngineVersions =+      DescribeDBEngineVersionsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBEngineVersionsResult"+      ( \s h x ->+          DescribeDBEngineVersionsResponse'+            Prelude.<$> ( x+                            Data..@? "DBEngineVersions"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBEngineVersion")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBEngineVersions where+  hashWithSalt _salt DescribeDBEngineVersions' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` defaultOnly+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` listSupportedCharacterSets+      `Prelude.hashWithSalt` listSupportedTimezones+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBEngineVersions where+  rnf DescribeDBEngineVersions' {..} =+    Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf defaultOnly+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf listSupportedCharacterSets+      `Prelude.seq` Prelude.rnf listSupportedTimezones+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBEngineVersions where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBEngineVersions where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBEngineVersions where+  toQuery DescribeDBEngineVersions' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBEngineVersions" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBParameterGroupFamily"+          Data.=: dbParameterGroupFamily,+        "DefaultOnly" Data.=: defaultOnly,+        "Engine" Data.=: engine,+        "EngineVersion" Data.=: engineVersion,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "ListSupportedCharacterSets"+          Data.=: listSupportedCharacterSets,+        "ListSupportedTimezones"+          Data.=: listSupportedTimezones,+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBEngineVersionsResponse' smart constructor.+data DescribeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse'+  { -- | A list of @DBEngineVersion@ elements.+    dbEngineVersions :: Prelude.Maybe [DBEngineVersion],+    -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@.+    marker :: 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 'DescribeDBEngineVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbEngineVersions', 'describeDBEngineVersionsResponse_dbEngineVersions' - A list of @DBEngineVersion@ elements.+--+-- 'marker', 'describeDBEngineVersionsResponse_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBEngineVersionsResponse_httpStatus' - The response's http status code.+newDescribeDBEngineVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBEngineVersionsResponse+newDescribeDBEngineVersionsResponse pHttpStatus_ =+  DescribeDBEngineVersionsResponse'+    { dbEngineVersions =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of @DBEngineVersion@ elements.+describeDBEngineVersionsResponse_dbEngineVersions :: Lens.Lens' DescribeDBEngineVersionsResponse (Prelude.Maybe [DBEngineVersion])+describeDBEngineVersionsResponse_dbEngineVersions = Lens.lens (\DescribeDBEngineVersionsResponse' {dbEngineVersions} -> dbEngineVersions) (\s@DescribeDBEngineVersionsResponse' {} a -> s {dbEngineVersions = a} :: DescribeDBEngineVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+describeDBEngineVersionsResponse_marker :: Lens.Lens' DescribeDBEngineVersionsResponse (Prelude.Maybe Prelude.Text)+describeDBEngineVersionsResponse_marker = Lens.lens (\DescribeDBEngineVersionsResponse' {marker} -> marker) (\s@DescribeDBEngineVersionsResponse' {} a -> s {marker = a} :: DescribeDBEngineVersionsResponse)++-- | The response's http status code.+describeDBEngineVersionsResponse_httpStatus :: Lens.Lens' DescribeDBEngineVersionsResponse Prelude.Int+describeDBEngineVersionsResponse_httpStatus = Lens.lens (\DescribeDBEngineVersionsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBEngineVersionsResponse' {} a -> s {httpStatus = a} :: DescribeDBEngineVersionsResponse)++instance+  Prelude.NFData+    DescribeDBEngineVersionsResponse+  where+  rnf DescribeDBEngineVersionsResponse' {..} =+    Prelude.rnf dbEngineVersions+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBInstances.hs view
@@ -0,0 +1,341 @@+{-# 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.Neptune.DescribeDBInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about provisioned instances, and supports+-- pagination.+--+-- This operation can also return information for Amazon RDS instances and+-- Amazon DocDB instances.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBInstances+  ( -- * Creating a Request+    DescribeDBInstances (..),+    newDescribeDBInstances,++    -- * Request Lenses+    describeDBInstances_dbInstanceIdentifier,+    describeDBInstances_filters,+    describeDBInstances_marker,+    describeDBInstances_maxRecords,++    -- * Destructuring the Response+    DescribeDBInstancesResponse (..),+    newDescribeDBInstancesResponse,++    -- * Response Lenses+    describeDBInstancesResponse_dbInstances,+    describeDBInstancesResponse_marker,+    describeDBInstancesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBInstances' smart constructor.+data DescribeDBInstances = DescribeDBInstances'+  { -- | The user-supplied instance identifier. If this parameter is specified,+    -- information from only the specific DB instance is returned. This+    -- parameter isn\'t case-sensitive.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the identifier of an existing DBInstance.+    dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A filter that specifies one or more DB instances to describe.+    --+    -- Supported filters:+    --+    -- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+    --     Amazon Resource Names (ARNs). The results list will only include+    --     information about the DB instances associated with the DB clusters+    --     identified by these ARNs.+    --+    -- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+    --     the results list to DB instances created by that engine.+    --+    -- For example, to invoke this API from the Amazon CLI and filter so that+    -- only Neptune DB instances are returned, you could use the following+    -- command:+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBInstances@ request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstanceIdentifier', 'describeDBInstances_dbInstanceIdentifier' - The user-supplied instance identifier. If this parameter is specified,+-- information from only the specific DB instance is returned. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing DBInstance.+--+-- 'filters', 'describeDBInstances_filters' - A filter that specifies one or more DB instances to describe.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     information about the DB instances associated with the DB clusters+--     identified by these ARNs.+--+-- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+--     the results list to DB instances created by that engine.+--+-- For example, to invoke this API from the Amazon CLI and filter so that+-- only Neptune DB instances are returned, you could use the following+-- command:+--+-- 'marker', 'describeDBInstances_marker' - An optional pagination token provided by a previous+-- @DescribeDBInstances@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBInstances_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBInstances ::+  DescribeDBInstances+newDescribeDBInstances =+  DescribeDBInstances'+    { dbInstanceIdentifier =+        Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The user-supplied instance identifier. If this parameter is specified,+-- information from only the specific DB instance is returned. This+-- parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   If supplied, must match the identifier of an existing DBInstance.+describeDBInstances_dbInstanceIdentifier :: Lens.Lens' DescribeDBInstances (Prelude.Maybe Prelude.Text)+describeDBInstances_dbInstanceIdentifier = Lens.lens (\DescribeDBInstances' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@DescribeDBInstances' {} a -> s {dbInstanceIdentifier = a} :: DescribeDBInstances)++-- | A filter that specifies one or more DB instances to describe.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     information about the DB instances associated with the DB clusters+--     identified by these ARNs.+--+-- -   @engine@ - Accepts an engine name (such as @neptune@), and restricts+--     the results list to DB instances created by that engine.+--+-- For example, to invoke this API from the Amazon CLI and filter so that+-- only Neptune DB instances are returned, you could use the following+-- command:+describeDBInstances_filters :: Lens.Lens' DescribeDBInstances (Prelude.Maybe [Filter])+describeDBInstances_filters = Lens.lens (\DescribeDBInstances' {filters} -> filters) (\s@DescribeDBInstances' {} a -> s {filters = a} :: DescribeDBInstances) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBInstances@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBInstances_marker :: Lens.Lens' DescribeDBInstances (Prelude.Maybe Prelude.Text)+describeDBInstances_marker = Lens.lens (\DescribeDBInstances' {marker} -> marker) (\s@DescribeDBInstances' {} a -> s {marker = a} :: DescribeDBInstances)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBInstances_maxRecords :: Lens.Lens' DescribeDBInstances (Prelude.Maybe Prelude.Int)+describeDBInstances_maxRecords = Lens.lens (\DescribeDBInstances' {maxRecords} -> maxRecords) (\s@DescribeDBInstances' {} a -> s {maxRecords = a} :: DescribeDBInstances)++instance Core.AWSPager DescribeDBInstances where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBInstancesResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBInstancesResponse_dbInstances+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBInstances_marker+          Lens..~ rs+          Lens.^? describeDBInstancesResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBInstances where+  type+    AWSResponse DescribeDBInstances =+      DescribeDBInstancesResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBInstancesResult"+      ( \s h x ->+          DescribeDBInstancesResponse'+            Prelude.<$> ( x+                            Data..@? "DBInstances"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBInstance")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBInstances where+  hashWithSalt _salt DescribeDBInstances' {..} =+    _salt+      `Prelude.hashWithSalt` dbInstanceIdentifier+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBInstances where+  rnf DescribeDBInstances' {..} =+    Prelude.rnf dbInstanceIdentifier+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBInstances where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBInstances where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBInstances where+  toQuery DescribeDBInstances' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBInstances" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBInstancesResponse' smart constructor.+data DescribeDBInstancesResponse = DescribeDBInstancesResponse'+  { -- | A list of DBInstance instances.+    dbInstances :: Prelude.Maybe [DBInstance],+    -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@ .+    marker :: 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 'DescribeDBInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstances', 'describeDBInstancesResponse_dbInstances' - A list of DBInstance instances.+--+-- 'marker', 'describeDBInstancesResponse_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@ .+--+-- 'httpStatus', 'describeDBInstancesResponse_httpStatus' - The response's http status code.+newDescribeDBInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBInstancesResponse+newDescribeDBInstancesResponse pHttpStatus_ =+  DescribeDBInstancesResponse'+    { dbInstances =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of DBInstance instances.+describeDBInstancesResponse_dbInstances :: Lens.Lens' DescribeDBInstancesResponse (Prelude.Maybe [DBInstance])+describeDBInstancesResponse_dbInstances = Lens.lens (\DescribeDBInstancesResponse' {dbInstances} -> dbInstances) (\s@DescribeDBInstancesResponse' {} a -> s {dbInstances = a} :: DescribeDBInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@ .+describeDBInstancesResponse_marker :: Lens.Lens' DescribeDBInstancesResponse (Prelude.Maybe Prelude.Text)+describeDBInstancesResponse_marker = Lens.lens (\DescribeDBInstancesResponse' {marker} -> marker) (\s@DescribeDBInstancesResponse' {} a -> s {marker = a} :: DescribeDBInstancesResponse)++-- | The response's http status code.+describeDBInstancesResponse_httpStatus :: Lens.Lens' DescribeDBInstancesResponse Prelude.Int+describeDBInstancesResponse_httpStatus = Lens.lens (\DescribeDBInstancesResponse' {httpStatus} -> httpStatus) (\s@DescribeDBInstancesResponse' {} a -> s {httpStatus = a} :: DescribeDBInstancesResponse)++instance Prelude.NFData DescribeDBInstancesResponse where+  rnf DescribeDBInstancesResponse' {..} =+    Prelude.rnf dbInstances+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBParameterGroups.hs view
@@ -0,0 +1,297 @@+{-# 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.Neptune.DescribeDBParameterGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of @DBParameterGroup@ descriptions. If a+-- @DBParameterGroupName@ is specified, the list will contain only the+-- description of the specified DB parameter group.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBParameterGroups+  ( -- * Creating a Request+    DescribeDBParameterGroups (..),+    newDescribeDBParameterGroups,++    -- * Request Lenses+    describeDBParameterGroups_dbParameterGroupName,+    describeDBParameterGroups_filters,+    describeDBParameterGroups_marker,+    describeDBParameterGroups_maxRecords,++    -- * Destructuring the Response+    DescribeDBParameterGroupsResponse (..),+    newDescribeDBParameterGroupsResponse,++    -- * Response Lenses+    describeDBParameterGroupsResponse_dbParameterGroups,+    describeDBParameterGroupsResponse_marker,+    describeDBParameterGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBParameterGroups' smart constructor.+data DescribeDBParameterGroups = DescribeDBParameterGroups'+  { -- | The name of a specific DB parameter group to return details for.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBParameterGroups@ request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBParameterGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupName', 'describeDBParameterGroups_dbParameterGroupName' - The name of a specific DB parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+--+-- 'filters', 'describeDBParameterGroups_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeDBParameterGroups_marker' - An optional pagination token provided by a previous+-- @DescribeDBParameterGroups@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBParameterGroups_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBParameterGroups ::+  DescribeDBParameterGroups+newDescribeDBParameterGroups =+  DescribeDBParameterGroups'+    { dbParameterGroupName =+        Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The name of a specific DB parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+describeDBParameterGroups_dbParameterGroupName :: Lens.Lens' DescribeDBParameterGroups (Prelude.Maybe Prelude.Text)+describeDBParameterGroups_dbParameterGroupName = Lens.lens (\DescribeDBParameterGroups' {dbParameterGroupName} -> dbParameterGroupName) (\s@DescribeDBParameterGroups' {} a -> s {dbParameterGroupName = a} :: DescribeDBParameterGroups)++-- | This parameter is not currently supported.+describeDBParameterGroups_filters :: Lens.Lens' DescribeDBParameterGroups (Prelude.Maybe [Filter])+describeDBParameterGroups_filters = Lens.lens (\DescribeDBParameterGroups' {filters} -> filters) (\s@DescribeDBParameterGroups' {} a -> s {filters = a} :: DescribeDBParameterGroups) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBParameterGroups@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBParameterGroups_marker :: Lens.Lens' DescribeDBParameterGroups (Prelude.Maybe Prelude.Text)+describeDBParameterGroups_marker = Lens.lens (\DescribeDBParameterGroups' {marker} -> marker) (\s@DescribeDBParameterGroups' {} a -> s {marker = a} :: DescribeDBParameterGroups)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBParameterGroups_maxRecords :: Lens.Lens' DescribeDBParameterGroups (Prelude.Maybe Prelude.Int)+describeDBParameterGroups_maxRecords = Lens.lens (\DescribeDBParameterGroups' {maxRecords} -> maxRecords) (\s@DescribeDBParameterGroups' {} a -> s {maxRecords = a} :: DescribeDBParameterGroups)++instance Core.AWSPager DescribeDBParameterGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBParameterGroupsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBParameterGroupsResponse_dbParameterGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBParameterGroups_marker+          Lens..~ rs+          Lens.^? describeDBParameterGroupsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBParameterGroups where+  type+    AWSResponse DescribeDBParameterGroups =+      DescribeDBParameterGroupsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBParameterGroupsResult"+      ( \s h x ->+          DescribeDBParameterGroupsResponse'+            Prelude.<$> ( x+                            Data..@? "DBParameterGroups"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBParameterGroup")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBParameterGroups where+  hashWithSalt _salt DescribeDBParameterGroups' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBParameterGroups where+  rnf DescribeDBParameterGroups' {..} =+    Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBParameterGroups where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBParameterGroups where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBParameterGroups where+  toQuery DescribeDBParameterGroups' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBParameterGroups" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBParameterGroupName" Data.=: dbParameterGroupName,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBParameterGroupsResponse' smart constructor.+data DescribeDBParameterGroupsResponse = DescribeDBParameterGroupsResponse'+  { -- | A list of DBParameterGroup instances.+    dbParameterGroups :: Prelude.Maybe [DBParameterGroup],+    -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@.+    marker :: 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 'DescribeDBParameterGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroups', 'describeDBParameterGroupsResponse_dbParameterGroups' - A list of DBParameterGroup instances.+--+-- 'marker', 'describeDBParameterGroupsResponse_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBParameterGroupsResponse_httpStatus' - The response's http status code.+newDescribeDBParameterGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBParameterGroupsResponse+newDescribeDBParameterGroupsResponse pHttpStatus_ =+  DescribeDBParameterGroupsResponse'+    { dbParameterGroups =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of DBParameterGroup instances.+describeDBParameterGroupsResponse_dbParameterGroups :: Lens.Lens' DescribeDBParameterGroupsResponse (Prelude.Maybe [DBParameterGroup])+describeDBParameterGroupsResponse_dbParameterGroups = Lens.lens (\DescribeDBParameterGroupsResponse' {dbParameterGroups} -> dbParameterGroups) (\s@DescribeDBParameterGroupsResponse' {} a -> s {dbParameterGroups = a} :: DescribeDBParameterGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+describeDBParameterGroupsResponse_marker :: Lens.Lens' DescribeDBParameterGroupsResponse (Prelude.Maybe Prelude.Text)+describeDBParameterGroupsResponse_marker = Lens.lens (\DescribeDBParameterGroupsResponse' {marker} -> marker) (\s@DescribeDBParameterGroupsResponse' {} a -> s {marker = a} :: DescribeDBParameterGroupsResponse)++-- | The response's http status code.+describeDBParameterGroupsResponse_httpStatus :: Lens.Lens' DescribeDBParameterGroupsResponse Prelude.Int+describeDBParameterGroupsResponse_httpStatus = Lens.lens (\DescribeDBParameterGroupsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBParameterGroupsResponse' {} a -> s {httpStatus = a} :: DescribeDBParameterGroupsResponse)++instance+  Prelude.NFData+    DescribeDBParameterGroupsResponse+  where+  rnf DescribeDBParameterGroupsResponse' {..} =+    Prelude.rnf dbParameterGroups+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBParameters.hs view
@@ -0,0 +1,315 @@+{-# 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.Neptune.DescribeDBParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the detailed parameter list for a particular DB parameter group.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBParameters+  ( -- * Creating a Request+    DescribeDBParameters (..),+    newDescribeDBParameters,++    -- * Request Lenses+    describeDBParameters_filters,+    describeDBParameters_marker,+    describeDBParameters_maxRecords,+    describeDBParameters_source,+    describeDBParameters_dbParameterGroupName,++    -- * Destructuring the Response+    DescribeDBParametersResponse (..),+    newDescribeDBParametersResponse,++    -- * Response Lenses+    describeDBParametersResponse_marker,+    describeDBParametersResponse_parameters,+    describeDBParametersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBParameters' smart constructor.+data DescribeDBParameters = DescribeDBParameters'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeDBParameters@ request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The parameter types to return.+    --+    -- Default: All parameter types returned+    --+    -- Valid Values: @user | system | engine-default@+    source :: Prelude.Maybe Prelude.Text,+    -- | The name of a specific DB parameter group to return details for.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing DBParameterGroup.+    dbParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeDBParameters_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeDBParameters_marker' - An optional pagination token provided by a previous+-- @DescribeDBParameters@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBParameters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'source', 'describeDBParameters_source' - The parameter types to return.+--+-- Default: All parameter types returned+--+-- Valid Values: @user | system | engine-default@+--+-- 'dbParameterGroupName', 'describeDBParameters_dbParameterGroupName' - The name of a specific DB parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing DBParameterGroup.+newDescribeDBParameters ::+  -- | 'dbParameterGroupName'+  Prelude.Text ->+  DescribeDBParameters+newDescribeDBParameters pDBParameterGroupName_ =+  DescribeDBParameters'+    { filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      source = Prelude.Nothing,+      dbParameterGroupName = pDBParameterGroupName_+    }++-- | This parameter is not currently supported.+describeDBParameters_filters :: Lens.Lens' DescribeDBParameters (Prelude.Maybe [Filter])+describeDBParameters_filters = Lens.lens (\DescribeDBParameters' {filters} -> filters) (\s@DescribeDBParameters' {} a -> s {filters = a} :: DescribeDBParameters) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeDBParameters@ request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBParameters_marker :: Lens.Lens' DescribeDBParameters (Prelude.Maybe Prelude.Text)+describeDBParameters_marker = Lens.lens (\DescribeDBParameters' {marker} -> marker) (\s@DescribeDBParameters' {} a -> s {marker = a} :: DescribeDBParameters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBParameters_maxRecords :: Lens.Lens' DescribeDBParameters (Prelude.Maybe Prelude.Int)+describeDBParameters_maxRecords = Lens.lens (\DescribeDBParameters' {maxRecords} -> maxRecords) (\s@DescribeDBParameters' {} a -> s {maxRecords = a} :: DescribeDBParameters)++-- | The parameter types to return.+--+-- Default: All parameter types returned+--+-- Valid Values: @user | system | engine-default@+describeDBParameters_source :: Lens.Lens' DescribeDBParameters (Prelude.Maybe Prelude.Text)+describeDBParameters_source = Lens.lens (\DescribeDBParameters' {source} -> source) (\s@DescribeDBParameters' {} a -> s {source = a} :: DescribeDBParameters)++-- | The name of a specific DB parameter group to return details for.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing DBParameterGroup.+describeDBParameters_dbParameterGroupName :: Lens.Lens' DescribeDBParameters Prelude.Text+describeDBParameters_dbParameterGroupName = Lens.lens (\DescribeDBParameters' {dbParameterGroupName} -> dbParameterGroupName) (\s@DescribeDBParameters' {} a -> s {dbParameterGroupName = a} :: DescribeDBParameters)++instance Core.AWSPager DescribeDBParameters where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBParametersResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBParametersResponse_parameters+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBParameters_marker+          Lens..~ rs+          Lens.^? describeDBParametersResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBParameters where+  type+    AWSResponse DescribeDBParameters =+      DescribeDBParametersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBParametersResult"+      ( \s h x ->+          DescribeDBParametersResponse'+            Prelude.<$> (x Data..@? "Marker")+            Prelude.<*> ( x+                            Data..@? "Parameters"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Parameter")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBParameters where+  hashWithSalt _salt DescribeDBParameters' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` dbParameterGroupName++instance Prelude.NFData DescribeDBParameters where+  rnf DescribeDBParameters' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf dbParameterGroupName++instance Data.ToHeaders DescribeDBParameters where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBParameters where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBParameters where+  toQuery DescribeDBParameters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBParameters" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "Source" Data.=: source,+        "DBParameterGroupName" Data.=: dbParameterGroupName+      ]++-- | /See:/ 'newDescribeDBParametersResponse' smart constructor.+data DescribeDBParametersResponse = DescribeDBParametersResponse'+  { -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | A list of Parameter values.+    parameters :: Prelude.Maybe [Parameter],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBParametersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'marker', 'describeDBParametersResponse_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+--+-- 'parameters', 'describeDBParametersResponse_parameters' - A list of Parameter values.+--+-- 'httpStatus', 'describeDBParametersResponse_httpStatus' - The response's http status code.+newDescribeDBParametersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBParametersResponse+newDescribeDBParametersResponse pHttpStatus_ =+  DescribeDBParametersResponse'+    { marker =+        Prelude.Nothing,+      parameters = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+describeDBParametersResponse_marker :: Lens.Lens' DescribeDBParametersResponse (Prelude.Maybe Prelude.Text)+describeDBParametersResponse_marker = Lens.lens (\DescribeDBParametersResponse' {marker} -> marker) (\s@DescribeDBParametersResponse' {} a -> s {marker = a} :: DescribeDBParametersResponse)++-- | A list of Parameter values.+describeDBParametersResponse_parameters :: Lens.Lens' DescribeDBParametersResponse (Prelude.Maybe [Parameter])+describeDBParametersResponse_parameters = Lens.lens (\DescribeDBParametersResponse' {parameters} -> parameters) (\s@DescribeDBParametersResponse' {} a -> s {parameters = a} :: DescribeDBParametersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeDBParametersResponse_httpStatus :: Lens.Lens' DescribeDBParametersResponse Prelude.Int+describeDBParametersResponse_httpStatus = Lens.lens (\DescribeDBParametersResponse' {httpStatus} -> httpStatus) (\s@DescribeDBParametersResponse' {} a -> s {httpStatus = a} :: DescribeDBParametersResponse)++instance Prelude.NFData DescribeDBParametersResponse where+  rnf DescribeDBParametersResponse' {..} =+    Prelude.rnf marker+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeDBSubnetGroups.hs view
@@ -0,0 +1,285 @@+{-# 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.Neptune.DescribeDBSubnetGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is+-- specified, the list will contain only the descriptions of the specified+-- DBSubnetGroup.+--+-- For an overview of CIDR ranges, go to the+-- <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Wikipedia Tutorial>.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeDBSubnetGroups+  ( -- * Creating a Request+    DescribeDBSubnetGroups (..),+    newDescribeDBSubnetGroups,++    -- * Request Lenses+    describeDBSubnetGroups_dbSubnetGroupName,+    describeDBSubnetGroups_filters,+    describeDBSubnetGroups_marker,+    describeDBSubnetGroups_maxRecords,++    -- * Destructuring the Response+    DescribeDBSubnetGroupsResponse (..),+    newDescribeDBSubnetGroupsResponse,++    -- * Response Lenses+    describeDBSubnetGroupsResponse_dbSubnetGroups,+    describeDBSubnetGroupsResponse_marker,+    describeDBSubnetGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDBSubnetGroups' smart constructor.+data DescribeDBSubnetGroups = DescribeDBSubnetGroups'+  { -- | The name of the DB subnet group to return details for.+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- DescribeDBSubnetGroups request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDBSubnetGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroupName', 'describeDBSubnetGroups_dbSubnetGroupName' - The name of the DB subnet group to return details for.+--+-- 'filters', 'describeDBSubnetGroups_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeDBSubnetGroups_marker' - An optional pagination token provided by a previous+-- DescribeDBSubnetGroups request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+--+-- 'maxRecords', 'describeDBSubnetGroups_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+newDescribeDBSubnetGroups ::+  DescribeDBSubnetGroups+newDescribeDBSubnetGroups =+  DescribeDBSubnetGroups'+    { dbSubnetGroupName =+        Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The name of the DB subnet group to return details for.+describeDBSubnetGroups_dbSubnetGroupName :: Lens.Lens' DescribeDBSubnetGroups (Prelude.Maybe Prelude.Text)+describeDBSubnetGroups_dbSubnetGroupName = Lens.lens (\DescribeDBSubnetGroups' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@DescribeDBSubnetGroups' {} a -> s {dbSubnetGroupName = a} :: DescribeDBSubnetGroups)++-- | This parameter is not currently supported.+describeDBSubnetGroups_filters :: Lens.Lens' DescribeDBSubnetGroups (Prelude.Maybe [Filter])+describeDBSubnetGroups_filters = Lens.lens (\DescribeDBSubnetGroups' {filters} -> filters) (\s@DescribeDBSubnetGroups' {} a -> s {filters = a} :: DescribeDBSubnetGroups) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- DescribeDBSubnetGroups request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@.+describeDBSubnetGroups_marker :: Lens.Lens' DescribeDBSubnetGroups (Prelude.Maybe Prelude.Text)+describeDBSubnetGroups_marker = Lens.lens (\DescribeDBSubnetGroups' {marker} -> marker) (\s@DescribeDBSubnetGroups' {} a -> s {marker = a} :: DescribeDBSubnetGroups)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeDBSubnetGroups_maxRecords :: Lens.Lens' DescribeDBSubnetGroups (Prelude.Maybe Prelude.Int)+describeDBSubnetGroups_maxRecords = Lens.lens (\DescribeDBSubnetGroups' {maxRecords} -> maxRecords) (\s@DescribeDBSubnetGroups' {} a -> s {maxRecords = a} :: DescribeDBSubnetGroups)++instance Core.AWSPager DescribeDBSubnetGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeDBSubnetGroupsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeDBSubnetGroupsResponse_dbSubnetGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeDBSubnetGroups_marker+          Lens..~ rs+          Lens.^? describeDBSubnetGroupsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeDBSubnetGroups where+  type+    AWSResponse DescribeDBSubnetGroups =+      DescribeDBSubnetGroupsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeDBSubnetGroupsResult"+      ( \s h x ->+          DescribeDBSubnetGroupsResponse'+            Prelude.<$> ( x+                            Data..@? "DBSubnetGroups"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "DBSubnetGroup")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDBSubnetGroups where+  hashWithSalt _salt DescribeDBSubnetGroups' {..} =+    _salt+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeDBSubnetGroups where+  rnf DescribeDBSubnetGroups' {..} =+    Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeDBSubnetGroups where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDBSubnetGroups where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDBSubnetGroups where+  toQuery DescribeDBSubnetGroups' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeDBSubnetGroups" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeDBSubnetGroupsResponse' smart constructor.+data DescribeDBSubnetGroupsResponse = DescribeDBSubnetGroupsResponse'+  { -- | A list of DBSubnetGroup instances.+    dbSubnetGroups :: Prelude.Maybe [DBSubnetGroup],+    -- | An optional pagination token provided by a previous request. If this+    -- parameter is specified, the response includes only records beyond the+    -- marker, up to the value specified by @MaxRecords@.+    marker :: 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 'DescribeDBSubnetGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroups', 'describeDBSubnetGroupsResponse_dbSubnetGroups' - A list of DBSubnetGroup instances.+--+-- 'marker', 'describeDBSubnetGroupsResponse_marker' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+--+-- 'httpStatus', 'describeDBSubnetGroupsResponse_httpStatus' - The response's http status code.+newDescribeDBSubnetGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDBSubnetGroupsResponse+newDescribeDBSubnetGroupsResponse pHttpStatus_ =+  DescribeDBSubnetGroupsResponse'+    { dbSubnetGroups =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of DBSubnetGroup instances.+describeDBSubnetGroupsResponse_dbSubnetGroups :: Lens.Lens' DescribeDBSubnetGroupsResponse (Prelude.Maybe [DBSubnetGroup])+describeDBSubnetGroupsResponse_dbSubnetGroups = Lens.lens (\DescribeDBSubnetGroupsResponse' {dbSubnetGroups} -> dbSubnetGroups) (\s@DescribeDBSubnetGroupsResponse' {} a -> s {dbSubnetGroups = a} :: DescribeDBSubnetGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by @MaxRecords@.+describeDBSubnetGroupsResponse_marker :: Lens.Lens' DescribeDBSubnetGroupsResponse (Prelude.Maybe Prelude.Text)+describeDBSubnetGroupsResponse_marker = Lens.lens (\DescribeDBSubnetGroupsResponse' {marker} -> marker) (\s@DescribeDBSubnetGroupsResponse' {} a -> s {marker = a} :: DescribeDBSubnetGroupsResponse)++-- | The response's http status code.+describeDBSubnetGroupsResponse_httpStatus :: Lens.Lens' DescribeDBSubnetGroupsResponse Prelude.Int+describeDBSubnetGroupsResponse_httpStatus = Lens.lens (\DescribeDBSubnetGroupsResponse' {httpStatus} -> httpStatus) (\s@DescribeDBSubnetGroupsResponse' {} a -> s {httpStatus = a} :: DescribeDBSubnetGroupsResponse)++instance+  Prelude.NFData+    DescribeDBSubnetGroupsResponse+  where+  rnf DescribeDBSubnetGroupsResponse' {..} =+    Prelude.rnf dbSubnetGroups+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeEngineDefaultClusterParameters.hs view
@@ -0,0 +1,267 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DescribeEngineDefaultClusterParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the default engine and system parameter information for the+-- cluster database engine.+module Amazonka.Neptune.DescribeEngineDefaultClusterParameters+  ( -- * Creating a Request+    DescribeEngineDefaultClusterParameters (..),+    newDescribeEngineDefaultClusterParameters,++    -- * Request Lenses+    describeEngineDefaultClusterParameters_filters,+    describeEngineDefaultClusterParameters_marker,+    describeEngineDefaultClusterParameters_maxRecords,+    describeEngineDefaultClusterParameters_dbParameterGroupFamily,++    -- * Destructuring the Response+    DescribeEngineDefaultClusterParametersResponse (..),+    newDescribeEngineDefaultClusterParametersResponse,++    -- * Response Lenses+    describeEngineDefaultClusterParametersResponse_engineDefaults,+    describeEngineDefaultClusterParametersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEngineDefaultClusterParameters' smart constructor.+data DescribeEngineDefaultClusterParameters = DescribeEngineDefaultClusterParameters'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeEngineDefaultClusterParameters@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The name of the DB cluster parameter group family to return engine+    -- parameter information for.+    dbParameterGroupFamily :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEngineDefaultClusterParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeEngineDefaultClusterParameters_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeEngineDefaultClusterParameters_marker' - An optional pagination token provided by a previous+-- @DescribeEngineDefaultClusterParameters@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeEngineDefaultClusterParameters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'dbParameterGroupFamily', 'describeEngineDefaultClusterParameters_dbParameterGroupFamily' - The name of the DB cluster parameter group family to return engine+-- parameter information for.+newDescribeEngineDefaultClusterParameters ::+  -- | 'dbParameterGroupFamily'+  Prelude.Text ->+  DescribeEngineDefaultClusterParameters+newDescribeEngineDefaultClusterParameters+  pDBParameterGroupFamily_ =+    DescribeEngineDefaultClusterParameters'+      { filters =+          Prelude.Nothing,+        marker = Prelude.Nothing,+        maxRecords = Prelude.Nothing,+        dbParameterGroupFamily =+          pDBParameterGroupFamily_+      }++-- | This parameter is not currently supported.+describeEngineDefaultClusterParameters_filters :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe [Filter])+describeEngineDefaultClusterParameters_filters = Lens.lens (\DescribeEngineDefaultClusterParameters' {filters} -> filters) (\s@DescribeEngineDefaultClusterParameters' {} a -> s {filters = a} :: DescribeEngineDefaultClusterParameters) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeEngineDefaultClusterParameters@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+describeEngineDefaultClusterParameters_marker :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe Prelude.Text)+describeEngineDefaultClusterParameters_marker = Lens.lens (\DescribeEngineDefaultClusterParameters' {marker} -> marker) (\s@DescribeEngineDefaultClusterParameters' {} a -> s {marker = a} :: DescribeEngineDefaultClusterParameters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeEngineDefaultClusterParameters_maxRecords :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe Prelude.Int)+describeEngineDefaultClusterParameters_maxRecords = Lens.lens (\DescribeEngineDefaultClusterParameters' {maxRecords} -> maxRecords) (\s@DescribeEngineDefaultClusterParameters' {} a -> s {maxRecords = a} :: DescribeEngineDefaultClusterParameters)++-- | The name of the DB cluster parameter group family to return engine+-- parameter information for.+describeEngineDefaultClusterParameters_dbParameterGroupFamily :: Lens.Lens' DescribeEngineDefaultClusterParameters Prelude.Text+describeEngineDefaultClusterParameters_dbParameterGroupFamily = Lens.lens (\DescribeEngineDefaultClusterParameters' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DescribeEngineDefaultClusterParameters' {} a -> s {dbParameterGroupFamily = a} :: DescribeEngineDefaultClusterParameters)++instance+  Core.AWSRequest+    DescribeEngineDefaultClusterParameters+  where+  type+    AWSResponse+      DescribeEngineDefaultClusterParameters =+      DescribeEngineDefaultClusterParametersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeEngineDefaultClusterParametersResult"+      ( \s h x ->+          DescribeEngineDefaultClusterParametersResponse'+            Prelude.<$> (x Data..@? "EngineDefaults")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeEngineDefaultClusterParameters+  where+  hashWithSalt+    _salt+    DescribeEngineDefaultClusterParameters' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` marker+        `Prelude.hashWithSalt` maxRecords+        `Prelude.hashWithSalt` dbParameterGroupFamily++instance+  Prelude.NFData+    DescribeEngineDefaultClusterParameters+  where+  rnf DescribeEngineDefaultClusterParameters' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily++instance+  Data.ToHeaders+    DescribeEngineDefaultClusterParameters+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DescribeEngineDefaultClusterParameters+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeEngineDefaultClusterParameters+  where+  toQuery DescribeEngineDefaultClusterParameters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeEngineDefaultClusterParameters" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "DBParameterGroupFamily"+          Data.=: dbParameterGroupFamily+      ]++-- | /See:/ 'newDescribeEngineDefaultClusterParametersResponse' smart constructor.+data DescribeEngineDefaultClusterParametersResponse = DescribeEngineDefaultClusterParametersResponse'+  { engineDefaults :: Prelude.Maybe EngineDefaults,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEngineDefaultClusterParametersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'engineDefaults', 'describeEngineDefaultClusterParametersResponse_engineDefaults' - Undocumented member.+--+-- 'httpStatus', 'describeEngineDefaultClusterParametersResponse_httpStatus' - The response's http status code.+newDescribeEngineDefaultClusterParametersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEngineDefaultClusterParametersResponse+newDescribeEngineDefaultClusterParametersResponse+  pHttpStatus_ =+    DescribeEngineDefaultClusterParametersResponse'+      { engineDefaults =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+describeEngineDefaultClusterParametersResponse_engineDefaults :: Lens.Lens' DescribeEngineDefaultClusterParametersResponse (Prelude.Maybe EngineDefaults)+describeEngineDefaultClusterParametersResponse_engineDefaults = Lens.lens (\DescribeEngineDefaultClusterParametersResponse' {engineDefaults} -> engineDefaults) (\s@DescribeEngineDefaultClusterParametersResponse' {} a -> s {engineDefaults = a} :: DescribeEngineDefaultClusterParametersResponse)++-- | The response's http status code.+describeEngineDefaultClusterParametersResponse_httpStatus :: Lens.Lens' DescribeEngineDefaultClusterParametersResponse Prelude.Int+describeEngineDefaultClusterParametersResponse_httpStatus = Lens.lens (\DescribeEngineDefaultClusterParametersResponse' {httpStatus} -> httpStatus) (\s@DescribeEngineDefaultClusterParametersResponse' {} a -> s {httpStatus = a} :: DescribeEngineDefaultClusterParametersResponse)++instance+  Prelude.NFData+    DescribeEngineDefaultClusterParametersResponse+  where+  rnf+    DescribeEngineDefaultClusterParametersResponse' {..} =+      Prelude.rnf engineDefaults+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeEngineDefaultParameters.hs view
@@ -0,0 +1,289 @@+{-# 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.Neptune.DescribeEngineDefaultParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the default engine and system parameter information for the+-- specified database engine.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeEngineDefaultParameters+  ( -- * Creating a Request+    DescribeEngineDefaultParameters (..),+    newDescribeEngineDefaultParameters,++    -- * Request Lenses+    describeEngineDefaultParameters_filters,+    describeEngineDefaultParameters_marker,+    describeEngineDefaultParameters_maxRecords,+    describeEngineDefaultParameters_dbParameterGroupFamily,++    -- * Destructuring the Response+    DescribeEngineDefaultParametersResponse (..),+    newDescribeEngineDefaultParametersResponse,++    -- * Response Lenses+    describeEngineDefaultParametersResponse_engineDefaults,+    describeEngineDefaultParametersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEngineDefaultParameters' smart constructor.+data DescribeEngineDefaultParameters = DescribeEngineDefaultParameters'+  { -- | Not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribeEngineDefaultParameters@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The name of the DB parameter group family.+    dbParameterGroupFamily :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEngineDefaultParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeEngineDefaultParameters_filters' - Not currently supported.+--+-- 'marker', 'describeEngineDefaultParameters_marker' - An optional pagination token provided by a previous+-- @DescribeEngineDefaultParameters@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeEngineDefaultParameters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'dbParameterGroupFamily', 'describeEngineDefaultParameters_dbParameterGroupFamily' - The name of the DB parameter group family.+newDescribeEngineDefaultParameters ::+  -- | 'dbParameterGroupFamily'+  Prelude.Text ->+  DescribeEngineDefaultParameters+newDescribeEngineDefaultParameters+  pDBParameterGroupFamily_ =+    DescribeEngineDefaultParameters'+      { filters =+          Prelude.Nothing,+        marker = Prelude.Nothing,+        maxRecords = Prelude.Nothing,+        dbParameterGroupFamily =+          pDBParameterGroupFamily_+      }++-- | Not currently supported.+describeEngineDefaultParameters_filters :: Lens.Lens' DescribeEngineDefaultParameters (Prelude.Maybe [Filter])+describeEngineDefaultParameters_filters = Lens.lens (\DescribeEngineDefaultParameters' {filters} -> filters) (\s@DescribeEngineDefaultParameters' {} a -> s {filters = a} :: DescribeEngineDefaultParameters) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribeEngineDefaultParameters@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+describeEngineDefaultParameters_marker :: Lens.Lens' DescribeEngineDefaultParameters (Prelude.Maybe Prelude.Text)+describeEngineDefaultParameters_marker = Lens.lens (\DescribeEngineDefaultParameters' {marker} -> marker) (\s@DescribeEngineDefaultParameters' {} a -> s {marker = a} :: DescribeEngineDefaultParameters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeEngineDefaultParameters_maxRecords :: Lens.Lens' DescribeEngineDefaultParameters (Prelude.Maybe Prelude.Int)+describeEngineDefaultParameters_maxRecords = Lens.lens (\DescribeEngineDefaultParameters' {maxRecords} -> maxRecords) (\s@DescribeEngineDefaultParameters' {} a -> s {maxRecords = a} :: DescribeEngineDefaultParameters)++-- | The name of the DB parameter group family.+describeEngineDefaultParameters_dbParameterGroupFamily :: Lens.Lens' DescribeEngineDefaultParameters Prelude.Text+describeEngineDefaultParameters_dbParameterGroupFamily = Lens.lens (\DescribeEngineDefaultParameters' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DescribeEngineDefaultParameters' {} a -> s {dbParameterGroupFamily = a} :: DescribeEngineDefaultParameters)++instance+  Core.AWSPager+    DescribeEngineDefaultParameters+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeEngineDefaultParametersResponse_engineDefaults+            Prelude.. Lens._Just+            Prelude.. engineDefaults_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeEngineDefaultParametersResponse_engineDefaults+            Prelude.. Lens._Just+            Prelude.. engineDefaults_parameters+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeEngineDefaultParameters_marker+          Lens..~ rs+          Lens.^? describeEngineDefaultParametersResponse_engineDefaults+          Prelude.. Lens._Just+          Prelude.. engineDefaults_marker+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeEngineDefaultParameters+  where+  type+    AWSResponse DescribeEngineDefaultParameters =+      DescribeEngineDefaultParametersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeEngineDefaultParametersResult"+      ( \s h x ->+          DescribeEngineDefaultParametersResponse'+            Prelude.<$> (x Data..@? "EngineDefaults")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeEngineDefaultParameters+  where+  hashWithSalt+    _salt+    DescribeEngineDefaultParameters' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` marker+        `Prelude.hashWithSalt` maxRecords+        `Prelude.hashWithSalt` dbParameterGroupFamily++instance+  Prelude.NFData+    DescribeEngineDefaultParameters+  where+  rnf DescribeEngineDefaultParameters' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily++instance+  Data.ToHeaders+    DescribeEngineDefaultParameters+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeEngineDefaultParameters where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeEngineDefaultParameters where+  toQuery DescribeEngineDefaultParameters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeEngineDefaultParameters" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "DBParameterGroupFamily"+          Data.=: dbParameterGroupFamily+      ]++-- | /See:/ 'newDescribeEngineDefaultParametersResponse' smart constructor.+data DescribeEngineDefaultParametersResponse = DescribeEngineDefaultParametersResponse'+  { engineDefaults :: Prelude.Maybe EngineDefaults,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEngineDefaultParametersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'engineDefaults', 'describeEngineDefaultParametersResponse_engineDefaults' - Undocumented member.+--+-- 'httpStatus', 'describeEngineDefaultParametersResponse_httpStatus' - The response's http status code.+newDescribeEngineDefaultParametersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEngineDefaultParametersResponse+newDescribeEngineDefaultParametersResponse+  pHttpStatus_ =+    DescribeEngineDefaultParametersResponse'+      { engineDefaults =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+describeEngineDefaultParametersResponse_engineDefaults :: Lens.Lens' DescribeEngineDefaultParametersResponse (Prelude.Maybe EngineDefaults)+describeEngineDefaultParametersResponse_engineDefaults = Lens.lens (\DescribeEngineDefaultParametersResponse' {engineDefaults} -> engineDefaults) (\s@DescribeEngineDefaultParametersResponse' {} a -> s {engineDefaults = a} :: DescribeEngineDefaultParametersResponse)++-- | The response's http status code.+describeEngineDefaultParametersResponse_httpStatus :: Lens.Lens' DescribeEngineDefaultParametersResponse Prelude.Int+describeEngineDefaultParametersResponse_httpStatus = Lens.lens (\DescribeEngineDefaultParametersResponse' {httpStatus} -> httpStatus) (\s@DescribeEngineDefaultParametersResponse' {} a -> s {httpStatus = a} :: DescribeEngineDefaultParametersResponse)++instance+  Prelude.NFData+    DescribeEngineDefaultParametersResponse+  where+  rnf DescribeEngineDefaultParametersResponse' {..} =+    Prelude.rnf engineDefaults+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeEventCategories.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DescribeEventCategories+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a list of categories for all event source types, or, if+-- specified, for a specified source type.+module Amazonka.Neptune.DescribeEventCategories+  ( -- * Creating a Request+    DescribeEventCategories (..),+    newDescribeEventCategories,++    -- * Request Lenses+    describeEventCategories_filters,+    describeEventCategories_sourceType,++    -- * Destructuring the Response+    DescribeEventCategoriesResponse (..),+    newDescribeEventCategoriesResponse,++    -- * Response Lenses+    describeEventCategoriesResponse_eventCategoriesMapList,+    describeEventCategoriesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEventCategories' smart constructor.+data DescribeEventCategories = DescribeEventCategories'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | The type of source that is generating the events.+    --+    -- Valid values: db-instance | db-parameter-group | db-security-group |+    -- db-snapshot+    sourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEventCategories' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeEventCategories_filters' - This parameter is not currently supported.+--+-- 'sourceType', 'describeEventCategories_sourceType' - The type of source that is generating the events.+--+-- Valid values: db-instance | db-parameter-group | db-security-group |+-- db-snapshot+newDescribeEventCategories ::+  DescribeEventCategories+newDescribeEventCategories =+  DescribeEventCategories'+    { filters = Prelude.Nothing,+      sourceType = Prelude.Nothing+    }++-- | This parameter is not currently supported.+describeEventCategories_filters :: Lens.Lens' DescribeEventCategories (Prelude.Maybe [Filter])+describeEventCategories_filters = Lens.lens (\DescribeEventCategories' {filters} -> filters) (\s@DescribeEventCategories' {} a -> s {filters = a} :: DescribeEventCategories) Prelude.. Lens.mapping Lens.coerced++-- | The type of source that is generating the events.+--+-- Valid values: db-instance | db-parameter-group | db-security-group |+-- db-snapshot+describeEventCategories_sourceType :: Lens.Lens' DescribeEventCategories (Prelude.Maybe Prelude.Text)+describeEventCategories_sourceType = Lens.lens (\DescribeEventCategories' {sourceType} -> sourceType) (\s@DescribeEventCategories' {} a -> s {sourceType = a} :: DescribeEventCategories)++instance Core.AWSRequest DescribeEventCategories where+  type+    AWSResponse DescribeEventCategories =+      DescribeEventCategoriesResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeEventCategoriesResult"+      ( \s h x ->+          DescribeEventCategoriesResponse'+            Prelude.<$> ( x+                            Data..@? "EventCategoriesMapList"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "EventCategoriesMap")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeEventCategories where+  hashWithSalt _salt DescribeEventCategories' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` sourceType++instance Prelude.NFData DescribeEventCategories where+  rnf DescribeEventCategories' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf sourceType++instance Data.ToHeaders DescribeEventCategories where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeEventCategories where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeEventCategories where+  toQuery DescribeEventCategories' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeEventCategories" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "SourceType" Data.=: sourceType+      ]++-- | /See:/ 'newDescribeEventCategoriesResponse' smart constructor.+data DescribeEventCategoriesResponse = DescribeEventCategoriesResponse'+  { -- | A list of EventCategoriesMap data types.+    eventCategoriesMapList :: Prelude.Maybe [EventCategoriesMap],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEventCategoriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventCategoriesMapList', 'describeEventCategoriesResponse_eventCategoriesMapList' - A list of EventCategoriesMap data types.+--+-- 'httpStatus', 'describeEventCategoriesResponse_httpStatus' - The response's http status code.+newDescribeEventCategoriesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEventCategoriesResponse+newDescribeEventCategoriesResponse pHttpStatus_ =+  DescribeEventCategoriesResponse'+    { eventCategoriesMapList =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of EventCategoriesMap data types.+describeEventCategoriesResponse_eventCategoriesMapList :: Lens.Lens' DescribeEventCategoriesResponse (Prelude.Maybe [EventCategoriesMap])+describeEventCategoriesResponse_eventCategoriesMapList = Lens.lens (\DescribeEventCategoriesResponse' {eventCategoriesMapList} -> eventCategoriesMapList) (\s@DescribeEventCategoriesResponse' {} a -> s {eventCategoriesMapList = a} :: DescribeEventCategoriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeEventCategoriesResponse_httpStatus :: Lens.Lens' DescribeEventCategoriesResponse Prelude.Int+describeEventCategoriesResponse_httpStatus = Lens.lens (\DescribeEventCategoriesResponse' {httpStatus} -> httpStatus) (\s@DescribeEventCategoriesResponse' {} a -> s {httpStatus = a} :: DescribeEventCategoriesResponse)++instance+  Prelude.NFData+    DescribeEventCategoriesResponse+  where+  rnf DescribeEventCategoriesResponse' {..} =+    Prelude.rnf eventCategoriesMapList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeEventSubscriptions.hs view
@@ -0,0 +1,288 @@+{-# 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.Neptune.DescribeEventSubscriptions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the subscription descriptions for a customer account. The+-- description for a subscription includes SubscriptionName, SNSTopicARN,+-- CustomerID, SourceType, SourceID, CreationTime, and Status.+--+-- If you specify a SubscriptionName, lists the description for that+-- subscription.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeEventSubscriptions+  ( -- * Creating a Request+    DescribeEventSubscriptions (..),+    newDescribeEventSubscriptions,++    -- * Request Lenses+    describeEventSubscriptions_filters,+    describeEventSubscriptions_marker,+    describeEventSubscriptions_maxRecords,+    describeEventSubscriptions_subscriptionName,++    -- * Destructuring the Response+    DescribeEventSubscriptionsResponse (..),+    newDescribeEventSubscriptionsResponse,++    -- * Response Lenses+    describeEventSubscriptionsResponse_eventSubscriptionsList,+    describeEventSubscriptionsResponse_marker,+    describeEventSubscriptionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEventSubscriptions' smart constructor.+data DescribeEventSubscriptions = DescribeEventSubscriptions'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- DescribeOrderableDBInstanceOptions request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@ .+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The name of the event notification subscription you want to describe.+    subscriptionName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEventSubscriptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeEventSubscriptions_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeEventSubscriptions_marker' - An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@ .+--+-- 'maxRecords', 'describeEventSubscriptions_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'subscriptionName', 'describeEventSubscriptions_subscriptionName' - The name of the event notification subscription you want to describe.+newDescribeEventSubscriptions ::+  DescribeEventSubscriptions+newDescribeEventSubscriptions =+  DescribeEventSubscriptions'+    { filters =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      subscriptionName = Prelude.Nothing+    }++-- | This parameter is not currently supported.+describeEventSubscriptions_filters :: Lens.Lens' DescribeEventSubscriptions (Prelude.Maybe [Filter])+describeEventSubscriptions_filters = Lens.lens (\DescribeEventSubscriptions' {filters} -> filters) (\s@DescribeEventSubscriptions' {} a -> s {filters = a} :: DescribeEventSubscriptions) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@ .+describeEventSubscriptions_marker :: Lens.Lens' DescribeEventSubscriptions (Prelude.Maybe Prelude.Text)+describeEventSubscriptions_marker = Lens.lens (\DescribeEventSubscriptions' {marker} -> marker) (\s@DescribeEventSubscriptions' {} a -> s {marker = a} :: DescribeEventSubscriptions)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeEventSubscriptions_maxRecords :: Lens.Lens' DescribeEventSubscriptions (Prelude.Maybe Prelude.Int)+describeEventSubscriptions_maxRecords = Lens.lens (\DescribeEventSubscriptions' {maxRecords} -> maxRecords) (\s@DescribeEventSubscriptions' {} a -> s {maxRecords = a} :: DescribeEventSubscriptions)++-- | The name of the event notification subscription you want to describe.+describeEventSubscriptions_subscriptionName :: Lens.Lens' DescribeEventSubscriptions (Prelude.Maybe Prelude.Text)+describeEventSubscriptions_subscriptionName = Lens.lens (\DescribeEventSubscriptions' {subscriptionName} -> subscriptionName) (\s@DescribeEventSubscriptions' {} a -> s {subscriptionName = a} :: DescribeEventSubscriptions)++instance Core.AWSPager DescribeEventSubscriptions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeEventSubscriptionsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeEventSubscriptionsResponse_eventSubscriptionsList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeEventSubscriptions_marker+          Lens..~ rs+          Lens.^? describeEventSubscriptionsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeEventSubscriptions where+  type+    AWSResponse DescribeEventSubscriptions =+      DescribeEventSubscriptionsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeEventSubscriptionsResult"+      ( \s h x ->+          DescribeEventSubscriptionsResponse'+            Prelude.<$> ( x+                            Data..@? "EventSubscriptionsList"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "EventSubscription")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeEventSubscriptions where+  hashWithSalt _salt DescribeEventSubscriptions' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords+      `Prelude.hashWithSalt` subscriptionName++instance Prelude.NFData DescribeEventSubscriptions where+  rnf DescribeEventSubscriptions' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf subscriptionName++instance Data.ToHeaders DescribeEventSubscriptions where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeEventSubscriptions where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeEventSubscriptions where+  toQuery DescribeEventSubscriptions' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeEventSubscriptions" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "SubscriptionName" Data.=: subscriptionName+      ]++-- | /See:/ 'newDescribeEventSubscriptionsResponse' smart constructor.+data DescribeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse'+  { -- | A list of EventSubscriptions data types.+    eventSubscriptionsList :: Prelude.Maybe [EventSubscription],+    -- | An optional pagination token provided by a previous+    -- DescribeOrderableDBInstanceOptions request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@.+    marker :: 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 'DescribeEventSubscriptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscriptionsList', 'describeEventSubscriptionsResponse_eventSubscriptionsList' - A list of EventSubscriptions data types.+--+-- 'marker', 'describeEventSubscriptionsResponse_marker' - An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+--+-- 'httpStatus', 'describeEventSubscriptionsResponse_httpStatus' - The response's http status code.+newDescribeEventSubscriptionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEventSubscriptionsResponse+newDescribeEventSubscriptionsResponse pHttpStatus_ =+  DescribeEventSubscriptionsResponse'+    { eventSubscriptionsList =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of EventSubscriptions data types.+describeEventSubscriptionsResponse_eventSubscriptionsList :: Lens.Lens' DescribeEventSubscriptionsResponse (Prelude.Maybe [EventSubscription])+describeEventSubscriptionsResponse_eventSubscriptionsList = Lens.lens (\DescribeEventSubscriptionsResponse' {eventSubscriptionsList} -> eventSubscriptionsList) (\s@DescribeEventSubscriptionsResponse' {} a -> s {eventSubscriptionsList = a} :: DescribeEventSubscriptionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@.+describeEventSubscriptionsResponse_marker :: Lens.Lens' DescribeEventSubscriptionsResponse (Prelude.Maybe Prelude.Text)+describeEventSubscriptionsResponse_marker = Lens.lens (\DescribeEventSubscriptionsResponse' {marker} -> marker) (\s@DescribeEventSubscriptionsResponse' {} a -> s {marker = a} :: DescribeEventSubscriptionsResponse)++-- | The response's http status code.+describeEventSubscriptionsResponse_httpStatus :: Lens.Lens' DescribeEventSubscriptionsResponse Prelude.Int+describeEventSubscriptionsResponse_httpStatus = Lens.lens (\DescribeEventSubscriptionsResponse' {httpStatus} -> httpStatus) (\s@DescribeEventSubscriptionsResponse' {} a -> s {httpStatus = a} :: DescribeEventSubscriptionsResponse)++instance+  Prelude.NFData+    DescribeEventSubscriptionsResponse+  where+  rnf DescribeEventSubscriptionsResponse' {..} =+    Prelude.rnf eventSubscriptionsList+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeEvents.hs view
@@ -0,0 +1,438 @@+{-# 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.Neptune.DescribeEvents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns events related to DB instances, DB security groups, DB+-- snapshots, and DB parameter groups for the past 14 days. Events specific+-- to a particular DB instance, DB security group, database snapshot, or DB+-- parameter group can be obtained by providing the name as a parameter. By+-- default, the past hour of events are returned.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeEvents+  ( -- * Creating a Request+    DescribeEvents (..),+    newDescribeEvents,++    -- * Request Lenses+    describeEvents_duration,+    describeEvents_endTime,+    describeEvents_eventCategories,+    describeEvents_filters,+    describeEvents_marker,+    describeEvents_maxRecords,+    describeEvents_sourceIdentifier,+    describeEvents_sourceType,+    describeEvents_startTime,++    -- * Destructuring the Response+    DescribeEventsResponse (..),+    newDescribeEventsResponse,++    -- * Response Lenses+    describeEventsResponse_events,+    describeEventsResponse_marker,+    describeEventsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEvents' smart constructor.+data DescribeEvents = DescribeEvents'+  { -- | The number of minutes to retrieve events for.+    --+    -- Default: 60+    duration :: Prelude.Maybe Prelude.Int,+    -- | The end of the time interval for which to retrieve events, specified in+    -- ISO 8601 format. For more information about ISO 8601, go to the+    -- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+    --+    -- Example: 2009-07-08T18:00Z+    endTime :: Prelude.Maybe Data.ISO8601,+    -- | A list of event categories that trigger notifications for a event+    -- notification subscription.+    eventCategories :: Prelude.Maybe [Prelude.Text],+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous DescribeEvents+    -- request. If this parameter is specified, the response includes only+    -- records beyond the marker, up to the value specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The identifier of the event source for which events are returned. If not+    -- specified, then all sources are included in the response.+    --+    -- Constraints:+    --+    -- -   If SourceIdentifier is supplied, SourceType must also be provided.+    --+    -- -   If the source type is @DBInstance@, then a @DBInstanceIdentifier@+    --     must be supplied.+    --+    -- -   If the source type is @DBSecurityGroup@, a @DBSecurityGroupName@+    --     must be supplied.+    --+    -- -   If the source type is @DBParameterGroup@, a @DBParameterGroupName@+    --     must be supplied.+    --+    -- -   If the source type is @DBSnapshot@, a @DBSnapshotIdentifier@ must be+    --     supplied.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    sourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The event source to retrieve events for. If no value is specified, all+    -- events are returned.+    sourceType :: Prelude.Maybe SourceType,+    -- | The beginning of the time interval to retrieve events for, specified in+    -- ISO 8601 format. For more information about ISO 8601, go to the+    -- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+    --+    -- Example: 2009-07-08T18:00Z+    startTime :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEvents' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'duration', 'describeEvents_duration' - The number of minutes to retrieve events for.+--+-- Default: 60+--+-- 'endTime', 'describeEvents_endTime' - The end of the time interval for which to retrieve events, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+--+-- Example: 2009-07-08T18:00Z+--+-- 'eventCategories', 'describeEvents_eventCategories' - A list of event categories that trigger notifications for a event+-- notification subscription.+--+-- 'filters', 'describeEvents_filters' - This parameter is not currently supported.+--+-- 'marker', 'describeEvents_marker' - An optional pagination token provided by a previous DescribeEvents+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@.+--+-- 'maxRecords', 'describeEvents_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'sourceIdentifier', 'describeEvents_sourceIdentifier' - The identifier of the event source for which events are returned. If not+-- specified, then all sources are included in the response.+--+-- Constraints:+--+-- -   If SourceIdentifier is supplied, SourceType must also be provided.+--+-- -   If the source type is @DBInstance@, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is @DBSecurityGroup@, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is @DBParameterGroup@, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is @DBSnapshot@, a @DBSnapshotIdentifier@ must be+--     supplied.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- 'sourceType', 'describeEvents_sourceType' - The event source to retrieve events for. If no value is specified, all+-- events are returned.+--+-- 'startTime', 'describeEvents_startTime' - The beginning of the time interval to retrieve events for, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+--+-- Example: 2009-07-08T18:00Z+newDescribeEvents ::+  DescribeEvents+newDescribeEvents =+  DescribeEvents'+    { duration = Prelude.Nothing,+      endTime = Prelude.Nothing,+      eventCategories = Prelude.Nothing,+      filters = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      sourceIdentifier = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      startTime = Prelude.Nothing+    }++-- | The number of minutes to retrieve events for.+--+-- Default: 60+describeEvents_duration :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.Int)+describeEvents_duration = Lens.lens (\DescribeEvents' {duration} -> duration) (\s@DescribeEvents' {} a -> s {duration = a} :: DescribeEvents)++-- | The end of the time interval for which to retrieve events, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+--+-- Example: 2009-07-08T18:00Z+describeEvents_endTime :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.UTCTime)+describeEvents_endTime = Lens.lens (\DescribeEvents' {endTime} -> endTime) (\s@DescribeEvents' {} a -> s {endTime = a} :: DescribeEvents) Prelude.. Lens.mapping Data._Time++-- | A list of event categories that trigger notifications for a event+-- notification subscription.+describeEvents_eventCategories :: Lens.Lens' DescribeEvents (Prelude.Maybe [Prelude.Text])+describeEvents_eventCategories = Lens.lens (\DescribeEvents' {eventCategories} -> eventCategories) (\s@DescribeEvents' {} a -> s {eventCategories = a} :: DescribeEvents) Prelude.. Lens.mapping Lens.coerced++-- | This parameter is not currently supported.+describeEvents_filters :: Lens.Lens' DescribeEvents (Prelude.Maybe [Filter])+describeEvents_filters = Lens.lens (\DescribeEvents' {filters} -> filters) (\s@DescribeEvents' {} a -> s {filters = a} :: DescribeEvents) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous DescribeEvents+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@.+describeEvents_marker :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.Text)+describeEvents_marker = Lens.lens (\DescribeEvents' {marker} -> marker) (\s@DescribeEvents' {} a -> s {marker = a} :: DescribeEvents)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeEvents_maxRecords :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.Int)+describeEvents_maxRecords = Lens.lens (\DescribeEvents' {maxRecords} -> maxRecords) (\s@DescribeEvents' {} a -> s {maxRecords = a} :: DescribeEvents)++-- | The identifier of the event source for which events are returned. If not+-- specified, then all sources are included in the response.+--+-- Constraints:+--+-- -   If SourceIdentifier is supplied, SourceType must also be provided.+--+-- -   If the source type is @DBInstance@, then a @DBInstanceIdentifier@+--     must be supplied.+--+-- -   If the source type is @DBSecurityGroup@, a @DBSecurityGroupName@+--     must be supplied.+--+-- -   If the source type is @DBParameterGroup@, a @DBParameterGroupName@+--     must be supplied.+--+-- -   If the source type is @DBSnapshot@, a @DBSnapshotIdentifier@ must be+--     supplied.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+describeEvents_sourceIdentifier :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.Text)+describeEvents_sourceIdentifier = Lens.lens (\DescribeEvents' {sourceIdentifier} -> sourceIdentifier) (\s@DescribeEvents' {} a -> s {sourceIdentifier = a} :: DescribeEvents)++-- | The event source to retrieve events for. If no value is specified, all+-- events are returned.+describeEvents_sourceType :: Lens.Lens' DescribeEvents (Prelude.Maybe SourceType)+describeEvents_sourceType = Lens.lens (\DescribeEvents' {sourceType} -> sourceType) (\s@DescribeEvents' {} a -> s {sourceType = a} :: DescribeEvents)++-- | The beginning of the time interval to retrieve events for, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+--+-- Example: 2009-07-08T18:00Z+describeEvents_startTime :: Lens.Lens' DescribeEvents (Prelude.Maybe Prelude.UTCTime)+describeEvents_startTime = Lens.lens (\DescribeEvents' {startTime} -> startTime) (\s@DescribeEvents' {} a -> s {startTime = a} :: DescribeEvents) Prelude.. Lens.mapping Data._Time++instance Core.AWSPager DescribeEvents where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeEventsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeEventsResponse_events+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeEvents_marker+          Lens..~ rs+          Lens.^? describeEventsResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeEvents where+  type+    AWSResponse DescribeEvents =+      DescribeEventsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeEventsResult"+      ( \s h x ->+          DescribeEventsResponse'+            Prelude.<$> ( x+                            Data..@? "Events"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Event")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeEvents where+  hashWithSalt _salt DescribeEvents' {..} =+    _salt+      `Prelude.hashWithSalt` duration+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` eventCategories+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords+      `Prelude.hashWithSalt` sourceIdentifier+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` startTime++instance Prelude.NFData DescribeEvents where+  rnf DescribeEvents' {..} =+    Prelude.rnf duration+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf eventCategories+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf sourceIdentifier+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf startTime++instance Data.ToHeaders DescribeEvents where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeEvents where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeEvents where+  toQuery DescribeEvents' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeEvents" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Duration" Data.=: duration,+        "EndTime" Data.=: endTime,+        "EventCategories"+          Data.=: Data.toQuery+            ( Data.toQueryList "EventCategory"+                Prelude.<$> eventCategories+            ),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "SourceIdentifier" Data.=: sourceIdentifier,+        "SourceType" Data.=: sourceType,+        "StartTime" Data.=: startTime+      ]++-- | /See:/ 'newDescribeEventsResponse' smart constructor.+data DescribeEventsResponse = DescribeEventsResponse'+  { -- | A list of Event instances.+    events :: Prelude.Maybe [Event],+    -- | An optional pagination token provided by a previous Events request. If+    -- this parameter is specified, the response includes only records beyond+    -- the marker, up to the value specified by @MaxRecords@ .+    marker :: 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 'DescribeEventsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'describeEventsResponse_events' - A list of Event instances.+--+-- 'marker', 'describeEventsResponse_marker' - An optional pagination token provided by a previous Events request. If+-- this parameter is specified, the response includes only records beyond+-- the marker, up to the value specified by @MaxRecords@ .+--+-- 'httpStatus', 'describeEventsResponse_httpStatus' - The response's http status code.+newDescribeEventsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEventsResponse+newDescribeEventsResponse pHttpStatus_ =+  DescribeEventsResponse'+    { events = Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of Event instances.+describeEventsResponse_events :: Lens.Lens' DescribeEventsResponse (Prelude.Maybe [Event])+describeEventsResponse_events = Lens.lens (\DescribeEventsResponse' {events} -> events) (\s@DescribeEventsResponse' {} a -> s {events = a} :: DescribeEventsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous Events request. If+-- this parameter is specified, the response includes only records beyond+-- the marker, up to the value specified by @MaxRecords@ .+describeEventsResponse_marker :: Lens.Lens' DescribeEventsResponse (Prelude.Maybe Prelude.Text)+describeEventsResponse_marker = Lens.lens (\DescribeEventsResponse' {marker} -> marker) (\s@DescribeEventsResponse' {} a -> s {marker = a} :: DescribeEventsResponse)++-- | The response's http status code.+describeEventsResponse_httpStatus :: Lens.Lens' DescribeEventsResponse Prelude.Int+describeEventsResponse_httpStatus = Lens.lens (\DescribeEventsResponse' {httpStatus} -> httpStatus) (\s@DescribeEventsResponse' {} a -> s {httpStatus = a} :: DescribeEventsResponse)++instance Prelude.NFData DescribeEventsResponse where+  rnf DescribeEventsResponse' {..} =+    Prelude.rnf events+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeGlobalClusters.hs view
@@ -0,0 +1,279 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DescribeGlobalClusters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about Neptune global database clusters. This API+-- supports pagination.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeGlobalClusters+  ( -- * Creating a Request+    DescribeGlobalClusters (..),+    newDescribeGlobalClusters,++    -- * Request Lenses+    describeGlobalClusters_globalClusterIdentifier,+    describeGlobalClusters_marker,+    describeGlobalClusters_maxRecords,++    -- * Destructuring the Response+    DescribeGlobalClustersResponse (..),+    newDescribeGlobalClustersResponse,++    -- * Response Lenses+    describeGlobalClustersResponse_globalClusters,+    describeGlobalClustersResponse_marker,+    describeGlobalClustersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGlobalClusters' smart constructor.+data DescribeGlobalClusters = DescribeGlobalClusters'+  { -- | The user-supplied DB cluster identifier. If this parameter is specified,+    -- only information about the specified DB cluster is returned. This+    -- parameter is not case-sensitive.+    --+    -- Constraints: If supplied, must match an existing DB cluster identifier.+    globalClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | (/Optional/) A pagination token returned by a previous call to+    -- @DescribeGlobalClusters@. If this parameter is specified, the response+    -- will only include records beyond the marker, up to the number specified+    -- by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination marker+    -- token is included in the response that you can use to retrieve the+    -- remaining results.+    --+    -- Default: @100@+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGlobalClusters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalClusterIdentifier', 'describeGlobalClusters_globalClusterIdentifier' - The user-supplied DB cluster identifier. If this parameter is specified,+-- only information about the specified DB cluster is returned. This+-- parameter is not case-sensitive.+--+-- Constraints: If supplied, must match an existing DB cluster identifier.+--+-- 'marker', 'describeGlobalClusters_marker' - (/Optional/) A pagination token returned by a previous call to+-- @DescribeGlobalClusters@. If this parameter is specified, the response+-- will only include records beyond the marker, up to the number specified+-- by @MaxRecords@.+--+-- 'maxRecords', 'describeGlobalClusters_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination marker+-- token is included in the response that you can use to retrieve the+-- remaining results.+--+-- Default: @100@+--+-- Constraints: Minimum 20, maximum 100.+newDescribeGlobalClusters ::+  DescribeGlobalClusters+newDescribeGlobalClusters =+  DescribeGlobalClusters'+    { globalClusterIdentifier =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing+    }++-- | The user-supplied DB cluster identifier. If this parameter is specified,+-- only information about the specified DB cluster is returned. This+-- parameter is not case-sensitive.+--+-- Constraints: If supplied, must match an existing DB cluster identifier.+describeGlobalClusters_globalClusterIdentifier :: Lens.Lens' DescribeGlobalClusters (Prelude.Maybe Prelude.Text)+describeGlobalClusters_globalClusterIdentifier = Lens.lens (\DescribeGlobalClusters' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@DescribeGlobalClusters' {} a -> s {globalClusterIdentifier = a} :: DescribeGlobalClusters)++-- | (/Optional/) A pagination token returned by a previous call to+-- @DescribeGlobalClusters@. If this parameter is specified, the response+-- will only include records beyond the marker, up to the number specified+-- by @MaxRecords@.+describeGlobalClusters_marker :: Lens.Lens' DescribeGlobalClusters (Prelude.Maybe Prelude.Text)+describeGlobalClusters_marker = Lens.lens (\DescribeGlobalClusters' {marker} -> marker) (\s@DescribeGlobalClusters' {} a -> s {marker = a} :: DescribeGlobalClusters)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination marker+-- token is included in the response that you can use to retrieve the+-- remaining results.+--+-- Default: @100@+--+-- Constraints: Minimum 20, maximum 100.+describeGlobalClusters_maxRecords :: Lens.Lens' DescribeGlobalClusters (Prelude.Maybe Prelude.Int)+describeGlobalClusters_maxRecords = Lens.lens (\DescribeGlobalClusters' {maxRecords} -> maxRecords) (\s@DescribeGlobalClusters' {} a -> s {maxRecords = a} :: DescribeGlobalClusters)++instance Core.AWSPager DescribeGlobalClusters where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeGlobalClustersResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeGlobalClustersResponse_globalClusters+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeGlobalClusters_marker+          Lens..~ rs+          Lens.^? describeGlobalClustersResponse_marker+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeGlobalClusters where+  type+    AWSResponse DescribeGlobalClusters =+      DescribeGlobalClustersResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeGlobalClustersResult"+      ( \s h x ->+          DescribeGlobalClustersResponse'+            Prelude.<$> ( x+                            Data..@? "GlobalClusters"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "GlobalClusterMember")+                        )+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeGlobalClusters where+  hashWithSalt _salt DescribeGlobalClusters' {..} =+    _salt+      `Prelude.hashWithSalt` globalClusterIdentifier+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxRecords++instance Prelude.NFData DescribeGlobalClusters where+  rnf DescribeGlobalClusters' {..} =+    Prelude.rnf globalClusterIdentifier+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords++instance Data.ToHeaders DescribeGlobalClusters where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeGlobalClusters where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeGlobalClusters where+  toQuery DescribeGlobalClusters' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("DescribeGlobalClusters" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier,+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords+      ]++-- | /See:/ 'newDescribeGlobalClustersResponse' smart constructor.+data DescribeGlobalClustersResponse = DescribeGlobalClustersResponse'+  { -- | The list of global clusters and instances returned by this request.+    globalClusters :: Prelude.Maybe [GlobalCluster],+    -- | A pagination token. If this parameter is returned in the response, more+    -- records are available, which can be retrieved by one or more additional+    -- calls to @DescribeGlobalClusters@.+    marker :: 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 'DescribeGlobalClustersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalClusters', 'describeGlobalClustersResponse_globalClusters' - The list of global clusters and instances returned by this request.+--+-- 'marker', 'describeGlobalClustersResponse_marker' - A pagination token. If this parameter is returned in the response, more+-- records are available, which can be retrieved by one or more additional+-- calls to @DescribeGlobalClusters@.+--+-- 'httpStatus', 'describeGlobalClustersResponse_httpStatus' - The response's http status code.+newDescribeGlobalClustersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeGlobalClustersResponse+newDescribeGlobalClustersResponse pHttpStatus_ =+  DescribeGlobalClustersResponse'+    { globalClusters =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of global clusters and instances returned by this request.+describeGlobalClustersResponse_globalClusters :: Lens.Lens' DescribeGlobalClustersResponse (Prelude.Maybe [GlobalCluster])+describeGlobalClustersResponse_globalClusters = Lens.lens (\DescribeGlobalClustersResponse' {globalClusters} -> globalClusters) (\s@DescribeGlobalClustersResponse' {} a -> s {globalClusters = a} :: DescribeGlobalClustersResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token. If this parameter is returned in the response, more+-- records are available, which can be retrieved by one or more additional+-- calls to @DescribeGlobalClusters@.+describeGlobalClustersResponse_marker :: Lens.Lens' DescribeGlobalClustersResponse (Prelude.Maybe Prelude.Text)+describeGlobalClustersResponse_marker = Lens.lens (\DescribeGlobalClustersResponse' {marker} -> marker) (\s@DescribeGlobalClustersResponse' {} a -> s {marker = a} :: DescribeGlobalClustersResponse)++-- | The response's http status code.+describeGlobalClustersResponse_httpStatus :: Lens.Lens' DescribeGlobalClustersResponse Prelude.Int+describeGlobalClustersResponse_httpStatus = Lens.lens (\DescribeGlobalClustersResponse' {httpStatus} -> httpStatus) (\s@DescribeGlobalClustersResponse' {} a -> s {httpStatus = a} :: DescribeGlobalClustersResponse)++instance+  Prelude.NFData+    DescribeGlobalClustersResponse+  where+  rnf DescribeGlobalClustersResponse' {..} =+    Prelude.rnf globalClusters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeOrderableDBInstanceOptions.hs view
@@ -0,0 +1,381 @@+{-# 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.Neptune.DescribeOrderableDBInstanceOptions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of orderable DB instance options for the specified+-- engine.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribeOrderableDBInstanceOptions+  ( -- * Creating a Request+    DescribeOrderableDBInstanceOptions (..),+    newDescribeOrderableDBInstanceOptions,++    -- * Request Lenses+    describeOrderableDBInstanceOptions_dbInstanceClass,+    describeOrderableDBInstanceOptions_engineVersion,+    describeOrderableDBInstanceOptions_filters,+    describeOrderableDBInstanceOptions_licenseModel,+    describeOrderableDBInstanceOptions_marker,+    describeOrderableDBInstanceOptions_maxRecords,+    describeOrderableDBInstanceOptions_vpc,+    describeOrderableDBInstanceOptions_engine,++    -- * Destructuring the Response+    DescribeOrderableDBInstanceOptionsResponse (..),+    newDescribeOrderableDBInstanceOptionsResponse,++    -- * Response Lenses+    describeOrderableDBInstanceOptionsResponse_marker,+    describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions,+    describeOrderableDBInstanceOptionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeOrderableDBInstanceOptions' smart constructor.+data DescribeOrderableDBInstanceOptions = DescribeOrderableDBInstanceOptions'+  { -- | The DB instance class filter value. Specify this parameter to show only+    -- the available offerings matching the specified DB instance class.+    dbInstanceClass :: Prelude.Maybe Prelude.Text,+    -- | The engine version filter value. Specify this parameter to show only the+    -- available offerings matching the specified engine version.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | The license model filter value. Specify this parameter to show only the+    -- available offerings matching the specified license model.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | An optional pagination token provided by a previous+    -- DescribeOrderableDBInstanceOptions request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to+    -- the value specified by @MaxRecords@ .+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The VPC filter value. Specify this parameter to show only the available+    -- VPC or non-VPC offerings.+    vpc :: Prelude.Maybe Prelude.Bool,+    -- | The name of the engine to retrieve DB instance options for.+    engine :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOrderableDBInstanceOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstanceClass', 'describeOrderableDBInstanceOptions_dbInstanceClass' - The DB instance class filter value. Specify this parameter to show only+-- the available offerings matching the specified DB instance class.+--+-- 'engineVersion', 'describeOrderableDBInstanceOptions_engineVersion' - The engine version filter value. Specify this parameter to show only the+-- available offerings matching the specified engine version.+--+-- 'filters', 'describeOrderableDBInstanceOptions_filters' - This parameter is not currently supported.+--+-- 'licenseModel', 'describeOrderableDBInstanceOptions_licenseModel' - The license model filter value. Specify this parameter to show only the+-- available offerings matching the specified license model.+--+-- 'marker', 'describeOrderableDBInstanceOptions_marker' - An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@ .+--+-- 'maxRecords', 'describeOrderableDBInstanceOptions_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'vpc', 'describeOrderableDBInstanceOptions_vpc' - The VPC filter value. Specify this parameter to show only the available+-- VPC or non-VPC offerings.+--+-- 'engine', 'describeOrderableDBInstanceOptions_engine' - The name of the engine to retrieve DB instance options for.+newDescribeOrderableDBInstanceOptions ::+  -- | 'engine'+  Prelude.Text ->+  DescribeOrderableDBInstanceOptions+newDescribeOrderableDBInstanceOptions pEngine_ =+  DescribeOrderableDBInstanceOptions'+    { dbInstanceClass =+        Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      filters = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      vpc = Prelude.Nothing,+      engine = pEngine_+    }++-- | The DB instance class filter value. Specify this parameter to show only+-- the available offerings matching the specified DB instance class.+describeOrderableDBInstanceOptions_dbInstanceClass :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Text)+describeOrderableDBInstanceOptions_dbInstanceClass = Lens.lens (\DescribeOrderableDBInstanceOptions' {dbInstanceClass} -> dbInstanceClass) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {dbInstanceClass = a} :: DescribeOrderableDBInstanceOptions)++-- | The engine version filter value. Specify this parameter to show only the+-- available offerings matching the specified engine version.+describeOrderableDBInstanceOptions_engineVersion :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Text)+describeOrderableDBInstanceOptions_engineVersion = Lens.lens (\DescribeOrderableDBInstanceOptions' {engineVersion} -> engineVersion) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {engineVersion = a} :: DescribeOrderableDBInstanceOptions)++-- | This parameter is not currently supported.+describeOrderableDBInstanceOptions_filters :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe [Filter])+describeOrderableDBInstanceOptions_filters = Lens.lens (\DescribeOrderableDBInstanceOptions' {filters} -> filters) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {filters = a} :: DescribeOrderableDBInstanceOptions) Prelude.. Lens.mapping Lens.coerced++-- | The license model filter value. Specify this parameter to show only the+-- available offerings matching the specified license model.+describeOrderableDBInstanceOptions_licenseModel :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Text)+describeOrderableDBInstanceOptions_licenseModel = Lens.lens (\DescribeOrderableDBInstanceOptions' {licenseModel} -> licenseModel) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {licenseModel = a} :: DescribeOrderableDBInstanceOptions)++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by @MaxRecords@ .+describeOrderableDBInstanceOptions_marker :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Text)+describeOrderableDBInstanceOptions_marker = Lens.lens (\DescribeOrderableDBInstanceOptions' {marker} -> marker) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {marker = a} :: DescribeOrderableDBInstanceOptions)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describeOrderableDBInstanceOptions_maxRecords :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Int)+describeOrderableDBInstanceOptions_maxRecords = Lens.lens (\DescribeOrderableDBInstanceOptions' {maxRecords} -> maxRecords) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {maxRecords = a} :: DescribeOrderableDBInstanceOptions)++-- | The VPC filter value. Specify this parameter to show only the available+-- VPC or non-VPC offerings.+describeOrderableDBInstanceOptions_vpc :: Lens.Lens' DescribeOrderableDBInstanceOptions (Prelude.Maybe Prelude.Bool)+describeOrderableDBInstanceOptions_vpc = Lens.lens (\DescribeOrderableDBInstanceOptions' {vpc} -> vpc) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {vpc = a} :: DescribeOrderableDBInstanceOptions)++-- | The name of the engine to retrieve DB instance options for.+describeOrderableDBInstanceOptions_engine :: Lens.Lens' DescribeOrderableDBInstanceOptions Prelude.Text+describeOrderableDBInstanceOptions_engine = Lens.lens (\DescribeOrderableDBInstanceOptions' {engine} -> engine) (\s@DescribeOrderableDBInstanceOptions' {} a -> s {engine = a} :: DescribeOrderableDBInstanceOptions)++instance+  Core.AWSPager+    DescribeOrderableDBInstanceOptions+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeOrderableDBInstanceOptionsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeOrderableDBInstanceOptions_marker+          Lens..~ rs+          Lens.^? describeOrderableDBInstanceOptionsResponse_marker+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeOrderableDBInstanceOptions+  where+  type+    AWSResponse DescribeOrderableDBInstanceOptions =+      DescribeOrderableDBInstanceOptionsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeOrderableDBInstanceOptionsResult"+      ( \s h x ->+          DescribeOrderableDBInstanceOptionsResponse'+            Prelude.<$> (x Data..@? "Marker")+            Prelude.<*> ( x+                            Data..@? "OrderableDBInstanceOptions"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may+                              (Data.parseXMLList "OrderableDBInstanceOption")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeOrderableDBInstanceOptions+  where+  hashWithSalt+    _salt+    DescribeOrderableDBInstanceOptions' {..} =+      _salt+        `Prelude.hashWithSalt` dbInstanceClass+        `Prelude.hashWithSalt` engineVersion+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` licenseModel+        `Prelude.hashWithSalt` marker+        `Prelude.hashWithSalt` maxRecords+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` engine++instance+  Prelude.NFData+    DescribeOrderableDBInstanceOptions+  where+  rnf DescribeOrderableDBInstanceOptions' {..} =+    Prelude.rnf dbInstanceClass+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf engine++instance+  Data.ToHeaders+    DescribeOrderableDBInstanceOptions+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DescribeOrderableDBInstanceOptions+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeOrderableDBInstanceOptions+  where+  toQuery DescribeOrderableDBInstanceOptions' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeOrderableDBInstanceOptions" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBInstanceClass" Data.=: dbInstanceClass,+        "EngineVersion" Data.=: engineVersion,+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "LicenseModel" Data.=: licenseModel,+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "Vpc" Data.=: vpc,+        "Engine" Data.=: engine+      ]++-- | /See:/ 'newDescribeOrderableDBInstanceOptionsResponse' smart constructor.+data DescribeOrderableDBInstanceOptionsResponse = DescribeOrderableDBInstanceOptionsResponse'+  { -- | An optional pagination token provided by a previous+    -- OrderableDBInstanceOptions request. If this parameter is specified, the+    -- response includes only records beyond the marker, up to the value+    -- specified by @MaxRecords@ .+    marker :: Prelude.Maybe Prelude.Text,+    -- | An OrderableDBInstanceOption structure containing information about+    -- orderable options for the DB instance.+    orderableDBInstanceOptions :: Prelude.Maybe [OrderableDBInstanceOption],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOrderableDBInstanceOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'marker', 'describeOrderableDBInstanceOptionsResponse_marker' - An optional pagination token provided by a previous+-- OrderableDBInstanceOptions request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@ .+--+-- 'orderableDBInstanceOptions', 'describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions' - An OrderableDBInstanceOption structure containing information about+-- orderable options for the DB instance.+--+-- 'httpStatus', 'describeOrderableDBInstanceOptionsResponse_httpStatus' - The response's http status code.+newDescribeOrderableDBInstanceOptionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeOrderableDBInstanceOptionsResponse+newDescribeOrderableDBInstanceOptionsResponse+  pHttpStatus_ =+    DescribeOrderableDBInstanceOptionsResponse'+      { marker =+          Prelude.Nothing,+        orderableDBInstanceOptions =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | An optional pagination token provided by a previous+-- OrderableDBInstanceOptions request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by @MaxRecords@ .+describeOrderableDBInstanceOptionsResponse_marker :: Lens.Lens' DescribeOrderableDBInstanceOptionsResponse (Prelude.Maybe Prelude.Text)+describeOrderableDBInstanceOptionsResponse_marker = Lens.lens (\DescribeOrderableDBInstanceOptionsResponse' {marker} -> marker) (\s@DescribeOrderableDBInstanceOptionsResponse' {} a -> s {marker = a} :: DescribeOrderableDBInstanceOptionsResponse)++-- | An OrderableDBInstanceOption structure containing information about+-- orderable options for the DB instance.+describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions :: Lens.Lens' DescribeOrderableDBInstanceOptionsResponse (Prelude.Maybe [OrderableDBInstanceOption])+describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions = Lens.lens (\DescribeOrderableDBInstanceOptionsResponse' {orderableDBInstanceOptions} -> orderableDBInstanceOptions) (\s@DescribeOrderableDBInstanceOptionsResponse' {} a -> s {orderableDBInstanceOptions = a} :: DescribeOrderableDBInstanceOptionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeOrderableDBInstanceOptionsResponse_httpStatus :: Lens.Lens' DescribeOrderableDBInstanceOptionsResponse Prelude.Int+describeOrderableDBInstanceOptionsResponse_httpStatus = Lens.lens (\DescribeOrderableDBInstanceOptionsResponse' {httpStatus} -> httpStatus) (\s@DescribeOrderableDBInstanceOptionsResponse' {} a -> s {httpStatus = a} :: DescribeOrderableDBInstanceOptionsResponse)++instance+  Prelude.NFData+    DescribeOrderableDBInstanceOptionsResponse+  where+  rnf DescribeOrderableDBInstanceOptionsResponse' {..} =+    Prelude.rnf marker+      `Prelude.seq` Prelude.rnf orderableDBInstanceOptions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribePendingMaintenanceActions.hs view
@@ -0,0 +1,350 @@+{-# 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.Neptune.DescribePendingMaintenanceActions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of resources (for example, DB instances) that have at+-- least one pending maintenance action.+--+-- This operation returns paginated results.+module Amazonka.Neptune.DescribePendingMaintenanceActions+  ( -- * Creating a Request+    DescribePendingMaintenanceActions (..),+    newDescribePendingMaintenanceActions,++    -- * Request Lenses+    describePendingMaintenanceActions_filters,+    describePendingMaintenanceActions_marker,+    describePendingMaintenanceActions_maxRecords,+    describePendingMaintenanceActions_resourceIdentifier,++    -- * Destructuring the Response+    DescribePendingMaintenanceActionsResponse (..),+    newDescribePendingMaintenanceActionsResponse,++    -- * Response Lenses+    describePendingMaintenanceActionsResponse_marker,+    describePendingMaintenanceActionsResponse_pendingMaintenanceActions,+    describePendingMaintenanceActionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePendingMaintenanceActions' smart constructor.+data DescribePendingMaintenanceActions = DescribePendingMaintenanceActions'+  { -- | A filter that specifies one or more resources to return pending+    -- maintenance actions for.+    --+    -- Supported filters:+    --+    -- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+    --     Amazon Resource Names (ARNs). The results list will only include+    --     pending maintenance actions for the DB clusters identified by these+    --     ARNs.+    --+    -- -   @db-instance-id@ - Accepts DB instance identifiers and DB instance+    --     ARNs. The results list will only include pending maintenance actions+    --     for the DB instances identified by these ARNs.+    filters :: Prelude.Maybe [Filter],+    -- | An optional pagination token provided by a previous+    -- @DescribePendingMaintenanceActions@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to a+    -- number of records specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of records to include in the response. If more+    -- records exist than the specified @MaxRecords@ value, a pagination token+    -- called a marker is included in the response so that the remaining+    -- results can be retrieved.+    --+    -- Default: 100+    --+    -- Constraints: Minimum 20, maximum 100.+    maxRecords :: Prelude.Maybe Prelude.Int,+    -- | The ARN of a resource to return pending maintenance actions for.+    resourceIdentifier :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePendingMaintenanceActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describePendingMaintenanceActions_filters' - A filter that specifies one or more resources to return pending+-- maintenance actions for.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     pending maintenance actions for the DB clusters identified by these+--     ARNs.+--+-- -   @db-instance-id@ - Accepts DB instance identifiers and DB instance+--     ARNs. The results list will only include pending maintenance actions+--     for the DB instances identified by these ARNs.+--+-- 'marker', 'describePendingMaintenanceActions_marker' - An optional pagination token provided by a previous+-- @DescribePendingMaintenanceActions@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to a+-- number of records specified by @MaxRecords@.+--+-- 'maxRecords', 'describePendingMaintenanceActions_maxRecords' - The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+--+-- 'resourceIdentifier', 'describePendingMaintenanceActions_resourceIdentifier' - The ARN of a resource to return pending maintenance actions for.+newDescribePendingMaintenanceActions ::+  DescribePendingMaintenanceActions+newDescribePendingMaintenanceActions =+  DescribePendingMaintenanceActions'+    { filters =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      maxRecords = Prelude.Nothing,+      resourceIdentifier = Prelude.Nothing+    }++-- | A filter that specifies one or more resources to return pending+-- maintenance actions for.+--+-- Supported filters:+--+-- -   @db-cluster-id@ - Accepts DB cluster identifiers and DB cluster+--     Amazon Resource Names (ARNs). The results list will only include+--     pending maintenance actions for the DB clusters identified by these+--     ARNs.+--+-- -   @db-instance-id@ - Accepts DB instance identifiers and DB instance+--     ARNs. The results list will only include pending maintenance actions+--     for the DB instances identified by these ARNs.+describePendingMaintenanceActions_filters :: Lens.Lens' DescribePendingMaintenanceActions (Prelude.Maybe [Filter])+describePendingMaintenanceActions_filters = Lens.lens (\DescribePendingMaintenanceActions' {filters} -> filters) (\s@DescribePendingMaintenanceActions' {} a -> s {filters = a} :: DescribePendingMaintenanceActions) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous+-- @DescribePendingMaintenanceActions@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to a+-- number of records specified by @MaxRecords@.+describePendingMaintenanceActions_marker :: Lens.Lens' DescribePendingMaintenanceActions (Prelude.Maybe Prelude.Text)+describePendingMaintenanceActions_marker = Lens.lens (\DescribePendingMaintenanceActions' {marker} -> marker) (\s@DescribePendingMaintenanceActions' {} a -> s {marker = a} :: DescribePendingMaintenanceActions)++-- | The maximum number of records to include in the response. If more+-- records exist than the specified @MaxRecords@ value, a pagination token+-- called a marker is included in the response so that the remaining+-- results can be retrieved.+--+-- Default: 100+--+-- Constraints: Minimum 20, maximum 100.+describePendingMaintenanceActions_maxRecords :: Lens.Lens' DescribePendingMaintenanceActions (Prelude.Maybe Prelude.Int)+describePendingMaintenanceActions_maxRecords = Lens.lens (\DescribePendingMaintenanceActions' {maxRecords} -> maxRecords) (\s@DescribePendingMaintenanceActions' {} a -> s {maxRecords = a} :: DescribePendingMaintenanceActions)++-- | The ARN of a resource to return pending maintenance actions for.+describePendingMaintenanceActions_resourceIdentifier :: Lens.Lens' DescribePendingMaintenanceActions (Prelude.Maybe Prelude.Text)+describePendingMaintenanceActions_resourceIdentifier = Lens.lens (\DescribePendingMaintenanceActions' {resourceIdentifier} -> resourceIdentifier) (\s@DescribePendingMaintenanceActions' {} a -> s {resourceIdentifier = a} :: DescribePendingMaintenanceActions)++instance+  Core.AWSPager+    DescribePendingMaintenanceActions+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describePendingMaintenanceActionsResponse_marker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describePendingMaintenanceActionsResponse_pendingMaintenanceActions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describePendingMaintenanceActions_marker+          Lens..~ rs+          Lens.^? describePendingMaintenanceActionsResponse_marker+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribePendingMaintenanceActions+  where+  type+    AWSResponse DescribePendingMaintenanceActions =+      DescribePendingMaintenanceActionsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribePendingMaintenanceActionsResult"+      ( \s h x ->+          DescribePendingMaintenanceActionsResponse'+            Prelude.<$> (x Data..@? "Marker")+            Prelude.<*> ( x+                            Data..@? "PendingMaintenanceActions"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may+                              ( Data.parseXMLList+                                  "ResourcePendingMaintenanceActions"+                              )+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribePendingMaintenanceActions+  where+  hashWithSalt+    _salt+    DescribePendingMaintenanceActions' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` marker+        `Prelude.hashWithSalt` maxRecords+        `Prelude.hashWithSalt` resourceIdentifier++instance+  Prelude.NFData+    DescribePendingMaintenanceActions+  where+  rnf DescribePendingMaintenanceActions' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxRecords+      `Prelude.seq` Prelude.rnf resourceIdentifier++instance+  Data.ToHeaders+    DescribePendingMaintenanceActions+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DescribePendingMaintenanceActions+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribePendingMaintenanceActions+  where+  toQuery DescribePendingMaintenanceActions' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribePendingMaintenanceActions" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "Marker" Data.=: marker,+        "MaxRecords" Data.=: maxRecords,+        "ResourceIdentifier" Data.=: resourceIdentifier+      ]++-- | /See:/ 'newDescribePendingMaintenanceActionsResponse' smart constructor.+data DescribePendingMaintenanceActionsResponse = DescribePendingMaintenanceActionsResponse'+  { -- | An optional pagination token provided by a previous+    -- @DescribePendingMaintenanceActions@ request. If this parameter is+    -- specified, the response includes only records beyond the marker, up to a+    -- number of records specified by @MaxRecords@.+    marker :: Prelude.Maybe Prelude.Text,+    -- | A list of the pending maintenance actions for the resource.+    pendingMaintenanceActions :: Prelude.Maybe [ResourcePendingMaintenanceActions],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePendingMaintenanceActionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'marker', 'describePendingMaintenanceActionsResponse_marker' - An optional pagination token provided by a previous+-- @DescribePendingMaintenanceActions@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to a+-- number of records specified by @MaxRecords@.+--+-- 'pendingMaintenanceActions', 'describePendingMaintenanceActionsResponse_pendingMaintenanceActions' - A list of the pending maintenance actions for the resource.+--+-- 'httpStatus', 'describePendingMaintenanceActionsResponse_httpStatus' - The response's http status code.+newDescribePendingMaintenanceActionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribePendingMaintenanceActionsResponse+newDescribePendingMaintenanceActionsResponse+  pHttpStatus_ =+    DescribePendingMaintenanceActionsResponse'+      { marker =+          Prelude.Nothing,+        pendingMaintenanceActions =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | An optional pagination token provided by a previous+-- @DescribePendingMaintenanceActions@ request. If this parameter is+-- specified, the response includes only records beyond the marker, up to a+-- number of records specified by @MaxRecords@.+describePendingMaintenanceActionsResponse_marker :: Lens.Lens' DescribePendingMaintenanceActionsResponse (Prelude.Maybe Prelude.Text)+describePendingMaintenanceActionsResponse_marker = Lens.lens (\DescribePendingMaintenanceActionsResponse' {marker} -> marker) (\s@DescribePendingMaintenanceActionsResponse' {} a -> s {marker = a} :: DescribePendingMaintenanceActionsResponse)++-- | A list of the pending maintenance actions for the resource.+describePendingMaintenanceActionsResponse_pendingMaintenanceActions :: Lens.Lens' DescribePendingMaintenanceActionsResponse (Prelude.Maybe [ResourcePendingMaintenanceActions])+describePendingMaintenanceActionsResponse_pendingMaintenanceActions = Lens.lens (\DescribePendingMaintenanceActionsResponse' {pendingMaintenanceActions} -> pendingMaintenanceActions) (\s@DescribePendingMaintenanceActionsResponse' {} a -> s {pendingMaintenanceActions = a} :: DescribePendingMaintenanceActionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describePendingMaintenanceActionsResponse_httpStatus :: Lens.Lens' DescribePendingMaintenanceActionsResponse Prelude.Int+describePendingMaintenanceActionsResponse_httpStatus = Lens.lens (\DescribePendingMaintenanceActionsResponse' {httpStatus} -> httpStatus) (\s@DescribePendingMaintenanceActionsResponse' {} a -> s {httpStatus = a} :: DescribePendingMaintenanceActionsResponse)++instance+  Prelude.NFData+    DescribePendingMaintenanceActionsResponse+  where+  rnf DescribePendingMaintenanceActionsResponse' {..} =+    Prelude.rnf marker+      `Prelude.seq` Prelude.rnf pendingMaintenanceActions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/DescribeValidDBInstanceModifications.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.DescribeValidDBInstanceModifications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- You can call DescribeValidDBInstanceModifications to learn what+-- modifications you can make to your DB instance. You can use this+-- information when you call ModifyDBInstance.+module Amazonka.Neptune.DescribeValidDBInstanceModifications+  ( -- * Creating a Request+    DescribeValidDBInstanceModifications (..),+    newDescribeValidDBInstanceModifications,++    -- * Request Lenses+    describeValidDBInstanceModifications_dbInstanceIdentifier,++    -- * Destructuring the Response+    DescribeValidDBInstanceModificationsResponse (..),+    newDescribeValidDBInstanceModificationsResponse,++    -- * Response Lenses+    describeValidDBInstanceModificationsResponse_validDBInstanceModificationsMessage,+    describeValidDBInstanceModificationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeValidDBInstanceModifications' smart constructor.+data DescribeValidDBInstanceModifications = DescribeValidDBInstanceModifications'+  { -- | The customer identifier or the ARN of your DB instance.+    dbInstanceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeValidDBInstanceModifications' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstanceIdentifier', 'describeValidDBInstanceModifications_dbInstanceIdentifier' - The customer identifier or the ARN of your DB instance.+newDescribeValidDBInstanceModifications ::+  -- | 'dbInstanceIdentifier'+  Prelude.Text ->+  DescribeValidDBInstanceModifications+newDescribeValidDBInstanceModifications+  pDBInstanceIdentifier_ =+    DescribeValidDBInstanceModifications'+      { dbInstanceIdentifier =+          pDBInstanceIdentifier_+      }++-- | The customer identifier or the ARN of your DB instance.+describeValidDBInstanceModifications_dbInstanceIdentifier :: Lens.Lens' DescribeValidDBInstanceModifications Prelude.Text+describeValidDBInstanceModifications_dbInstanceIdentifier = Lens.lens (\DescribeValidDBInstanceModifications' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@DescribeValidDBInstanceModifications' {} a -> s {dbInstanceIdentifier = a} :: DescribeValidDBInstanceModifications)++instance+  Core.AWSRequest+    DescribeValidDBInstanceModifications+  where+  type+    AWSResponse DescribeValidDBInstanceModifications =+      DescribeValidDBInstanceModificationsResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "DescribeValidDBInstanceModificationsResult"+      ( \s h x ->+          DescribeValidDBInstanceModificationsResponse'+            Prelude.<$> (x Data..@? "ValidDBInstanceModificationsMessage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeValidDBInstanceModifications+  where+  hashWithSalt+    _salt+    DescribeValidDBInstanceModifications' {..} =+      _salt `Prelude.hashWithSalt` dbInstanceIdentifier++instance+  Prelude.NFData+    DescribeValidDBInstanceModifications+  where+  rnf DescribeValidDBInstanceModifications' {..} =+    Prelude.rnf dbInstanceIdentifier++instance+  Data.ToHeaders+    DescribeValidDBInstanceModifications+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DescribeValidDBInstanceModifications+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeValidDBInstanceModifications+  where+  toQuery DescribeValidDBInstanceModifications' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "DescribeValidDBInstanceModifications" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier+      ]++-- | /See:/ 'newDescribeValidDBInstanceModificationsResponse' smart constructor.+data DescribeValidDBInstanceModificationsResponse = DescribeValidDBInstanceModificationsResponse'+  { validDBInstanceModificationsMessage :: Prelude.Maybe ValidDBInstanceModificationsMessage,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeValidDBInstanceModificationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'validDBInstanceModificationsMessage', 'describeValidDBInstanceModificationsResponse_validDBInstanceModificationsMessage' - Undocumented member.+--+-- 'httpStatus', 'describeValidDBInstanceModificationsResponse_httpStatus' - The response's http status code.+newDescribeValidDBInstanceModificationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeValidDBInstanceModificationsResponse+newDescribeValidDBInstanceModificationsResponse+  pHttpStatus_ =+    DescribeValidDBInstanceModificationsResponse'+      { validDBInstanceModificationsMessage =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+describeValidDBInstanceModificationsResponse_validDBInstanceModificationsMessage :: Lens.Lens' DescribeValidDBInstanceModificationsResponse (Prelude.Maybe ValidDBInstanceModificationsMessage)+describeValidDBInstanceModificationsResponse_validDBInstanceModificationsMessage = Lens.lens (\DescribeValidDBInstanceModificationsResponse' {validDBInstanceModificationsMessage} -> validDBInstanceModificationsMessage) (\s@DescribeValidDBInstanceModificationsResponse' {} a -> s {validDBInstanceModificationsMessage = a} :: DescribeValidDBInstanceModificationsResponse)++-- | The response's http status code.+describeValidDBInstanceModificationsResponse_httpStatus :: Lens.Lens' DescribeValidDBInstanceModificationsResponse Prelude.Int+describeValidDBInstanceModificationsResponse_httpStatus = Lens.lens (\DescribeValidDBInstanceModificationsResponse' {httpStatus} -> httpStatus) (\s@DescribeValidDBInstanceModificationsResponse' {} a -> s {httpStatus = a} :: DescribeValidDBInstanceModificationsResponse)++instance+  Prelude.NFData+    DescribeValidDBInstanceModificationsResponse+  where+  rnf DescribeValidDBInstanceModificationsResponse' {..} =+    Prelude.rnf validDBInstanceModificationsMessage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/FailoverDBCluster.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.FailoverDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Forces a failover for a DB cluster.+--+-- A failover for a DB cluster promotes one of the Read Replicas (read-only+-- instances) in the DB cluster to be the primary instance (the cluster+-- writer).+--+-- Amazon Neptune will automatically fail over to a Read Replica, if one+-- exists, when the primary instance fails. You can force a failover when+-- you want to simulate a failure of a primary instance for testing.+-- Because each instance in a DB cluster has its own endpoint address, you+-- will need to clean up and re-establish any existing connections that use+-- those endpoint addresses when the failover is complete.+module Amazonka.Neptune.FailoverDBCluster+  ( -- * Creating a Request+    FailoverDBCluster (..),+    newFailoverDBCluster,++    -- * Request Lenses+    failoverDBCluster_dbClusterIdentifier,+    failoverDBCluster_targetDBInstanceIdentifier,++    -- * Destructuring the Response+    FailoverDBClusterResponse (..),+    newFailoverDBClusterResponse,++    -- * Response Lenses+    failoverDBClusterResponse_dbCluster,+    failoverDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newFailoverDBCluster' smart constructor.+data FailoverDBCluster = FailoverDBCluster'+  { -- | A DB cluster identifier to force a failover for. This parameter is not+    -- case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBCluster.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The name of the instance to promote to the primary instance.+    --+    -- You must specify the instance identifier for an Read Replica in the DB+    -- cluster. For example, @mydbcluster-replica1@.+    targetDBInstanceIdentifier :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailoverDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'failoverDBCluster_dbClusterIdentifier' - A DB cluster identifier to force a failover for. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+--+-- 'targetDBInstanceIdentifier', 'failoverDBCluster_targetDBInstanceIdentifier' - The name of the instance to promote to the primary instance.+--+-- You must specify the instance identifier for an Read Replica in the DB+-- cluster. For example, @mydbcluster-replica1@.+newFailoverDBCluster ::+  FailoverDBCluster+newFailoverDBCluster =+  FailoverDBCluster'+    { dbClusterIdentifier =+        Prelude.Nothing,+      targetDBInstanceIdentifier = Prelude.Nothing+    }++-- | A DB cluster identifier to force a failover for. This parameter is not+-- case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+failoverDBCluster_dbClusterIdentifier :: Lens.Lens' FailoverDBCluster (Prelude.Maybe Prelude.Text)+failoverDBCluster_dbClusterIdentifier = Lens.lens (\FailoverDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@FailoverDBCluster' {} a -> s {dbClusterIdentifier = a} :: FailoverDBCluster)++-- | The name of the instance to promote to the primary instance.+--+-- You must specify the instance identifier for an Read Replica in the DB+-- cluster. For example, @mydbcluster-replica1@.+failoverDBCluster_targetDBInstanceIdentifier :: Lens.Lens' FailoverDBCluster (Prelude.Maybe Prelude.Text)+failoverDBCluster_targetDBInstanceIdentifier = Lens.lens (\FailoverDBCluster' {targetDBInstanceIdentifier} -> targetDBInstanceIdentifier) (\s@FailoverDBCluster' {} a -> s {targetDBInstanceIdentifier = a} :: FailoverDBCluster)++instance Core.AWSRequest FailoverDBCluster where+  type+    AWSResponse FailoverDBCluster =+      FailoverDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "FailoverDBClusterResult"+      ( \s h x ->+          FailoverDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable FailoverDBCluster where+  hashWithSalt _salt FailoverDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` targetDBInstanceIdentifier++instance Prelude.NFData FailoverDBCluster where+  rnf FailoverDBCluster' {..} =+    Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf targetDBInstanceIdentifier++instance Data.ToHeaders FailoverDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath FailoverDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery FailoverDBCluster where+  toQuery FailoverDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("FailoverDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "TargetDBInstanceIdentifier"+          Data.=: targetDBInstanceIdentifier+      ]++-- | /See:/ 'newFailoverDBClusterResponse' smart constructor.+data FailoverDBClusterResponse = FailoverDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailoverDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'failoverDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'failoverDBClusterResponse_httpStatus' - The response's http status code.+newFailoverDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  FailoverDBClusterResponse+newFailoverDBClusterResponse pHttpStatus_ =+  FailoverDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+failoverDBClusterResponse_dbCluster :: Lens.Lens' FailoverDBClusterResponse (Prelude.Maybe DBCluster)+failoverDBClusterResponse_dbCluster = Lens.lens (\FailoverDBClusterResponse' {dbCluster} -> dbCluster) (\s@FailoverDBClusterResponse' {} a -> s {dbCluster = a} :: FailoverDBClusterResponse)++-- | The response's http status code.+failoverDBClusterResponse_httpStatus :: Lens.Lens' FailoverDBClusterResponse Prelude.Int+failoverDBClusterResponse_httpStatus = Lens.lens (\FailoverDBClusterResponse' {httpStatus} -> httpStatus) (\s@FailoverDBClusterResponse' {} a -> s {httpStatus = a} :: FailoverDBClusterResponse)++instance Prelude.NFData FailoverDBClusterResponse where+  rnf FailoverDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/FailoverGlobalCluster.hs view
@@ -0,0 +1,215 @@+{-# 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.Neptune.FailoverGlobalCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initiates the failover process for a Neptune global database.+--+-- A failover for a Neptune global database promotes one of secondary+-- read-only DB clusters to be the primary DB cluster and demotes the+-- primary DB cluster to being a secondary (read-only) DB cluster. In other+-- words, the role of the current primary DB cluster and the selected+-- target secondary DB cluster are switched. The selected secondary DB+-- cluster assumes full read\/write capabilities for the Neptune global+-- database.+--+-- This action applies __only__ to Neptune global databases. This action is+-- only intended for use on healthy Neptune global databases with healthy+-- Neptune DB clusters and no region-wide outages, to test disaster+-- recovery scenarios or to reconfigure the global database topology.+module Amazonka.Neptune.FailoverGlobalCluster+  ( -- * Creating a Request+    FailoverGlobalCluster (..),+    newFailoverGlobalCluster,++    -- * Request Lenses+    failoverGlobalCluster_globalClusterIdentifier,+    failoverGlobalCluster_targetDbClusterIdentifier,++    -- * Destructuring the Response+    FailoverGlobalClusterResponse (..),+    newFailoverGlobalClusterResponse,++    -- * Response Lenses+    failoverGlobalClusterResponse_globalCluster,+    failoverGlobalClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newFailoverGlobalCluster' smart constructor.+data FailoverGlobalCluster = FailoverGlobalCluster'+  { -- | Identifier of the Neptune global database that should be failed over.+    -- The identifier is the unique key assigned by the user when the Neptune+    -- global database was created. In other words, it\'s the name of the+    -- global database that you want to fail over.+    --+    -- Constraints: Must match the identifier of an existing Neptune global+    -- database.+    globalClusterIdentifier :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the secondary Neptune DB cluster that+    -- you want to promote to primary for the global database.+    targetDbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailoverGlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalClusterIdentifier', 'failoverGlobalCluster_globalClusterIdentifier' - Identifier of the Neptune global database that should be failed over.+-- The identifier is the unique key assigned by the user when the Neptune+-- global database was created. In other words, it\'s the name of the+-- global database that you want to fail over.+--+-- Constraints: Must match the identifier of an existing Neptune global+-- database.+--+-- 'targetDbClusterIdentifier', 'failoverGlobalCluster_targetDbClusterIdentifier' - The Amazon Resource Name (ARN) of the secondary Neptune DB cluster that+-- you want to promote to primary for the global database.+newFailoverGlobalCluster ::+  -- | 'globalClusterIdentifier'+  Prelude.Text ->+  -- | 'targetDbClusterIdentifier'+  Prelude.Text ->+  FailoverGlobalCluster+newFailoverGlobalCluster+  pGlobalClusterIdentifier_+  pTargetDbClusterIdentifier_ =+    FailoverGlobalCluster'+      { globalClusterIdentifier =+          pGlobalClusterIdentifier_,+        targetDbClusterIdentifier =+          pTargetDbClusterIdentifier_+      }++-- | Identifier of the Neptune global database that should be failed over.+-- The identifier is the unique key assigned by the user when the Neptune+-- global database was created. In other words, it\'s the name of the+-- global database that you want to fail over.+--+-- Constraints: Must match the identifier of an existing Neptune global+-- database.+failoverGlobalCluster_globalClusterIdentifier :: Lens.Lens' FailoverGlobalCluster Prelude.Text+failoverGlobalCluster_globalClusterIdentifier = Lens.lens (\FailoverGlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@FailoverGlobalCluster' {} a -> s {globalClusterIdentifier = a} :: FailoverGlobalCluster)++-- | The Amazon Resource Name (ARN) of the secondary Neptune DB cluster that+-- you want to promote to primary for the global database.+failoverGlobalCluster_targetDbClusterIdentifier :: Lens.Lens' FailoverGlobalCluster Prelude.Text+failoverGlobalCluster_targetDbClusterIdentifier = Lens.lens (\FailoverGlobalCluster' {targetDbClusterIdentifier} -> targetDbClusterIdentifier) (\s@FailoverGlobalCluster' {} a -> s {targetDbClusterIdentifier = a} :: FailoverGlobalCluster)++instance Core.AWSRequest FailoverGlobalCluster where+  type+    AWSResponse FailoverGlobalCluster =+      FailoverGlobalClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "FailoverGlobalClusterResult"+      ( \s h x ->+          FailoverGlobalClusterResponse'+            Prelude.<$> (x Data..@? "GlobalCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable FailoverGlobalCluster where+  hashWithSalt _salt FailoverGlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` globalClusterIdentifier+      `Prelude.hashWithSalt` targetDbClusterIdentifier++instance Prelude.NFData FailoverGlobalCluster where+  rnf FailoverGlobalCluster' {..} =+    Prelude.rnf globalClusterIdentifier+      `Prelude.seq` Prelude.rnf targetDbClusterIdentifier++instance Data.ToHeaders FailoverGlobalCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath FailoverGlobalCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery FailoverGlobalCluster where+  toQuery FailoverGlobalCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("FailoverGlobalCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier,+        "TargetDbClusterIdentifier"+          Data.=: targetDbClusterIdentifier+      ]++-- | /See:/ 'newFailoverGlobalClusterResponse' smart constructor.+data FailoverGlobalClusterResponse = FailoverGlobalClusterResponse'+  { globalCluster :: Prelude.Maybe GlobalCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailoverGlobalClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalCluster', 'failoverGlobalClusterResponse_globalCluster' - Undocumented member.+--+-- 'httpStatus', 'failoverGlobalClusterResponse_httpStatus' - The response's http status code.+newFailoverGlobalClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  FailoverGlobalClusterResponse+newFailoverGlobalClusterResponse pHttpStatus_ =+  FailoverGlobalClusterResponse'+    { globalCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+failoverGlobalClusterResponse_globalCluster :: Lens.Lens' FailoverGlobalClusterResponse (Prelude.Maybe GlobalCluster)+failoverGlobalClusterResponse_globalCluster = Lens.lens (\FailoverGlobalClusterResponse' {globalCluster} -> globalCluster) (\s@FailoverGlobalClusterResponse' {} a -> s {globalCluster = a} :: FailoverGlobalClusterResponse)++-- | The response's http status code.+failoverGlobalClusterResponse_httpStatus :: Lens.Lens' FailoverGlobalClusterResponse Prelude.Int+failoverGlobalClusterResponse_httpStatus = Lens.lens (\FailoverGlobalClusterResponse' {httpStatus} -> httpStatus) (\s@FailoverGlobalClusterResponse' {} a -> s {httpStatus = a} :: FailoverGlobalClusterResponse)++instance Prelude.NFData FailoverGlobalClusterResponse where+  rnf FailoverGlobalClusterResponse' {..} =+    Prelude.rnf globalCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/Lens.hs view
@@ -0,0 +1,1213 @@+{-# 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.Neptune.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.Neptune.Lens+  ( -- * Operations++    -- ** AddRoleToDBCluster+    addRoleToDBCluster_featureName,+    addRoleToDBCluster_dbClusterIdentifier,+    addRoleToDBCluster_roleArn,++    -- ** AddSourceIdentifierToSubscription+    addSourceIdentifierToSubscription_subscriptionName,+    addSourceIdentifierToSubscription_sourceIdentifier,+    addSourceIdentifierToSubscriptionResponse_eventSubscription,+    addSourceIdentifierToSubscriptionResponse_httpStatus,++    -- ** AddTagsToResource+    addTagsToResource_resourceName,+    addTagsToResource_tags,++    -- ** ApplyPendingMaintenanceAction+    applyPendingMaintenanceAction_resourceIdentifier,+    applyPendingMaintenanceAction_applyAction,+    applyPendingMaintenanceAction_optInType,+    applyPendingMaintenanceActionResponse_resourcePendingMaintenanceActions,+    applyPendingMaintenanceActionResponse_httpStatus,++    -- ** CopyDBClusterParameterGroup+    copyDBClusterParameterGroup_tags,+    copyDBClusterParameterGroup_sourceDBClusterParameterGroupIdentifier,+    copyDBClusterParameterGroup_targetDBClusterParameterGroupIdentifier,+    copyDBClusterParameterGroup_targetDBClusterParameterGroupDescription,+    copyDBClusterParameterGroupResponse_dbClusterParameterGroup,+    copyDBClusterParameterGroupResponse_httpStatus,++    -- ** CopyDBClusterSnapshot+    copyDBClusterSnapshot_copyTags,+    copyDBClusterSnapshot_kmsKeyId,+    copyDBClusterSnapshot_preSignedUrl,+    copyDBClusterSnapshot_tags,+    copyDBClusterSnapshot_sourceDBClusterSnapshotIdentifier,+    copyDBClusterSnapshot_targetDBClusterSnapshotIdentifier,+    copyDBClusterSnapshotResponse_dbClusterSnapshot,+    copyDBClusterSnapshotResponse_httpStatus,++    -- ** CopyDBParameterGroup+    copyDBParameterGroup_tags,+    copyDBParameterGroup_sourceDBParameterGroupIdentifier,+    copyDBParameterGroup_targetDBParameterGroupIdentifier,+    copyDBParameterGroup_targetDBParameterGroupDescription,+    copyDBParameterGroupResponse_dbParameterGroup,+    copyDBParameterGroupResponse_httpStatus,++    -- ** CreateDBCluster+    createDBCluster_availabilityZones,+    createDBCluster_backupRetentionPeriod,+    createDBCluster_characterSetName,+    createDBCluster_copyTagsToSnapshot,+    createDBCluster_dbClusterParameterGroupName,+    createDBCluster_dbSubnetGroupName,+    createDBCluster_databaseName,+    createDBCluster_deletionProtection,+    createDBCluster_enableCloudwatchLogsExports,+    createDBCluster_enableIAMDatabaseAuthentication,+    createDBCluster_engineVersion,+    createDBCluster_globalClusterIdentifier,+    createDBCluster_kmsKeyId,+    createDBCluster_masterUserPassword,+    createDBCluster_masterUsername,+    createDBCluster_optionGroupName,+    createDBCluster_port,+    createDBCluster_preSignedUrl,+    createDBCluster_preferredBackupWindow,+    createDBCluster_preferredMaintenanceWindow,+    createDBCluster_replicationSourceIdentifier,+    createDBCluster_serverlessV2ScalingConfiguration,+    createDBCluster_storageEncrypted,+    createDBCluster_tags,+    createDBCluster_vpcSecurityGroupIds,+    createDBCluster_dbClusterIdentifier,+    createDBCluster_engine,+    createDBClusterResponse_dbCluster,+    createDBClusterResponse_httpStatus,++    -- ** CreateDBClusterEndpoint+    createDBClusterEndpoint_excludedMembers,+    createDBClusterEndpoint_staticMembers,+    createDBClusterEndpoint_tags,+    createDBClusterEndpoint_dbClusterIdentifier,+    createDBClusterEndpoint_dbClusterEndpointIdentifier,+    createDBClusterEndpoint_endpointType,+    createDBClusterEndpointResponse_customEndpointType,+    createDBClusterEndpointResponse_dbClusterEndpointArn,+    createDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    createDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    createDBClusterEndpointResponse_dbClusterIdentifier,+    createDBClusterEndpointResponse_endpoint,+    createDBClusterEndpointResponse_endpointType,+    createDBClusterEndpointResponse_excludedMembers,+    createDBClusterEndpointResponse_staticMembers,+    createDBClusterEndpointResponse_status,+    createDBClusterEndpointResponse_httpStatus,++    -- ** CreateDBClusterParameterGroup+    createDBClusterParameterGroup_tags,+    createDBClusterParameterGroup_dbClusterParameterGroupName,+    createDBClusterParameterGroup_dbParameterGroupFamily,+    createDBClusterParameterGroup_description,+    createDBClusterParameterGroupResponse_dbClusterParameterGroup,+    createDBClusterParameterGroupResponse_httpStatus,++    -- ** CreateDBClusterSnapshot+    createDBClusterSnapshot_tags,+    createDBClusterSnapshot_dbClusterSnapshotIdentifier,+    createDBClusterSnapshot_dbClusterIdentifier,+    createDBClusterSnapshotResponse_dbClusterSnapshot,+    createDBClusterSnapshotResponse_httpStatus,++    -- ** CreateDBInstance+    createDBInstance_allocatedStorage,+    createDBInstance_autoMinorVersionUpgrade,+    createDBInstance_availabilityZone,+    createDBInstance_backupRetentionPeriod,+    createDBInstance_characterSetName,+    createDBInstance_copyTagsToSnapshot,+    createDBInstance_dbClusterIdentifier,+    createDBInstance_dbName,+    createDBInstance_dbParameterGroupName,+    createDBInstance_dbSecurityGroups,+    createDBInstance_dbSubnetGroupName,+    createDBInstance_deletionProtection,+    createDBInstance_domain,+    createDBInstance_domainIAMRoleName,+    createDBInstance_enableCloudwatchLogsExports,+    createDBInstance_enableIAMDatabaseAuthentication,+    createDBInstance_enablePerformanceInsights,+    createDBInstance_engineVersion,+    createDBInstance_iops,+    createDBInstance_kmsKeyId,+    createDBInstance_licenseModel,+    createDBInstance_masterUserPassword,+    createDBInstance_masterUsername,+    createDBInstance_monitoringInterval,+    createDBInstance_monitoringRoleArn,+    createDBInstance_multiAZ,+    createDBInstance_optionGroupName,+    createDBInstance_performanceInsightsKMSKeyId,+    createDBInstance_port,+    createDBInstance_preferredBackupWindow,+    createDBInstance_preferredMaintenanceWindow,+    createDBInstance_promotionTier,+    createDBInstance_publiclyAccessible,+    createDBInstance_storageEncrypted,+    createDBInstance_storageType,+    createDBInstance_tags,+    createDBInstance_tdeCredentialArn,+    createDBInstance_tdeCredentialPassword,+    createDBInstance_timezone,+    createDBInstance_vpcSecurityGroupIds,+    createDBInstance_dbInstanceIdentifier,+    createDBInstance_dbInstanceClass,+    createDBInstance_engine,+    createDBInstanceResponse_dbInstance,+    createDBInstanceResponse_httpStatus,++    -- ** CreateDBParameterGroup+    createDBParameterGroup_tags,+    createDBParameterGroup_dbParameterGroupName,+    createDBParameterGroup_dbParameterGroupFamily,+    createDBParameterGroup_description,+    createDBParameterGroupResponse_dbParameterGroup,+    createDBParameterGroupResponse_httpStatus,++    -- ** CreateDBSubnetGroup+    createDBSubnetGroup_tags,+    createDBSubnetGroup_dbSubnetGroupName,+    createDBSubnetGroup_dbSubnetGroupDescription,+    createDBSubnetGroup_subnetIds,+    createDBSubnetGroupResponse_dbSubnetGroup,+    createDBSubnetGroupResponse_httpStatus,++    -- ** CreateEventSubscription+    createEventSubscription_enabled,+    createEventSubscription_eventCategories,+    createEventSubscription_sourceIds,+    createEventSubscription_sourceType,+    createEventSubscription_tags,+    createEventSubscription_subscriptionName,+    createEventSubscription_snsTopicArn,+    createEventSubscriptionResponse_eventSubscription,+    createEventSubscriptionResponse_httpStatus,++    -- ** CreateGlobalCluster+    createGlobalCluster_deletionProtection,+    createGlobalCluster_engine,+    createGlobalCluster_engineVersion,+    createGlobalCluster_sourceDBClusterIdentifier,+    createGlobalCluster_storageEncrypted,+    createGlobalCluster_globalClusterIdentifier,+    createGlobalClusterResponse_globalCluster,+    createGlobalClusterResponse_httpStatus,++    -- ** DeleteDBCluster+    deleteDBCluster_finalDBSnapshotIdentifier,+    deleteDBCluster_skipFinalSnapshot,+    deleteDBCluster_dbClusterIdentifier,+    deleteDBClusterResponse_dbCluster,+    deleteDBClusterResponse_httpStatus,++    -- ** DeleteDBClusterEndpoint+    deleteDBClusterEndpoint_dbClusterEndpointIdentifier,+    deleteDBClusterEndpointResponse_customEndpointType,+    deleteDBClusterEndpointResponse_dbClusterEndpointArn,+    deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    deleteDBClusterEndpointResponse_dbClusterIdentifier,+    deleteDBClusterEndpointResponse_endpoint,+    deleteDBClusterEndpointResponse_endpointType,+    deleteDBClusterEndpointResponse_excludedMembers,+    deleteDBClusterEndpointResponse_staticMembers,+    deleteDBClusterEndpointResponse_status,+    deleteDBClusterEndpointResponse_httpStatus,++    -- ** DeleteDBClusterParameterGroup+    deleteDBClusterParameterGroup_dbClusterParameterGroupName,++    -- ** DeleteDBClusterSnapshot+    deleteDBClusterSnapshot_dbClusterSnapshotIdentifier,+    deleteDBClusterSnapshotResponse_dbClusterSnapshot,+    deleteDBClusterSnapshotResponse_httpStatus,++    -- ** DeleteDBInstance+    deleteDBInstance_finalDBSnapshotIdentifier,+    deleteDBInstance_skipFinalSnapshot,+    deleteDBInstance_dbInstanceIdentifier,+    deleteDBInstanceResponse_dbInstance,+    deleteDBInstanceResponse_httpStatus,++    -- ** DeleteDBParameterGroup+    deleteDBParameterGroup_dbParameterGroupName,++    -- ** DeleteDBSubnetGroup+    deleteDBSubnetGroup_dbSubnetGroupName,++    -- ** DeleteEventSubscription+    deleteEventSubscription_subscriptionName,+    deleteEventSubscriptionResponse_eventSubscription,+    deleteEventSubscriptionResponse_httpStatus,++    -- ** DeleteGlobalCluster+    deleteGlobalCluster_globalClusterIdentifier,+    deleteGlobalClusterResponse_globalCluster,+    deleteGlobalClusterResponse_httpStatus,++    -- ** DescribeDBClusterEndpoints+    describeDBClusterEndpoints_dbClusterEndpointIdentifier,+    describeDBClusterEndpoints_dbClusterIdentifier,+    describeDBClusterEndpoints_filters,+    describeDBClusterEndpoints_marker,+    describeDBClusterEndpoints_maxRecords,+    describeDBClusterEndpointsResponse_dbClusterEndpoints,+    describeDBClusterEndpointsResponse_marker,+    describeDBClusterEndpointsResponse_httpStatus,++    -- ** DescribeDBClusterParameterGroups+    describeDBClusterParameterGroups_dbClusterParameterGroupName,+    describeDBClusterParameterGroups_filters,+    describeDBClusterParameterGroups_marker,+    describeDBClusterParameterGroups_maxRecords,+    describeDBClusterParameterGroupsResponse_dbClusterParameterGroups,+    describeDBClusterParameterGroupsResponse_marker,+    describeDBClusterParameterGroupsResponse_httpStatus,++    -- ** DescribeDBClusterParameters+    describeDBClusterParameters_filters,+    describeDBClusterParameters_marker,+    describeDBClusterParameters_maxRecords,+    describeDBClusterParameters_source,+    describeDBClusterParameters_dbClusterParameterGroupName,+    describeDBClusterParametersResponse_marker,+    describeDBClusterParametersResponse_parameters,+    describeDBClusterParametersResponse_httpStatus,++    -- ** DescribeDBClusterSnapshotAttributes+    describeDBClusterSnapshotAttributes_dbClusterSnapshotIdentifier,+    describeDBClusterSnapshotAttributesResponse_dbClusterSnapshotAttributesResult,+    describeDBClusterSnapshotAttributesResponse_httpStatus,++    -- ** DescribeDBClusterSnapshots+    describeDBClusterSnapshots_dbClusterIdentifier,+    describeDBClusterSnapshots_dbClusterSnapshotIdentifier,+    describeDBClusterSnapshots_filters,+    describeDBClusterSnapshots_includePublic,+    describeDBClusterSnapshots_includeShared,+    describeDBClusterSnapshots_marker,+    describeDBClusterSnapshots_maxRecords,+    describeDBClusterSnapshots_snapshotType,+    describeDBClusterSnapshotsResponse_dbClusterSnapshots,+    describeDBClusterSnapshotsResponse_marker,+    describeDBClusterSnapshotsResponse_httpStatus,++    -- ** DescribeDBClusters+    describeDBClusters_dbClusterIdentifier,+    describeDBClusters_filters,+    describeDBClusters_marker,+    describeDBClusters_maxRecords,+    describeDBClustersResponse_dbClusters,+    describeDBClustersResponse_marker,+    describeDBClustersResponse_httpStatus,++    -- ** DescribeDBEngineVersions+    describeDBEngineVersions_dbParameterGroupFamily,+    describeDBEngineVersions_defaultOnly,+    describeDBEngineVersions_engine,+    describeDBEngineVersions_engineVersion,+    describeDBEngineVersions_filters,+    describeDBEngineVersions_listSupportedCharacterSets,+    describeDBEngineVersions_listSupportedTimezones,+    describeDBEngineVersions_marker,+    describeDBEngineVersions_maxRecords,+    describeDBEngineVersionsResponse_dbEngineVersions,+    describeDBEngineVersionsResponse_marker,+    describeDBEngineVersionsResponse_httpStatus,++    -- ** DescribeDBInstances+    describeDBInstances_dbInstanceIdentifier,+    describeDBInstances_filters,+    describeDBInstances_marker,+    describeDBInstances_maxRecords,+    describeDBInstancesResponse_dbInstances,+    describeDBInstancesResponse_marker,+    describeDBInstancesResponse_httpStatus,++    -- ** DescribeDBParameterGroups+    describeDBParameterGroups_dbParameterGroupName,+    describeDBParameterGroups_filters,+    describeDBParameterGroups_marker,+    describeDBParameterGroups_maxRecords,+    describeDBParameterGroupsResponse_dbParameterGroups,+    describeDBParameterGroupsResponse_marker,+    describeDBParameterGroupsResponse_httpStatus,++    -- ** DescribeDBParameters+    describeDBParameters_filters,+    describeDBParameters_marker,+    describeDBParameters_maxRecords,+    describeDBParameters_source,+    describeDBParameters_dbParameterGroupName,+    describeDBParametersResponse_marker,+    describeDBParametersResponse_parameters,+    describeDBParametersResponse_httpStatus,++    -- ** DescribeDBSubnetGroups+    describeDBSubnetGroups_dbSubnetGroupName,+    describeDBSubnetGroups_filters,+    describeDBSubnetGroups_marker,+    describeDBSubnetGroups_maxRecords,+    describeDBSubnetGroupsResponse_dbSubnetGroups,+    describeDBSubnetGroupsResponse_marker,+    describeDBSubnetGroupsResponse_httpStatus,++    -- ** DescribeEngineDefaultClusterParameters+    describeEngineDefaultClusterParameters_filters,+    describeEngineDefaultClusterParameters_marker,+    describeEngineDefaultClusterParameters_maxRecords,+    describeEngineDefaultClusterParameters_dbParameterGroupFamily,+    describeEngineDefaultClusterParametersResponse_engineDefaults,+    describeEngineDefaultClusterParametersResponse_httpStatus,++    -- ** DescribeEngineDefaultParameters+    describeEngineDefaultParameters_filters,+    describeEngineDefaultParameters_marker,+    describeEngineDefaultParameters_maxRecords,+    describeEngineDefaultParameters_dbParameterGroupFamily,+    describeEngineDefaultParametersResponse_engineDefaults,+    describeEngineDefaultParametersResponse_httpStatus,++    -- ** DescribeEventCategories+    describeEventCategories_filters,+    describeEventCategories_sourceType,+    describeEventCategoriesResponse_eventCategoriesMapList,+    describeEventCategoriesResponse_httpStatus,++    -- ** DescribeEventSubscriptions+    describeEventSubscriptions_filters,+    describeEventSubscriptions_marker,+    describeEventSubscriptions_maxRecords,+    describeEventSubscriptions_subscriptionName,+    describeEventSubscriptionsResponse_eventSubscriptionsList,+    describeEventSubscriptionsResponse_marker,+    describeEventSubscriptionsResponse_httpStatus,++    -- ** DescribeEvents+    describeEvents_duration,+    describeEvents_endTime,+    describeEvents_eventCategories,+    describeEvents_filters,+    describeEvents_marker,+    describeEvents_maxRecords,+    describeEvents_sourceIdentifier,+    describeEvents_sourceType,+    describeEvents_startTime,+    describeEventsResponse_events,+    describeEventsResponse_marker,+    describeEventsResponse_httpStatus,++    -- ** DescribeGlobalClusters+    describeGlobalClusters_globalClusterIdentifier,+    describeGlobalClusters_marker,+    describeGlobalClusters_maxRecords,+    describeGlobalClustersResponse_globalClusters,+    describeGlobalClustersResponse_marker,+    describeGlobalClustersResponse_httpStatus,++    -- ** DescribeOrderableDBInstanceOptions+    describeOrderableDBInstanceOptions_dbInstanceClass,+    describeOrderableDBInstanceOptions_engineVersion,+    describeOrderableDBInstanceOptions_filters,+    describeOrderableDBInstanceOptions_licenseModel,+    describeOrderableDBInstanceOptions_marker,+    describeOrderableDBInstanceOptions_maxRecords,+    describeOrderableDBInstanceOptions_vpc,+    describeOrderableDBInstanceOptions_engine,+    describeOrderableDBInstanceOptionsResponse_marker,+    describeOrderableDBInstanceOptionsResponse_orderableDBInstanceOptions,+    describeOrderableDBInstanceOptionsResponse_httpStatus,++    -- ** DescribePendingMaintenanceActions+    describePendingMaintenanceActions_filters,+    describePendingMaintenanceActions_marker,+    describePendingMaintenanceActions_maxRecords,+    describePendingMaintenanceActions_resourceIdentifier,+    describePendingMaintenanceActionsResponse_marker,+    describePendingMaintenanceActionsResponse_pendingMaintenanceActions,+    describePendingMaintenanceActionsResponse_httpStatus,++    -- ** DescribeValidDBInstanceModifications+    describeValidDBInstanceModifications_dbInstanceIdentifier,+    describeValidDBInstanceModificationsResponse_validDBInstanceModificationsMessage,+    describeValidDBInstanceModificationsResponse_httpStatus,++    -- ** FailoverDBCluster+    failoverDBCluster_dbClusterIdentifier,+    failoverDBCluster_targetDBInstanceIdentifier,+    failoverDBClusterResponse_dbCluster,+    failoverDBClusterResponse_httpStatus,++    -- ** FailoverGlobalCluster+    failoverGlobalCluster_globalClusterIdentifier,+    failoverGlobalCluster_targetDbClusterIdentifier,+    failoverGlobalClusterResponse_globalCluster,+    failoverGlobalClusterResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_filters,+    listTagsForResource_resourceName,+    listTagsForResourceResponse_tagList,+    listTagsForResourceResponse_httpStatus,++    -- ** ModifyDBCluster+    modifyDBCluster_allowMajorVersionUpgrade,+    modifyDBCluster_applyImmediately,+    modifyDBCluster_backupRetentionPeriod,+    modifyDBCluster_cloudwatchLogsExportConfiguration,+    modifyDBCluster_copyTagsToSnapshot,+    modifyDBCluster_dbClusterParameterGroupName,+    modifyDBCluster_dbInstanceParameterGroupName,+    modifyDBCluster_deletionProtection,+    modifyDBCluster_enableIAMDatabaseAuthentication,+    modifyDBCluster_engineVersion,+    modifyDBCluster_masterUserPassword,+    modifyDBCluster_newDBClusterIdentifier,+    modifyDBCluster_optionGroupName,+    modifyDBCluster_port,+    modifyDBCluster_preferredBackupWindow,+    modifyDBCluster_preferredMaintenanceWindow,+    modifyDBCluster_serverlessV2ScalingConfiguration,+    modifyDBCluster_vpcSecurityGroupIds,+    modifyDBCluster_dbClusterIdentifier,+    modifyDBClusterResponse_dbCluster,+    modifyDBClusterResponse_httpStatus,++    -- ** ModifyDBClusterEndpoint+    modifyDBClusterEndpoint_endpointType,+    modifyDBClusterEndpoint_excludedMembers,+    modifyDBClusterEndpoint_staticMembers,+    modifyDBClusterEndpoint_dbClusterEndpointIdentifier,+    modifyDBClusterEndpointResponse_customEndpointType,+    modifyDBClusterEndpointResponse_dbClusterEndpointArn,+    modifyDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    modifyDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    modifyDBClusterEndpointResponse_dbClusterIdentifier,+    modifyDBClusterEndpointResponse_endpoint,+    modifyDBClusterEndpointResponse_endpointType,+    modifyDBClusterEndpointResponse_excludedMembers,+    modifyDBClusterEndpointResponse_staticMembers,+    modifyDBClusterEndpointResponse_status,+    modifyDBClusterEndpointResponse_httpStatus,++    -- ** ModifyDBClusterParameterGroup+    modifyDBClusterParameterGroup_dbClusterParameterGroupName,+    modifyDBClusterParameterGroup_parameters,+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,++    -- ** ModifyDBClusterSnapshotAttribute+    modifyDBClusterSnapshotAttribute_valuesToAdd,+    modifyDBClusterSnapshotAttribute_valuesToRemove,+    modifyDBClusterSnapshotAttribute_dbClusterSnapshotIdentifier,+    modifyDBClusterSnapshotAttribute_attributeName,+    modifyDBClusterSnapshotAttributeResponse_dbClusterSnapshotAttributesResult,+    modifyDBClusterSnapshotAttributeResponse_httpStatus,++    -- ** ModifyDBInstance+    modifyDBInstance_allocatedStorage,+    modifyDBInstance_allowMajorVersionUpgrade,+    modifyDBInstance_applyImmediately,+    modifyDBInstance_autoMinorVersionUpgrade,+    modifyDBInstance_backupRetentionPeriod,+    modifyDBInstance_cACertificateIdentifier,+    modifyDBInstance_cloudwatchLogsExportConfiguration,+    modifyDBInstance_copyTagsToSnapshot,+    modifyDBInstance_dbInstanceClass,+    modifyDBInstance_dbParameterGroupName,+    modifyDBInstance_dbPortNumber,+    modifyDBInstance_dbSecurityGroups,+    modifyDBInstance_dbSubnetGroupName,+    modifyDBInstance_deletionProtection,+    modifyDBInstance_domain,+    modifyDBInstance_domainIAMRoleName,+    modifyDBInstance_enableIAMDatabaseAuthentication,+    modifyDBInstance_enablePerformanceInsights,+    modifyDBInstance_engineVersion,+    modifyDBInstance_iops,+    modifyDBInstance_licenseModel,+    modifyDBInstance_masterUserPassword,+    modifyDBInstance_monitoringInterval,+    modifyDBInstance_monitoringRoleArn,+    modifyDBInstance_multiAZ,+    modifyDBInstance_newDBInstanceIdentifier,+    modifyDBInstance_optionGroupName,+    modifyDBInstance_performanceInsightsKMSKeyId,+    modifyDBInstance_preferredBackupWindow,+    modifyDBInstance_preferredMaintenanceWindow,+    modifyDBInstance_promotionTier,+    modifyDBInstance_publiclyAccessible,+    modifyDBInstance_storageType,+    modifyDBInstance_tdeCredentialArn,+    modifyDBInstance_tdeCredentialPassword,+    modifyDBInstance_vpcSecurityGroupIds,+    modifyDBInstance_dbInstanceIdentifier,+    modifyDBInstanceResponse_dbInstance,+    modifyDBInstanceResponse_httpStatus,++    -- ** ModifyDBParameterGroup+    modifyDBParameterGroup_dbParameterGroupName,+    modifyDBParameterGroup_parameters,+    dbParameterGroupNameMessage_dbParameterGroupName,++    -- ** ModifyDBSubnetGroup+    modifyDBSubnetGroup_dbSubnetGroupDescription,+    modifyDBSubnetGroup_dbSubnetGroupName,+    modifyDBSubnetGroup_subnetIds,+    modifyDBSubnetGroupResponse_dbSubnetGroup,+    modifyDBSubnetGroupResponse_httpStatus,++    -- ** ModifyEventSubscription+    modifyEventSubscription_enabled,+    modifyEventSubscription_eventCategories,+    modifyEventSubscription_snsTopicArn,+    modifyEventSubscription_sourceType,+    modifyEventSubscription_subscriptionName,+    modifyEventSubscriptionResponse_eventSubscription,+    modifyEventSubscriptionResponse_httpStatus,++    -- ** ModifyGlobalCluster+    modifyGlobalCluster_allowMajorVersionUpgrade,+    modifyGlobalCluster_deletionProtection,+    modifyGlobalCluster_engineVersion,+    modifyGlobalCluster_newGlobalClusterIdentifier,+    modifyGlobalCluster_globalClusterIdentifier,+    modifyGlobalClusterResponse_globalCluster,+    modifyGlobalClusterResponse_httpStatus,++    -- ** PromoteReadReplicaDBCluster+    promoteReadReplicaDBCluster_dbClusterIdentifier,+    promoteReadReplicaDBClusterResponse_dbCluster,+    promoteReadReplicaDBClusterResponse_httpStatus,++    -- ** RebootDBInstance+    rebootDBInstance_forceFailover,+    rebootDBInstance_dbInstanceIdentifier,+    rebootDBInstanceResponse_dbInstance,+    rebootDBInstanceResponse_httpStatus,++    -- ** RemoveFromGlobalCluster+    removeFromGlobalCluster_globalClusterIdentifier,+    removeFromGlobalCluster_dbClusterIdentifier,+    removeFromGlobalClusterResponse_globalCluster,+    removeFromGlobalClusterResponse_httpStatus,++    -- ** RemoveRoleFromDBCluster+    removeRoleFromDBCluster_featureName,+    removeRoleFromDBCluster_dbClusterIdentifier,+    removeRoleFromDBCluster_roleArn,++    -- ** RemoveSourceIdentifierFromSubscription+    removeSourceIdentifierFromSubscription_subscriptionName,+    removeSourceIdentifierFromSubscription_sourceIdentifier,+    removeSourceIdentifierFromSubscriptionResponse_eventSubscription,+    removeSourceIdentifierFromSubscriptionResponse_httpStatus,++    -- ** RemoveTagsFromResource+    removeTagsFromResource_resourceName,+    removeTagsFromResource_tagKeys,++    -- ** ResetDBClusterParameterGroup+    resetDBClusterParameterGroup_parameters,+    resetDBClusterParameterGroup_resetAllParameters,+    resetDBClusterParameterGroup_dbClusterParameterGroupName,+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,++    -- ** ResetDBParameterGroup+    resetDBParameterGroup_parameters,+    resetDBParameterGroup_resetAllParameters,+    resetDBParameterGroup_dbParameterGroupName,+    dbParameterGroupNameMessage_dbParameterGroupName,++    -- ** RestoreDBClusterFromSnapshot+    restoreDBClusterFromSnapshot_availabilityZones,+    restoreDBClusterFromSnapshot_copyTagsToSnapshot,+    restoreDBClusterFromSnapshot_dbClusterParameterGroupName,+    restoreDBClusterFromSnapshot_dbSubnetGroupName,+    restoreDBClusterFromSnapshot_databaseName,+    restoreDBClusterFromSnapshot_deletionProtection,+    restoreDBClusterFromSnapshot_enableCloudwatchLogsExports,+    restoreDBClusterFromSnapshot_enableIAMDatabaseAuthentication,+    restoreDBClusterFromSnapshot_engineVersion,+    restoreDBClusterFromSnapshot_kmsKeyId,+    restoreDBClusterFromSnapshot_optionGroupName,+    restoreDBClusterFromSnapshot_port,+    restoreDBClusterFromSnapshot_serverlessV2ScalingConfiguration,+    restoreDBClusterFromSnapshot_tags,+    restoreDBClusterFromSnapshot_vpcSecurityGroupIds,+    restoreDBClusterFromSnapshot_dbClusterIdentifier,+    restoreDBClusterFromSnapshot_snapshotIdentifier,+    restoreDBClusterFromSnapshot_engine,+    restoreDBClusterFromSnapshotResponse_dbCluster,+    restoreDBClusterFromSnapshotResponse_httpStatus,++    -- ** RestoreDBClusterToPointInTime+    restoreDBClusterToPointInTime_dbClusterParameterGroupName,+    restoreDBClusterToPointInTime_dbSubnetGroupName,+    restoreDBClusterToPointInTime_deletionProtection,+    restoreDBClusterToPointInTime_enableCloudwatchLogsExports,+    restoreDBClusterToPointInTime_enableIAMDatabaseAuthentication,+    restoreDBClusterToPointInTime_kmsKeyId,+    restoreDBClusterToPointInTime_optionGroupName,+    restoreDBClusterToPointInTime_port,+    restoreDBClusterToPointInTime_restoreToTime,+    restoreDBClusterToPointInTime_restoreType,+    restoreDBClusterToPointInTime_serverlessV2ScalingConfiguration,+    restoreDBClusterToPointInTime_tags,+    restoreDBClusterToPointInTime_useLatestRestorableTime,+    restoreDBClusterToPointInTime_vpcSecurityGroupIds,+    restoreDBClusterToPointInTime_dbClusterIdentifier,+    restoreDBClusterToPointInTime_sourceDBClusterIdentifier,+    restoreDBClusterToPointInTimeResponse_dbCluster,+    restoreDBClusterToPointInTimeResponse_httpStatus,++    -- ** StartDBCluster+    startDBCluster_dbClusterIdentifier,+    startDBClusterResponse_dbCluster,+    startDBClusterResponse_httpStatus,++    -- ** StopDBCluster+    stopDBCluster_dbClusterIdentifier,+    stopDBClusterResponse_dbCluster,+    stopDBClusterResponse_httpStatus,++    -- * Types++    -- ** AvailabilityZone+    availabilityZone_name,++    -- ** CharacterSet+    characterSet_characterSetDescription,+    characterSet_characterSetName,++    -- ** CloudwatchLogsExportConfiguration+    cloudwatchLogsExportConfiguration_disableLogTypes,+    cloudwatchLogsExportConfiguration_enableLogTypes,++    -- ** DBCluster+    dbCluster_allocatedStorage,+    dbCluster_associatedRoles,+    dbCluster_automaticRestartTime,+    dbCluster_availabilityZones,+    dbCluster_backupRetentionPeriod,+    dbCluster_characterSetName,+    dbCluster_cloneGroupId,+    dbCluster_clusterCreateTime,+    dbCluster_copyTagsToSnapshot,+    dbCluster_crossAccountClone,+    dbCluster_dbClusterArn,+    dbCluster_dbClusterIdentifier,+    dbCluster_dbClusterMembers,+    dbCluster_dbClusterOptionGroupMemberships,+    dbCluster_dbClusterParameterGroup,+    dbCluster_dbSubnetGroup,+    dbCluster_databaseName,+    dbCluster_dbClusterResourceId,+    dbCluster_deletionProtection,+    dbCluster_earliestRestorableTime,+    dbCluster_enabledCloudwatchLogsExports,+    dbCluster_endpoint,+    dbCluster_engine,+    dbCluster_engineVersion,+    dbCluster_hostedZoneId,+    dbCluster_iAMDatabaseAuthenticationEnabled,+    dbCluster_kmsKeyId,+    dbCluster_latestRestorableTime,+    dbCluster_masterUsername,+    dbCluster_multiAZ,+    dbCluster_percentProgress,+    dbCluster_port,+    dbCluster_preferredBackupWindow,+    dbCluster_preferredMaintenanceWindow,+    dbCluster_readReplicaIdentifiers,+    dbCluster_readerEndpoint,+    dbCluster_replicationSourceIdentifier,+    dbCluster_serverlessV2ScalingConfiguration,+    dbCluster_status,+    dbCluster_storageEncrypted,+    dbCluster_vpcSecurityGroups,++    -- ** DBClusterEndpoint+    dbClusterEndpoint_customEndpointType,+    dbClusterEndpoint_dbClusterEndpointArn,+    dbClusterEndpoint_dbClusterEndpointIdentifier,+    dbClusterEndpoint_dbClusterEndpointResourceIdentifier,+    dbClusterEndpoint_dbClusterIdentifier,+    dbClusterEndpoint_endpoint,+    dbClusterEndpoint_endpointType,+    dbClusterEndpoint_excludedMembers,+    dbClusterEndpoint_staticMembers,+    dbClusterEndpoint_status,++    -- ** DBClusterMember+    dbClusterMember_dbClusterParameterGroupStatus,+    dbClusterMember_dbInstanceIdentifier,+    dbClusterMember_isClusterWriter,+    dbClusterMember_promotionTier,++    -- ** DBClusterOptionGroupStatus+    dbClusterOptionGroupStatus_dbClusterOptionGroupName,+    dbClusterOptionGroupStatus_status,++    -- ** DBClusterParameterGroup+    dbClusterParameterGroup_dbClusterParameterGroupArn,+    dbClusterParameterGroup_dbClusterParameterGroupName,+    dbClusterParameterGroup_dbParameterGroupFamily,+    dbClusterParameterGroup_description,++    -- ** DBClusterParameterGroupNameMessage+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,++    -- ** DBClusterRole+    dbClusterRole_featureName,+    dbClusterRole_roleArn,+    dbClusterRole_status,++    -- ** DBClusterSnapshot+    dbClusterSnapshot_allocatedStorage,+    dbClusterSnapshot_availabilityZones,+    dbClusterSnapshot_clusterCreateTime,+    dbClusterSnapshot_dbClusterIdentifier,+    dbClusterSnapshot_dbClusterSnapshotArn,+    dbClusterSnapshot_dbClusterSnapshotIdentifier,+    dbClusterSnapshot_engine,+    dbClusterSnapshot_engineVersion,+    dbClusterSnapshot_iAMDatabaseAuthenticationEnabled,+    dbClusterSnapshot_kmsKeyId,+    dbClusterSnapshot_licenseModel,+    dbClusterSnapshot_masterUsername,+    dbClusterSnapshot_percentProgress,+    dbClusterSnapshot_port,+    dbClusterSnapshot_snapshotCreateTime,+    dbClusterSnapshot_snapshotType,+    dbClusterSnapshot_sourceDBClusterSnapshotArn,+    dbClusterSnapshot_status,+    dbClusterSnapshot_storageEncrypted,+    dbClusterSnapshot_vpcId,++    -- ** DBClusterSnapshotAttribute+    dbClusterSnapshotAttribute_attributeName,+    dbClusterSnapshotAttribute_attributeValues,++    -- ** DBClusterSnapshotAttributesResult+    dbClusterSnapshotAttributesResult_dbClusterSnapshotAttributes,+    dbClusterSnapshotAttributesResult_dbClusterSnapshotIdentifier,++    -- ** DBEngineVersion+    dbEngineVersion_dbEngineDescription,+    dbEngineVersion_dbEngineVersionDescription,+    dbEngineVersion_dbParameterGroupFamily,+    dbEngineVersion_defaultCharacterSet,+    dbEngineVersion_engine,+    dbEngineVersion_engineVersion,+    dbEngineVersion_exportableLogTypes,+    dbEngineVersion_supportedCharacterSets,+    dbEngineVersion_supportedTimezones,+    dbEngineVersion_supportsGlobalDatabases,+    dbEngineVersion_supportsLogExportsToCloudwatchLogs,+    dbEngineVersion_supportsReadReplica,+    dbEngineVersion_validUpgradeTarget,++    -- ** DBInstance+    dbInstance_allocatedStorage,+    dbInstance_autoMinorVersionUpgrade,+    dbInstance_availabilityZone,+    dbInstance_backupRetentionPeriod,+    dbInstance_cACertificateIdentifier,+    dbInstance_characterSetName,+    dbInstance_copyTagsToSnapshot,+    dbInstance_dbClusterIdentifier,+    dbInstance_dbInstanceArn,+    dbInstance_dbInstanceClass,+    dbInstance_dbInstanceIdentifier,+    dbInstance_dbInstanceStatus,+    dbInstance_dbName,+    dbInstance_dbParameterGroups,+    dbInstance_dbSecurityGroups,+    dbInstance_dbSubnetGroup,+    dbInstance_dbInstancePort,+    dbInstance_dbiResourceId,+    dbInstance_deletionProtection,+    dbInstance_domainMemberships,+    dbInstance_enabledCloudwatchLogsExports,+    dbInstance_endpoint,+    dbInstance_engine,+    dbInstance_engineVersion,+    dbInstance_enhancedMonitoringResourceArn,+    dbInstance_iAMDatabaseAuthenticationEnabled,+    dbInstance_instanceCreateTime,+    dbInstance_iops,+    dbInstance_kmsKeyId,+    dbInstance_latestRestorableTime,+    dbInstance_licenseModel,+    dbInstance_masterUsername,+    dbInstance_monitoringInterval,+    dbInstance_monitoringRoleArn,+    dbInstance_multiAZ,+    dbInstance_optionGroupMemberships,+    dbInstance_pendingModifiedValues,+    dbInstance_performanceInsightsEnabled,+    dbInstance_performanceInsightsKMSKeyId,+    dbInstance_preferredBackupWindow,+    dbInstance_preferredMaintenanceWindow,+    dbInstance_promotionTier,+    dbInstance_publiclyAccessible,+    dbInstance_readReplicaDBClusterIdentifiers,+    dbInstance_readReplicaDBInstanceIdentifiers,+    dbInstance_readReplicaSourceDBInstanceIdentifier,+    dbInstance_secondaryAvailabilityZone,+    dbInstance_statusInfos,+    dbInstance_storageEncrypted,+    dbInstance_storageType,+    dbInstance_tdeCredentialArn,+    dbInstance_timezone,+    dbInstance_vpcSecurityGroups,++    -- ** DBInstanceStatusInfo+    dbInstanceStatusInfo_message,+    dbInstanceStatusInfo_normal,+    dbInstanceStatusInfo_status,+    dbInstanceStatusInfo_statusType,++    -- ** DBParameterGroup+    dbParameterGroup_dbParameterGroupArn,+    dbParameterGroup_dbParameterGroupFamily,+    dbParameterGroup_dbParameterGroupName,+    dbParameterGroup_description,++    -- ** DBParameterGroupNameMessage+    dbParameterGroupNameMessage_dbParameterGroupName,++    -- ** DBParameterGroupStatus+    dbParameterGroupStatus_dbParameterGroupName,+    dbParameterGroupStatus_parameterApplyStatus,++    -- ** DBSecurityGroupMembership+    dbSecurityGroupMembership_dbSecurityGroupName,+    dbSecurityGroupMembership_status,++    -- ** DBSubnetGroup+    dbSubnetGroup_dbSubnetGroupArn,+    dbSubnetGroup_dbSubnetGroupDescription,+    dbSubnetGroup_dbSubnetGroupName,+    dbSubnetGroup_subnetGroupStatus,+    dbSubnetGroup_subnets,+    dbSubnetGroup_vpcId,++    -- ** DomainMembership+    domainMembership_domain,+    domainMembership_fqdn,+    domainMembership_iAMRoleName,+    domainMembership_status,++    -- ** DoubleRange+    doubleRange_from,+    doubleRange_to,++    -- ** Endpoint+    endpoint_address,+    endpoint_hostedZoneId,+    endpoint_port,++    -- ** EngineDefaults+    engineDefaults_dbParameterGroupFamily,+    engineDefaults_marker,+    engineDefaults_parameters,++    -- ** Event+    event_date,+    event_eventCategories,+    event_message,+    event_sourceArn,+    event_sourceIdentifier,+    event_sourceType,++    -- ** EventCategoriesMap+    eventCategoriesMap_eventCategories,+    eventCategoriesMap_sourceType,++    -- ** EventSubscription+    eventSubscription_custSubscriptionId,+    eventSubscription_customerAwsId,+    eventSubscription_enabled,+    eventSubscription_eventCategoriesList,+    eventSubscription_eventSubscriptionArn,+    eventSubscription_snsTopicArn,+    eventSubscription_sourceIdsList,+    eventSubscription_sourceType,+    eventSubscription_status,+    eventSubscription_subscriptionCreationTime,++    -- ** Filter+    filter_name,+    filter_values,++    -- ** GlobalCluster+    globalCluster_deletionProtection,+    globalCluster_engine,+    globalCluster_engineVersion,+    globalCluster_globalClusterArn,+    globalCluster_globalClusterIdentifier,+    globalCluster_globalClusterMembers,+    globalCluster_globalClusterResourceId,+    globalCluster_status,+    globalCluster_storageEncrypted,++    -- ** GlobalClusterMember+    globalClusterMember_dbClusterArn,+    globalClusterMember_isWriter,+    globalClusterMember_readers,++    -- ** OptionGroupMembership+    optionGroupMembership_optionGroupName,+    optionGroupMembership_status,++    -- ** OrderableDBInstanceOption+    orderableDBInstanceOption_availabilityZones,+    orderableDBInstanceOption_dbInstanceClass,+    orderableDBInstanceOption_engine,+    orderableDBInstanceOption_engineVersion,+    orderableDBInstanceOption_licenseModel,+    orderableDBInstanceOption_maxIopsPerDbInstance,+    orderableDBInstanceOption_maxIopsPerGib,+    orderableDBInstanceOption_maxStorageSize,+    orderableDBInstanceOption_minIopsPerDbInstance,+    orderableDBInstanceOption_minIopsPerGib,+    orderableDBInstanceOption_minStorageSize,+    orderableDBInstanceOption_multiAZCapable,+    orderableDBInstanceOption_readReplicaCapable,+    orderableDBInstanceOption_storageType,+    orderableDBInstanceOption_supportsEnhancedMonitoring,+    orderableDBInstanceOption_supportsGlobalDatabases,+    orderableDBInstanceOption_supportsIAMDatabaseAuthentication,+    orderableDBInstanceOption_supportsIops,+    orderableDBInstanceOption_supportsPerformanceInsights,+    orderableDBInstanceOption_supportsStorageEncryption,+    orderableDBInstanceOption_vpc,++    -- ** Parameter+    parameter_allowedValues,+    parameter_applyMethod,+    parameter_applyType,+    parameter_dataType,+    parameter_description,+    parameter_isModifiable,+    parameter_minimumEngineVersion,+    parameter_parameterName,+    parameter_parameterValue,+    parameter_source,++    -- ** PendingCloudwatchLogsExports+    pendingCloudwatchLogsExports_logTypesToDisable,+    pendingCloudwatchLogsExports_logTypesToEnable,++    -- ** PendingMaintenanceAction+    pendingMaintenanceAction_action,+    pendingMaintenanceAction_autoAppliedAfterDate,+    pendingMaintenanceAction_currentApplyDate,+    pendingMaintenanceAction_description,+    pendingMaintenanceAction_forcedApplyDate,+    pendingMaintenanceAction_optInStatus,++    -- ** PendingModifiedValues+    pendingModifiedValues_allocatedStorage,+    pendingModifiedValues_backupRetentionPeriod,+    pendingModifiedValues_cACertificateIdentifier,+    pendingModifiedValues_dbInstanceClass,+    pendingModifiedValues_dbInstanceIdentifier,+    pendingModifiedValues_dbSubnetGroupName,+    pendingModifiedValues_engineVersion,+    pendingModifiedValues_iops,+    pendingModifiedValues_licenseModel,+    pendingModifiedValues_masterUserPassword,+    pendingModifiedValues_multiAZ,+    pendingModifiedValues_pendingCloudwatchLogsExports,+    pendingModifiedValues_port,+    pendingModifiedValues_storageType,++    -- ** Range+    range_from,+    range_step,+    range_to,++    -- ** ResourcePendingMaintenanceActions+    resourcePendingMaintenanceActions_pendingMaintenanceActionDetails,+    resourcePendingMaintenanceActions_resourceIdentifier,++    -- ** ServerlessV2ScalingConfiguration+    serverlessV2ScalingConfiguration_maxCapacity,+    serverlessV2ScalingConfiguration_minCapacity,++    -- ** ServerlessV2ScalingConfigurationInfo+    serverlessV2ScalingConfigurationInfo_maxCapacity,+    serverlessV2ScalingConfigurationInfo_minCapacity,++    -- ** Subnet+    subnet_subnetAvailabilityZone,+    subnet_subnetIdentifier,+    subnet_subnetStatus,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** Timezone+    timezone_timezoneName,++    -- ** UpgradeTarget+    upgradeTarget_autoUpgrade,+    upgradeTarget_description,+    upgradeTarget_engine,+    upgradeTarget_engineVersion,+    upgradeTarget_isMajorVersionUpgrade,+    upgradeTarget_supportsGlobalDatabases,++    -- ** ValidDBInstanceModificationsMessage+    validDBInstanceModificationsMessage_storage,++    -- ** ValidStorageOptions+    validStorageOptions_iopsToStorageRatio,+    validStorageOptions_provisionedIops,+    validStorageOptions_storageSize,+    validStorageOptions_storageType,++    -- ** VpcSecurityGroupMembership+    vpcSecurityGroupMembership_status,+    vpcSecurityGroupMembership_vpcSecurityGroupId,+  )+where++import Amazonka.Neptune.AddRoleToDBCluster+import Amazonka.Neptune.AddSourceIdentifierToSubscription+import Amazonka.Neptune.AddTagsToResource+import Amazonka.Neptune.ApplyPendingMaintenanceAction+import Amazonka.Neptune.CopyDBClusterParameterGroup+import Amazonka.Neptune.CopyDBClusterSnapshot+import Amazonka.Neptune.CopyDBParameterGroup+import Amazonka.Neptune.CreateDBCluster+import Amazonka.Neptune.CreateDBClusterEndpoint+import Amazonka.Neptune.CreateDBClusterParameterGroup+import Amazonka.Neptune.CreateDBClusterSnapshot+import Amazonka.Neptune.CreateDBInstance+import Amazonka.Neptune.CreateDBParameterGroup+import Amazonka.Neptune.CreateDBSubnetGroup+import Amazonka.Neptune.CreateEventSubscription+import Amazonka.Neptune.CreateGlobalCluster+import Amazonka.Neptune.DeleteDBCluster+import Amazonka.Neptune.DeleteDBClusterEndpoint+import Amazonka.Neptune.DeleteDBClusterParameterGroup+import Amazonka.Neptune.DeleteDBClusterSnapshot+import Amazonka.Neptune.DeleteDBInstance+import Amazonka.Neptune.DeleteDBParameterGroup+import Amazonka.Neptune.DeleteDBSubnetGroup+import Amazonka.Neptune.DeleteEventSubscription+import Amazonka.Neptune.DeleteGlobalCluster+import Amazonka.Neptune.DescribeDBClusterEndpoints+import Amazonka.Neptune.DescribeDBClusterParameterGroups+import Amazonka.Neptune.DescribeDBClusterParameters+import Amazonka.Neptune.DescribeDBClusterSnapshotAttributes+import Amazonka.Neptune.DescribeDBClusterSnapshots+import Amazonka.Neptune.DescribeDBClusters+import Amazonka.Neptune.DescribeDBEngineVersions+import Amazonka.Neptune.DescribeDBInstances+import Amazonka.Neptune.DescribeDBParameterGroups+import Amazonka.Neptune.DescribeDBParameters+import Amazonka.Neptune.DescribeDBSubnetGroups+import Amazonka.Neptune.DescribeEngineDefaultClusterParameters+import Amazonka.Neptune.DescribeEngineDefaultParameters+import Amazonka.Neptune.DescribeEventCategories+import Amazonka.Neptune.DescribeEventSubscriptions+import Amazonka.Neptune.DescribeEvents+import Amazonka.Neptune.DescribeGlobalClusters+import Amazonka.Neptune.DescribeOrderableDBInstanceOptions+import Amazonka.Neptune.DescribePendingMaintenanceActions+import Amazonka.Neptune.DescribeValidDBInstanceModifications+import Amazonka.Neptune.FailoverDBCluster+import Amazonka.Neptune.FailoverGlobalCluster+import Amazonka.Neptune.ListTagsForResource+import Amazonka.Neptune.ModifyDBCluster+import Amazonka.Neptune.ModifyDBClusterEndpoint+import Amazonka.Neptune.ModifyDBClusterParameterGroup+import Amazonka.Neptune.ModifyDBClusterSnapshotAttribute+import Amazonka.Neptune.ModifyDBInstance+import Amazonka.Neptune.ModifyDBParameterGroup+import Amazonka.Neptune.ModifyDBSubnetGroup+import Amazonka.Neptune.ModifyEventSubscription+import Amazonka.Neptune.ModifyGlobalCluster+import Amazonka.Neptune.PromoteReadReplicaDBCluster+import Amazonka.Neptune.RebootDBInstance+import Amazonka.Neptune.RemoveFromGlobalCluster+import Amazonka.Neptune.RemoveRoleFromDBCluster+import Amazonka.Neptune.RemoveSourceIdentifierFromSubscription+import Amazonka.Neptune.RemoveTagsFromResource+import Amazonka.Neptune.ResetDBClusterParameterGroup+import Amazonka.Neptune.ResetDBParameterGroup+import Amazonka.Neptune.RestoreDBClusterFromSnapshot+import Amazonka.Neptune.RestoreDBClusterToPointInTime+import Amazonka.Neptune.StartDBCluster+import Amazonka.Neptune.StopDBCluster+import Amazonka.Neptune.Types.AvailabilityZone+import Amazonka.Neptune.Types.CharacterSet+import Amazonka.Neptune.Types.CloudwatchLogsExportConfiguration+import Amazonka.Neptune.Types.DBCluster+import Amazonka.Neptune.Types.DBClusterEndpoint+import Amazonka.Neptune.Types.DBClusterMember+import Amazonka.Neptune.Types.DBClusterOptionGroupStatus+import Amazonka.Neptune.Types.DBClusterParameterGroup+import Amazonka.Neptune.Types.DBClusterParameterGroupNameMessage+import Amazonka.Neptune.Types.DBClusterRole+import Amazonka.Neptune.Types.DBClusterSnapshot+import Amazonka.Neptune.Types.DBClusterSnapshotAttribute+import Amazonka.Neptune.Types.DBClusterSnapshotAttributesResult+import Amazonka.Neptune.Types.DBEngineVersion+import Amazonka.Neptune.Types.DBInstance+import Amazonka.Neptune.Types.DBInstanceStatusInfo+import Amazonka.Neptune.Types.DBParameterGroup+import Amazonka.Neptune.Types.DBParameterGroupNameMessage+import Amazonka.Neptune.Types.DBParameterGroupStatus+import Amazonka.Neptune.Types.DBSecurityGroupMembership+import Amazonka.Neptune.Types.DBSubnetGroup+import Amazonka.Neptune.Types.DomainMembership+import Amazonka.Neptune.Types.DoubleRange+import Amazonka.Neptune.Types.Endpoint+import Amazonka.Neptune.Types.EngineDefaults+import Amazonka.Neptune.Types.Event+import Amazonka.Neptune.Types.EventCategoriesMap+import Amazonka.Neptune.Types.EventSubscription+import Amazonka.Neptune.Types.Filter+import Amazonka.Neptune.Types.GlobalCluster+import Amazonka.Neptune.Types.GlobalClusterMember+import Amazonka.Neptune.Types.OptionGroupMembership+import Amazonka.Neptune.Types.OrderableDBInstanceOption+import Amazonka.Neptune.Types.Parameter+import Amazonka.Neptune.Types.PendingCloudwatchLogsExports+import Amazonka.Neptune.Types.PendingMaintenanceAction+import Amazonka.Neptune.Types.PendingModifiedValues+import Amazonka.Neptune.Types.Range+import Amazonka.Neptune.Types.ResourcePendingMaintenanceActions+import Amazonka.Neptune.Types.ServerlessV2ScalingConfiguration+import Amazonka.Neptune.Types.ServerlessV2ScalingConfigurationInfo+import Amazonka.Neptune.Types.Subnet+import Amazonka.Neptune.Types.Tag+import Amazonka.Neptune.Types.Timezone+import Amazonka.Neptune.Types.UpgradeTarget+import Amazonka.Neptune.Types.ValidDBInstanceModificationsMessage+import Amazonka.Neptune.Types.ValidStorageOptions+import Amazonka.Neptune.Types.VpcSecurityGroupMembership
+ gen/Amazonka/Neptune/ListTagsForResource.hs view
@@ -0,0 +1,186 @@+{-# 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.Neptune.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 all tags on an Amazon Neptune resource.+module Amazonka.Neptune.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_filters,+    listTagsForResource_resourceName,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tagList,+    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.Neptune.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'+  { -- | This parameter is not currently supported.+    filters :: Prelude.Maybe [Filter],+    -- | The Amazon Neptune resource with tags to be listed. This value is an+    -- Amazon Resource Name (ARN). For information about creating an ARN, see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    resourceName :: 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:+--+-- 'filters', 'listTagsForResource_filters' - This parameter is not currently supported.+--+-- 'resourceName', 'listTagsForResource_resourceName' - The Amazon Neptune resource with tags to be listed. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+newListTagsForResource ::+  -- | 'resourceName'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceName_ =+  ListTagsForResource'+    { filters = Prelude.Nothing,+      resourceName = pResourceName_+    }++-- | This parameter is not currently supported.+listTagsForResource_filters :: Lens.Lens' ListTagsForResource (Prelude.Maybe [Filter])+listTagsForResource_filters = Lens.lens (\ListTagsForResource' {filters} -> filters) (\s@ListTagsForResource' {} a -> s {filters = a} :: ListTagsForResource) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Neptune resource with tags to be listed. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+listTagsForResource_resourceName :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceName = Lens.lens (\ListTagsForResource' {resourceName} -> resourceName) (\s@ListTagsForResource' {} a -> s {resourceName = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ListTagsForResourceResult"+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> ( x+                            Data..@? "TagList"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Tag")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders ListTagsForResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ListTagsForResource" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Filters"+          Data.=: Data.toQuery+            (Data.toQueryList "Filter" Prelude.<$> filters),+        "ResourceName" Data.=: resourceName+      ]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | List of tags returned by the ListTagsForResource operation.+    tagList :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'listTagsForResourceResponse_tagList' - List of tags returned by the ListTagsForResource operation.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tagList =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | List of tags returned by the ListTagsForResource operation.+listTagsForResourceResponse_tagList :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tagList = Lens.lens (\ListTagsForResourceResponse' {tagList} -> tagList) (\s@ListTagsForResourceResponse' {} a -> s {tagList = 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 tagList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyDBCluster.hs view
@@ -0,0 +1,711 @@+{-# 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.Neptune.ModifyDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modify a setting for a DB cluster. You can change one or more database+-- configuration parameters by specifying these parameters and the new+-- values in the request.+module Amazonka.Neptune.ModifyDBCluster+  ( -- * Creating a Request+    ModifyDBCluster (..),+    newModifyDBCluster,++    -- * Request Lenses+    modifyDBCluster_allowMajorVersionUpgrade,+    modifyDBCluster_applyImmediately,+    modifyDBCluster_backupRetentionPeriod,+    modifyDBCluster_cloudwatchLogsExportConfiguration,+    modifyDBCluster_copyTagsToSnapshot,+    modifyDBCluster_dbClusterParameterGroupName,+    modifyDBCluster_dbInstanceParameterGroupName,+    modifyDBCluster_deletionProtection,+    modifyDBCluster_enableIAMDatabaseAuthentication,+    modifyDBCluster_engineVersion,+    modifyDBCluster_masterUserPassword,+    modifyDBCluster_newDBClusterIdentifier,+    modifyDBCluster_optionGroupName,+    modifyDBCluster_port,+    modifyDBCluster_preferredBackupWindow,+    modifyDBCluster_preferredMaintenanceWindow,+    modifyDBCluster_serverlessV2ScalingConfiguration,+    modifyDBCluster_vpcSecurityGroupIds,+    modifyDBCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    ModifyDBClusterResponse (..),+    newModifyDBClusterResponse,++    -- * Response Lenses+    modifyDBClusterResponse_dbCluster,+    modifyDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBCluster' smart constructor.+data ModifyDBCluster = ModifyDBCluster'+  { -- | A value that indicates whether upgrades between different major versions+    -- are allowed.+    --+    -- Constraints: You must set the allow-major-version-upgrade flag when+    -- providing an @EngineVersion@ parameter that uses a different major+    -- version than the DB cluster\'s current version.+    allowMajorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | A value that specifies whether the modifications in this request and any+    -- pending modifications are asynchronously applied as soon as possible,+    -- regardless of the @PreferredMaintenanceWindow@ setting for the DB+    -- cluster. If this parameter is set to @false@, changes to the DB cluster+    -- are applied during the next maintenance window.+    --+    -- The @ApplyImmediately@ parameter only affects @NewDBClusterIdentifier@+    -- values. If you set the @ApplyImmediately@ parameter value to false, then+    -- changes to @NewDBClusterIdentifier@ values are applied during the next+    -- maintenance window. All other changes are applied immediately,+    -- regardless of the value of the @ApplyImmediately@ parameter.+    --+    -- Default: @false@+    applyImmediately :: Prelude.Maybe Prelude.Bool,+    -- | The number of days for which automated backups are retained. You must+    -- specify a minimum value of 1.+    --+    -- Default: 1+    --+    -- Constraints:+    --+    -- -   Must be a value from 1 to 35+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | The configuration setting for the log types to be enabled for export to+    -- CloudWatch Logs for a specific DB cluster.+    cloudwatchLogsExportConfiguration :: Prelude.Maybe CloudwatchLogsExportConfiguration,+    -- | /If set to @true@, tags are copied to any snapshot of the DB cluster+    -- that is created./+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The name of the DB cluster parameter group to use for the DB cluster.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB parameter group to apply to all instances of the DB+    -- cluster.+    --+    -- When you apply a parameter group using @DBInstanceParameterGroupName@,+    -- parameter changes aren\'t applied during the next maintenance window but+    -- instead are applied immediately.+    --+    -- Default: The existing name setting+    --+    -- Constraints:+    --+    -- -   The DB parameter group must be in the same DB parameter group family+    --     as the target DB cluster version.+    --+    -- -   The @DBInstanceParameterGroupName@ parameter is only valid in+    --     combination with the @AllowMajorVersionUpgrade@ parameter.+    dbInstanceParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB cluster has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is disabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | True to enable mapping of Amazon Identity and Access Management (IAM)+    -- accounts to database accounts, and otherwise false.+    --+    -- Default: @false@+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | The version number of the database engine to which you want to upgrade.+    -- Changing this parameter results in an outage. The change is applied+    -- during the next maintenance window unless the @ApplyImmediately@+    -- parameter is set to true.+    --+    -- For a list of valid engine versions, see+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html Engine Releases for Amazon Neptune>,+    -- or call+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUserPassword :: Prelude.Maybe Prelude.Text,+    -- | The new DB cluster identifier for the DB cluster when renaming a DB+    -- cluster. This value is stored as a lowercase string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens+    --+    -- -   The first character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- Example: @my-cluster2@+    newDBClusterIdentifier' :: Prelude.Maybe Prelude.Text,+    -- | /Not supported by Neptune./+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the DB cluster accepts connections.+    --+    -- Constraints: Value must be @1150-65535@+    --+    -- Default: The same port as the original DB cluster.+    port :: Prelude.Maybe Prelude.Int,+    -- | The daily time range during which automated backups are created if+    -- automated backups are enabled, using the @BackupRetentionPeriod@+    -- parameter.+    --+    -- The default is a 30-minute window selected at random from an 8-hour+    -- block of time for each Amazon Region.+    --+    -- Constraints:+    --+    -- -   Must be in the format @hh24:mi-hh24:mi@.+    --+    -- -   Must be in Universal Coordinated Time (UTC).+    --+    -- -   Must not conflict with the preferred maintenance window.+    --+    -- -   Must be at least 30 minutes.+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | The weekly time range during which system maintenance can occur, in+    -- Universal Coordinated Time (UTC).+    --+    -- Format: @ddd:hh24:mi-ddd:hh24:mi@+    --+    -- The default is a 30-minute window selected at random from an 8-hour+    -- block of time for each Amazon Region, occurring on a random day of the+    -- week.+    --+    -- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+    --+    -- Constraints: Minimum 30-minute window.+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfiguration,+    -- | A list of VPC security groups that the DB cluster will belong to.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The DB cluster identifier for the cluster being modified. This parameter+    -- is not case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBCluster.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMajorVersionUpgrade', 'modifyDBCluster_allowMajorVersionUpgrade' - A value that indicates whether upgrades between different major versions+-- are allowed.+--+-- Constraints: You must set the allow-major-version-upgrade flag when+-- providing an @EngineVersion@ parameter that uses a different major+-- version than the DB cluster\'s current version.+--+-- 'applyImmediately', 'modifyDBCluster_applyImmediately' - A value that specifies whether the modifications in this request and any+-- pending modifications are asynchronously applied as soon as possible,+-- regardless of the @PreferredMaintenanceWindow@ setting for the DB+-- cluster. If this parameter is set to @false@, changes to the DB cluster+-- are applied during the next maintenance window.+--+-- The @ApplyImmediately@ parameter only affects @NewDBClusterIdentifier@+-- values. If you set the @ApplyImmediately@ parameter value to false, then+-- changes to @NewDBClusterIdentifier@ values are applied during the next+-- maintenance window. All other changes are applied immediately,+-- regardless of the value of the @ApplyImmediately@ parameter.+--+-- Default: @false@+--+-- 'backupRetentionPeriod', 'modifyDBCluster_backupRetentionPeriod' - The number of days for which automated backups are retained. You must+-- specify a minimum value of 1.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 1 to 35+--+-- 'cloudwatchLogsExportConfiguration', 'modifyDBCluster_cloudwatchLogsExportConfiguration' - The configuration setting for the log types to be enabled for export to+-- CloudWatch Logs for a specific DB cluster.+--+-- 'copyTagsToSnapshot', 'modifyDBCluster_copyTagsToSnapshot' - /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+--+-- 'dbClusterParameterGroupName', 'modifyDBCluster_dbClusterParameterGroupName' - The name of the DB cluster parameter group to use for the DB cluster.+--+-- 'dbInstanceParameterGroupName', 'modifyDBCluster_dbInstanceParameterGroupName' - The name of the DB parameter group to apply to all instances of the DB+-- cluster.+--+-- When you apply a parameter group using @DBInstanceParameterGroupName@,+-- parameter changes aren\'t applied during the next maintenance window but+-- instead are applied immediately.+--+-- Default: The existing name setting+--+-- Constraints:+--+-- -   The DB parameter group must be in the same DB parameter group family+--     as the target DB cluster version.+--+-- -   The @DBInstanceParameterGroupName@ parameter is only valid in+--     combination with the @AllowMajorVersionUpgrade@ parameter.+--+-- 'deletionProtection', 'modifyDBCluster_deletionProtection' - A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+--+-- 'enableIAMDatabaseAuthentication', 'modifyDBCluster_enableIAMDatabaseAuthentication' - True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+--+-- 'engineVersion', 'modifyDBCluster_engineVersion' - The version number of the database engine to which you want to upgrade.+-- Changing this parameter results in an outage. The change is applied+-- during the next maintenance window unless the @ApplyImmediately@+-- parameter is set to true.+--+-- For a list of valid engine versions, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html Engine Releases for Amazon Neptune>,+-- or call+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+--+-- 'masterUserPassword', 'modifyDBCluster_masterUserPassword' - Not supported by Neptune.+--+-- 'newDBClusterIdentifier'', 'modifyDBCluster_newDBClusterIdentifier' - The new DB cluster identifier for the DB cluster when renaming a DB+-- cluster. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   The first character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster2@+--+-- 'optionGroupName', 'modifyDBCluster_optionGroupName' - /Not supported by Neptune./+--+-- 'port', 'modifyDBCluster_port' - The port number on which the DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+--+-- 'preferredBackupWindow', 'modifyDBCluster_preferredBackupWindow' - The daily time range during which automated backups are created if+-- automated backups are enabled, using the @BackupRetentionPeriod@+-- parameter.+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region.+--+-- Constraints:+--+-- -   Must be in the format @hh24:mi-hh24:mi@.+--+-- -   Must be in Universal Coordinated Time (UTC).+--+-- -   Must not conflict with the preferred maintenance window.+--+-- -   Must be at least 30 minutes.+--+-- 'preferredMaintenanceWindow', 'modifyDBCluster_preferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week.+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+--+-- 'serverlessV2ScalingConfiguration', 'modifyDBCluster_serverlessV2ScalingConfiguration' - Undocumented member.+--+-- 'vpcSecurityGroupIds', 'modifyDBCluster_vpcSecurityGroupIds' - A list of VPC security groups that the DB cluster will belong to.+--+-- 'dbClusterIdentifier', 'modifyDBCluster_dbClusterIdentifier' - The DB cluster identifier for the cluster being modified. This parameter+-- is not case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+newModifyDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  ModifyDBCluster+newModifyDBCluster pDBClusterIdentifier_ =+  ModifyDBCluster'+    { allowMajorVersionUpgrade =+        Prelude.Nothing,+      applyImmediately = Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      cloudwatchLogsExportConfiguration = Prelude.Nothing,+      copyTagsToSnapshot = Prelude.Nothing,+      dbClusterParameterGroupName = Prelude.Nothing,+      dbInstanceParameterGroupName = Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      enableIAMDatabaseAuthentication = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      masterUserPassword = Prelude.Nothing,+      newDBClusterIdentifier' = Prelude.Nothing,+      optionGroupName = Prelude.Nothing,+      port = Prelude.Nothing,+      preferredBackupWindow = Prelude.Nothing,+      preferredMaintenanceWindow = Prelude.Nothing,+      serverlessV2ScalingConfiguration = Prelude.Nothing,+      vpcSecurityGroupIds = Prelude.Nothing,+      dbClusterIdentifier = pDBClusterIdentifier_+    }++-- | A value that indicates whether upgrades between different major versions+-- are allowed.+--+-- Constraints: You must set the allow-major-version-upgrade flag when+-- providing an @EngineVersion@ parameter that uses a different major+-- version than the DB cluster\'s current version.+modifyDBCluster_allowMajorVersionUpgrade :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Bool)+modifyDBCluster_allowMajorVersionUpgrade = Lens.lens (\ModifyDBCluster' {allowMajorVersionUpgrade} -> allowMajorVersionUpgrade) (\s@ModifyDBCluster' {} a -> s {allowMajorVersionUpgrade = a} :: ModifyDBCluster)++-- | A value that specifies whether the modifications in this request and any+-- pending modifications are asynchronously applied as soon as possible,+-- regardless of the @PreferredMaintenanceWindow@ setting for the DB+-- cluster. If this parameter is set to @false@, changes to the DB cluster+-- are applied during the next maintenance window.+--+-- The @ApplyImmediately@ parameter only affects @NewDBClusterIdentifier@+-- values. If you set the @ApplyImmediately@ parameter value to false, then+-- changes to @NewDBClusterIdentifier@ values are applied during the next+-- maintenance window. All other changes are applied immediately,+-- regardless of the value of the @ApplyImmediately@ parameter.+--+-- Default: @false@+modifyDBCluster_applyImmediately :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Bool)+modifyDBCluster_applyImmediately = Lens.lens (\ModifyDBCluster' {applyImmediately} -> applyImmediately) (\s@ModifyDBCluster' {} a -> s {applyImmediately = a} :: ModifyDBCluster)++-- | The number of days for which automated backups are retained. You must+-- specify a minimum value of 1.+--+-- Default: 1+--+-- Constraints:+--+-- -   Must be a value from 1 to 35+modifyDBCluster_backupRetentionPeriod :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Int)+modifyDBCluster_backupRetentionPeriod = Lens.lens (\ModifyDBCluster' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@ModifyDBCluster' {} a -> s {backupRetentionPeriod = a} :: ModifyDBCluster)++-- | The configuration setting for the log types to be enabled for export to+-- CloudWatch Logs for a specific DB cluster.+modifyDBCluster_cloudwatchLogsExportConfiguration :: Lens.Lens' ModifyDBCluster (Prelude.Maybe CloudwatchLogsExportConfiguration)+modifyDBCluster_cloudwatchLogsExportConfiguration = Lens.lens (\ModifyDBCluster' {cloudwatchLogsExportConfiguration} -> cloudwatchLogsExportConfiguration) (\s@ModifyDBCluster' {} a -> s {cloudwatchLogsExportConfiguration = a} :: ModifyDBCluster)++-- | /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+modifyDBCluster_copyTagsToSnapshot :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Bool)+modifyDBCluster_copyTagsToSnapshot = Lens.lens (\ModifyDBCluster' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@ModifyDBCluster' {} a -> s {copyTagsToSnapshot = a} :: ModifyDBCluster)++-- | The name of the DB cluster parameter group to use for the DB cluster.+modifyDBCluster_dbClusterParameterGroupName :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_dbClusterParameterGroupName = Lens.lens (\ModifyDBCluster' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@ModifyDBCluster' {} a -> s {dbClusterParameterGroupName = a} :: ModifyDBCluster)++-- | The name of the DB parameter group to apply to all instances of the DB+-- cluster.+--+-- When you apply a parameter group using @DBInstanceParameterGroupName@,+-- parameter changes aren\'t applied during the next maintenance window but+-- instead are applied immediately.+--+-- Default: The existing name setting+--+-- Constraints:+--+-- -   The DB parameter group must be in the same DB parameter group family+--     as the target DB cluster version.+--+-- -   The @DBInstanceParameterGroupName@ parameter is only valid in+--     combination with the @AllowMajorVersionUpgrade@ parameter.+modifyDBCluster_dbInstanceParameterGroupName :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_dbInstanceParameterGroupName = Lens.lens (\ModifyDBCluster' {dbInstanceParameterGroupName} -> dbInstanceParameterGroupName) (\s@ModifyDBCluster' {} a -> s {dbInstanceParameterGroupName = a} :: ModifyDBCluster)++-- | A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+modifyDBCluster_deletionProtection :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Bool)+modifyDBCluster_deletionProtection = Lens.lens (\ModifyDBCluster' {deletionProtection} -> deletionProtection) (\s@ModifyDBCluster' {} a -> s {deletionProtection = a} :: ModifyDBCluster)++-- | True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+modifyDBCluster_enableIAMDatabaseAuthentication :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Bool)+modifyDBCluster_enableIAMDatabaseAuthentication = Lens.lens (\ModifyDBCluster' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@ModifyDBCluster' {} a -> s {enableIAMDatabaseAuthentication = a} :: ModifyDBCluster)++-- | The version number of the database engine to which you want to upgrade.+-- Changing this parameter results in an outage. The change is applied+-- during the next maintenance window unless the @ApplyImmediately@+-- parameter is set to true.+--+-- For a list of valid engine versions, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html Engine Releases for Amazon Neptune>,+-- or call+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+modifyDBCluster_engineVersion :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_engineVersion = Lens.lens (\ModifyDBCluster' {engineVersion} -> engineVersion) (\s@ModifyDBCluster' {} a -> s {engineVersion = a} :: ModifyDBCluster)++-- | Not supported by Neptune.+modifyDBCluster_masterUserPassword :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_masterUserPassword = Lens.lens (\ModifyDBCluster' {masterUserPassword} -> masterUserPassword) (\s@ModifyDBCluster' {} a -> s {masterUserPassword = a} :: ModifyDBCluster)++-- | The new DB cluster identifier for the DB cluster when renaming a DB+-- cluster. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   The first character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster2@+modifyDBCluster_newDBClusterIdentifier :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_newDBClusterIdentifier = Lens.lens (\ModifyDBCluster' {newDBClusterIdentifier'} -> newDBClusterIdentifier') (\s@ModifyDBCluster' {} a -> s {newDBClusterIdentifier' = a} :: ModifyDBCluster)++-- | /Not supported by Neptune./+modifyDBCluster_optionGroupName :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_optionGroupName = Lens.lens (\ModifyDBCluster' {optionGroupName} -> optionGroupName) (\s@ModifyDBCluster' {} a -> s {optionGroupName = a} :: ModifyDBCluster)++-- | The port number on which the DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+modifyDBCluster_port :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Int)+modifyDBCluster_port = Lens.lens (\ModifyDBCluster' {port} -> port) (\s@ModifyDBCluster' {} a -> s {port = a} :: ModifyDBCluster)++-- | The daily time range during which automated backups are created if+-- automated backups are enabled, using the @BackupRetentionPeriod@+-- parameter.+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region.+--+-- Constraints:+--+-- -   Must be in the format @hh24:mi-hh24:mi@.+--+-- -   Must be in Universal Coordinated Time (UTC).+--+-- -   Must not conflict with the preferred maintenance window.+--+-- -   Must be at least 30 minutes.+modifyDBCluster_preferredBackupWindow :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_preferredBackupWindow = Lens.lens (\ModifyDBCluster' {preferredBackupWindow} -> preferredBackupWindow) (\s@ModifyDBCluster' {} a -> s {preferredBackupWindow = a} :: ModifyDBCluster)++-- | The weekly time range during which system maintenance can occur, in+-- Universal Coordinated Time (UTC).+--+-- Format: @ddd:hh24:mi-ddd:hh24:mi@+--+-- The default is a 30-minute window selected at random from an 8-hour+-- block of time for each Amazon Region, occurring on a random day of the+-- week.+--+-- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.+--+-- Constraints: Minimum 30-minute window.+modifyDBCluster_preferredMaintenanceWindow :: Lens.Lens' ModifyDBCluster (Prelude.Maybe Prelude.Text)+modifyDBCluster_preferredMaintenanceWindow = Lens.lens (\ModifyDBCluster' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@ModifyDBCluster' {} a -> s {preferredMaintenanceWindow = a} :: ModifyDBCluster)++-- | Undocumented member.+modifyDBCluster_serverlessV2ScalingConfiguration :: Lens.Lens' ModifyDBCluster (Prelude.Maybe ServerlessV2ScalingConfiguration)+modifyDBCluster_serverlessV2ScalingConfiguration = Lens.lens (\ModifyDBCluster' {serverlessV2ScalingConfiguration} -> serverlessV2ScalingConfiguration) (\s@ModifyDBCluster' {} a -> s {serverlessV2ScalingConfiguration = a} :: ModifyDBCluster)++-- | A list of VPC security groups that the DB cluster will belong to.+modifyDBCluster_vpcSecurityGroupIds :: Lens.Lens' ModifyDBCluster (Prelude.Maybe [Prelude.Text])+modifyDBCluster_vpcSecurityGroupIds = Lens.lens (\ModifyDBCluster' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@ModifyDBCluster' {} a -> s {vpcSecurityGroupIds = a} :: ModifyDBCluster) Prelude.. Lens.mapping Lens.coerced++-- | The DB cluster identifier for the cluster being modified. This parameter+-- is not case-sensitive.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+modifyDBCluster_dbClusterIdentifier :: Lens.Lens' ModifyDBCluster Prelude.Text+modifyDBCluster_dbClusterIdentifier = Lens.lens (\ModifyDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@ModifyDBCluster' {} a -> s {dbClusterIdentifier = a} :: ModifyDBCluster)++instance Core.AWSRequest ModifyDBCluster where+  type+    AWSResponse ModifyDBCluster =+      ModifyDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBClusterResult"+      ( \s h x ->+          ModifyDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyDBCluster where+  hashWithSalt _salt ModifyDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` allowMajorVersionUpgrade+      `Prelude.hashWithSalt` applyImmediately+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` cloudwatchLogsExportConfiguration+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbInstanceParameterGroupName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` masterUserPassword+      `Prelude.hashWithSalt` newDBClusterIdentifier'+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` serverlessV2ScalingConfiguration+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData ModifyDBCluster where+  rnf ModifyDBCluster' {..} =+    Prelude.rnf allowMajorVersionUpgrade+      `Prelude.seq` Prelude.rnf applyImmediately+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf cloudwatchLogsExportConfiguration+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbInstanceParameterGroupName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf masterUserPassword+      `Prelude.seq` Prelude.rnf newDBClusterIdentifier'+      `Prelude.seq` Prelude.rnf optionGroupName+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf preferredBackupWindow+      `Prelude.seq` Prelude.rnf preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        serverlessV2ScalingConfiguration+      `Prelude.seq` Prelude.rnf vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders ModifyDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBCluster where+  toQuery ModifyDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AllowMajorVersionUpgrade"+          Data.=: allowMajorVersionUpgrade,+        "ApplyImmediately" Data.=: applyImmediately,+        "BackupRetentionPeriod"+          Data.=: backupRetentionPeriod,+        "CloudwatchLogsExportConfiguration"+          Data.=: cloudwatchLogsExportConfiguration,+        "CopyTagsToSnapshot" Data.=: copyTagsToSnapshot,+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "DBInstanceParameterGroupName"+          Data.=: dbInstanceParameterGroupName,+        "DeletionProtection" Data.=: deletionProtection,+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "EngineVersion" Data.=: engineVersion,+        "MasterUserPassword" Data.=: masterUserPassword,+        "NewDBClusterIdentifier"+          Data.=: newDBClusterIdentifier',+        "OptionGroupName" Data.=: optionGroupName,+        "Port" Data.=: port,+        "PreferredBackupWindow"+          Data.=: preferredBackupWindow,+        "PreferredMaintenanceWindow"+          Data.=: preferredMaintenanceWindow,+        "ServerlessV2ScalingConfiguration"+          Data.=: serverlessV2ScalingConfiguration,+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newModifyDBClusterResponse' smart constructor.+data ModifyDBClusterResponse = ModifyDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'modifyDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'modifyDBClusterResponse_httpStatus' - The response's http status code.+newModifyDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyDBClusterResponse+newModifyDBClusterResponse pHttpStatus_ =+  ModifyDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+modifyDBClusterResponse_dbCluster :: Lens.Lens' ModifyDBClusterResponse (Prelude.Maybe DBCluster)+modifyDBClusterResponse_dbCluster = Lens.lens (\ModifyDBClusterResponse' {dbCluster} -> dbCluster) (\s@ModifyDBClusterResponse' {} a -> s {dbCluster = a} :: ModifyDBClusterResponse)++-- | The response's http status code.+modifyDBClusterResponse_httpStatus :: Lens.Lens' ModifyDBClusterResponse Prelude.Int+modifyDBClusterResponse_httpStatus = Lens.lens (\ModifyDBClusterResponse' {httpStatus} -> httpStatus) (\s@ModifyDBClusterResponse' {} a -> s {httpStatus = a} :: ModifyDBClusterResponse)++instance Prelude.NFData ModifyDBClusterResponse where+  rnf ModifyDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyDBClusterEndpoint.hs view
@@ -0,0 +1,393 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.ModifyDBClusterEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the properties of an endpoint in an Amazon Neptune DB cluster.+module Amazonka.Neptune.ModifyDBClusterEndpoint+  ( -- * Creating a Request+    ModifyDBClusterEndpoint (..),+    newModifyDBClusterEndpoint,++    -- * Request Lenses+    modifyDBClusterEndpoint_endpointType,+    modifyDBClusterEndpoint_excludedMembers,+    modifyDBClusterEndpoint_staticMembers,+    modifyDBClusterEndpoint_dbClusterEndpointIdentifier,++    -- * Destructuring the Response+    ModifyDBClusterEndpointResponse (..),+    newModifyDBClusterEndpointResponse,++    -- * Response Lenses+    modifyDBClusterEndpointResponse_customEndpointType,+    modifyDBClusterEndpointResponse_dbClusterEndpointArn,+    modifyDBClusterEndpointResponse_dbClusterEndpointIdentifier,+    modifyDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,+    modifyDBClusterEndpointResponse_dbClusterIdentifier,+    modifyDBClusterEndpointResponse_endpoint,+    modifyDBClusterEndpointResponse_endpointType,+    modifyDBClusterEndpointResponse_excludedMembers,+    modifyDBClusterEndpointResponse_staticMembers,+    modifyDBClusterEndpointResponse_status,+    modifyDBClusterEndpointResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBClusterEndpoint' smart constructor.+data ModifyDBClusterEndpoint = ModifyDBClusterEndpoint'+  { -- | The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+    endpointType :: Prelude.Maybe Prelude.Text,+    -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The identifier of the endpoint to modify. This parameter is stored as a+    -- lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBClusterEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpointType', 'modifyDBClusterEndpoint_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+--+-- 'excludedMembers', 'modifyDBClusterEndpoint_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'modifyDBClusterEndpoint_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'dbClusterEndpointIdentifier', 'modifyDBClusterEndpoint_dbClusterEndpointIdentifier' - The identifier of the endpoint to modify. This parameter is stored as a+-- lowercase string.+newModifyDBClusterEndpoint ::+  -- | 'dbClusterEndpointIdentifier'+  Prelude.Text ->+  ModifyDBClusterEndpoint+newModifyDBClusterEndpoint+  pDBClusterEndpointIdentifier_ =+    ModifyDBClusterEndpoint'+      { endpointType =+          Prelude.Nothing,+        excludedMembers = Prelude.Nothing,+        staticMembers = Prelude.Nothing,+        dbClusterEndpointIdentifier =+          pDBClusterEndpointIdentifier_+      }++-- | The type of the endpoint. One of: @READER@, @WRITER@, @ANY@.+modifyDBClusterEndpoint_endpointType :: Lens.Lens' ModifyDBClusterEndpoint (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpoint_endpointType = Lens.lens (\ModifyDBClusterEndpoint' {endpointType} -> endpointType) (\s@ModifyDBClusterEndpoint' {} a -> s {endpointType = a} :: ModifyDBClusterEndpoint)++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+modifyDBClusterEndpoint_excludedMembers :: Lens.Lens' ModifyDBClusterEndpoint (Prelude.Maybe [Prelude.Text])+modifyDBClusterEndpoint_excludedMembers = Lens.lens (\ModifyDBClusterEndpoint' {excludedMembers} -> excludedMembers) (\s@ModifyDBClusterEndpoint' {} a -> s {excludedMembers = a} :: ModifyDBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+modifyDBClusterEndpoint_staticMembers :: Lens.Lens' ModifyDBClusterEndpoint (Prelude.Maybe [Prelude.Text])+modifyDBClusterEndpoint_staticMembers = Lens.lens (\ModifyDBClusterEndpoint' {staticMembers} -> staticMembers) (\s@ModifyDBClusterEndpoint' {} a -> s {staticMembers = a} :: ModifyDBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the endpoint to modify. This parameter is stored as a+-- lowercase string.+modifyDBClusterEndpoint_dbClusterEndpointIdentifier :: Lens.Lens' ModifyDBClusterEndpoint Prelude.Text+modifyDBClusterEndpoint_dbClusterEndpointIdentifier = Lens.lens (\ModifyDBClusterEndpoint' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@ModifyDBClusterEndpoint' {} a -> s {dbClusterEndpointIdentifier = a} :: ModifyDBClusterEndpoint)++instance Core.AWSRequest ModifyDBClusterEndpoint where+  type+    AWSResponse ModifyDBClusterEndpoint =+      ModifyDBClusterEndpointResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBClusterEndpointResult"+      ( \s h x ->+          ModifyDBClusterEndpointResponse'+            Prelude.<$> (x Data..@? "CustomEndpointType")+            Prelude.<*> (x Data..@? "DBClusterEndpointArn")+            Prelude.<*> (x Data..@? "DBClusterEndpointIdentifier")+            Prelude.<*> (x Data..@? "DBClusterEndpointResourceIdentifier")+            Prelude.<*> (x Data..@? "DBClusterIdentifier")+            Prelude.<*> (x Data..@? "Endpoint")+            Prelude.<*> (x Data..@? "EndpointType")+            Prelude.<*> ( x+                            Data..@? "ExcludedMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> ( x+                            Data..@? "StaticMembers"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "member")+                        )+            Prelude.<*> (x Data..@? "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyDBClusterEndpoint where+  hashWithSalt _salt ModifyDBClusterEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` excludedMembers+      `Prelude.hashWithSalt` staticMembers+      `Prelude.hashWithSalt` dbClusterEndpointIdentifier++instance Prelude.NFData ModifyDBClusterEndpoint where+  rnf ModifyDBClusterEndpoint' {..} =+    Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier++instance Data.ToHeaders ModifyDBClusterEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBClusterEndpoint where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBClusterEndpoint where+  toQuery ModifyDBClusterEndpoint' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyDBClusterEndpoint" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "EndpointType" Data.=: endpointType,+        "ExcludedMembers"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> excludedMembers+            ),+        "StaticMembers"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> staticMembers+            ),+        "DBClusterEndpointIdentifier"+          Data.=: dbClusterEndpointIdentifier+      ]++-- | This data type represents the information you need to connect to an+-- Amazon Neptune DB cluster. This data type is used as a response element+-- in the following actions:+--+-- -   @CreateDBClusterEndpoint@+--+-- -   @DescribeDBClusterEndpoints@+--+-- -   @ModifyDBClusterEndpoint@+--+-- -   @DeleteDBClusterEndpoint@+--+-- For the data structure that represents Amazon RDS DB instance endpoints,+-- see @Endpoint@.+--+-- /See:/ 'newModifyDBClusterEndpointResponse' smart constructor.+data ModifyDBClusterEndpointResponse = ModifyDBClusterEndpointResponse'+  { -- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+    -- @ANY@.+    customEndpointType :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the endpoint.+    dbClusterEndpointArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier associated with the endpoint. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A unique system-generated identifier for an endpoint. It remains the+    -- same for the whole life of the endpoint.+    dbClusterEndpointResourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DNS address of the endpoint.+    endpoint :: Prelude.Maybe Prelude.Text,+    -- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+    endpointType :: Prelude.Maybe Prelude.Text,+    -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The current status of the endpoint. One of: @creating@, @available@,+    -- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+    -- endpoint that cannot be used for a certain kind of cluster, such as a+    -- @writer@ endpoint for a read-only secondary cluster in a global+    -- database.+    status :: 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 'ModifyDBClusterEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customEndpointType', 'modifyDBClusterEndpointResponse_customEndpointType' - The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+--+-- 'dbClusterEndpointArn', 'modifyDBClusterEndpointResponse_dbClusterEndpointArn' - The Amazon Resource Name (ARN) for the endpoint.+--+-- 'dbClusterEndpointIdentifier', 'modifyDBClusterEndpointResponse_dbClusterEndpointIdentifier' - The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+--+-- 'dbClusterEndpointResourceIdentifier', 'modifyDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier' - A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+--+-- 'dbClusterIdentifier', 'modifyDBClusterEndpointResponse_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'endpoint', 'modifyDBClusterEndpointResponse_endpoint' - The DNS address of the endpoint.+--+-- 'endpointType', 'modifyDBClusterEndpointResponse_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+--+-- 'excludedMembers', 'modifyDBClusterEndpointResponse_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'modifyDBClusterEndpointResponse_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'status', 'modifyDBClusterEndpointResponse_status' - The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+--+-- 'httpStatus', 'modifyDBClusterEndpointResponse_httpStatus' - The response's http status code.+newModifyDBClusterEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyDBClusterEndpointResponse+newModifyDBClusterEndpointResponse pHttpStatus_ =+  ModifyDBClusterEndpointResponse'+    { customEndpointType =+        Prelude.Nothing,+      dbClusterEndpointArn = Prelude.Nothing,+      dbClusterEndpointIdentifier =+        Prelude.Nothing,+      dbClusterEndpointResourceIdentifier =+        Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      excludedMembers = Prelude.Nothing,+      staticMembers = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+modifyDBClusterEndpointResponse_customEndpointType :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_customEndpointType = Lens.lens (\ModifyDBClusterEndpointResponse' {customEndpointType} -> customEndpointType) (\s@ModifyDBClusterEndpointResponse' {} a -> s {customEndpointType = a} :: ModifyDBClusterEndpointResponse)++-- | The Amazon Resource Name (ARN) for the endpoint.+modifyDBClusterEndpointResponse_dbClusterEndpointArn :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_dbClusterEndpointArn = Lens.lens (\ModifyDBClusterEndpointResponse' {dbClusterEndpointArn} -> dbClusterEndpointArn) (\s@ModifyDBClusterEndpointResponse' {} a -> s {dbClusterEndpointArn = a} :: ModifyDBClusterEndpointResponse)++-- | The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+modifyDBClusterEndpointResponse_dbClusterEndpointIdentifier :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_dbClusterEndpointIdentifier = Lens.lens (\ModifyDBClusterEndpointResponse' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@ModifyDBClusterEndpointResponse' {} a -> s {dbClusterEndpointIdentifier = a} :: ModifyDBClusterEndpointResponse)++-- | A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+modifyDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier = Lens.lens (\ModifyDBClusterEndpointResponse' {dbClusterEndpointResourceIdentifier} -> dbClusterEndpointResourceIdentifier) (\s@ModifyDBClusterEndpointResponse' {} a -> s {dbClusterEndpointResourceIdentifier = a} :: ModifyDBClusterEndpointResponse)++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+modifyDBClusterEndpointResponse_dbClusterIdentifier :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_dbClusterIdentifier = Lens.lens (\ModifyDBClusterEndpointResponse' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@ModifyDBClusterEndpointResponse' {} a -> s {dbClusterIdentifier = a} :: ModifyDBClusterEndpointResponse)++-- | The DNS address of the endpoint.+modifyDBClusterEndpointResponse_endpoint :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_endpoint = Lens.lens (\ModifyDBClusterEndpointResponse' {endpoint} -> endpoint) (\s@ModifyDBClusterEndpointResponse' {} a -> s {endpoint = a} :: ModifyDBClusterEndpointResponse)++-- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+modifyDBClusterEndpointResponse_endpointType :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_endpointType = Lens.lens (\ModifyDBClusterEndpointResponse' {endpointType} -> endpointType) (\s@ModifyDBClusterEndpointResponse' {} a -> s {endpointType = a} :: ModifyDBClusterEndpointResponse)++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+modifyDBClusterEndpointResponse_excludedMembers :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+modifyDBClusterEndpointResponse_excludedMembers = Lens.lens (\ModifyDBClusterEndpointResponse' {excludedMembers} -> excludedMembers) (\s@ModifyDBClusterEndpointResponse' {} a -> s {excludedMembers = a} :: ModifyDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+modifyDBClusterEndpointResponse_staticMembers :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])+modifyDBClusterEndpointResponse_staticMembers = Lens.lens (\ModifyDBClusterEndpointResponse' {staticMembers} -> staticMembers) (\s@ModifyDBClusterEndpointResponse' {} a -> s {staticMembers = a} :: ModifyDBClusterEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+modifyDBClusterEndpointResponse_status :: Lens.Lens' ModifyDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)+modifyDBClusterEndpointResponse_status = Lens.lens (\ModifyDBClusterEndpointResponse' {status} -> status) (\s@ModifyDBClusterEndpointResponse' {} a -> s {status = a} :: ModifyDBClusterEndpointResponse)++-- | The response's http status code.+modifyDBClusterEndpointResponse_httpStatus :: Lens.Lens' ModifyDBClusterEndpointResponse Prelude.Int+modifyDBClusterEndpointResponse_httpStatus = Lens.lens (\ModifyDBClusterEndpointResponse' {httpStatus} -> httpStatus) (\s@ModifyDBClusterEndpointResponse' {} a -> s {httpStatus = a} :: ModifyDBClusterEndpointResponse)++instance+  Prelude.NFData+    ModifyDBClusterEndpointResponse+  where+  rnf ModifyDBClusterEndpointResponse' {..} =+    Prelude.rnf customEndpointType+      `Prelude.seq` Prelude.rnf dbClusterEndpointArn+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf dbClusterEndpointResourceIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyDBClusterParameterGroup.hs view
@@ -0,0 +1,156 @@+{-# 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.Neptune.ModifyDBClusterParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the parameters of a DB cluster parameter group. To modify more+-- than one parameter, submit a list of the following: @ParameterName@,+-- @ParameterValue@, and @ApplyMethod@. A maximum of 20 parameters can be+-- modified in a single request.+--+-- Changes to dynamic parameters are applied immediately. Changes to static+-- parameters require a reboot without failover to the DB cluster+-- associated with the parameter group before the change can take effect.+--+-- After you create a DB cluster parameter group, you should wait at least+-- 5 minutes before creating your first DB cluster that uses that DB+-- cluster parameter group as the default parameter group. This allows+-- Amazon Neptune to fully complete the create action before the parameter+-- group is used as the default for a new DB cluster. This is especially+-- important for parameters that are critical when creating the default+-- database for a DB cluster, such as the character set for the default+-- database defined by the @character_set_database@ parameter. You can use+-- the /Parameter Groups/ option of the Amazon Neptune console or the+-- DescribeDBClusterParameters command to verify that your DB cluster+-- parameter group has been created or modified.+module Amazonka.Neptune.ModifyDBClusterParameterGroup+  ( -- * Creating a Request+    ModifyDBClusterParameterGroup (..),+    newModifyDBClusterParameterGroup,++    -- * Request Lenses+    modifyDBClusterParameterGroup_dbClusterParameterGroupName,+    modifyDBClusterParameterGroup_parameters,++    -- * Destructuring the Response+    DBClusterParameterGroupNameMessage (..),+    newDBClusterParameterGroupNameMessage,++    -- * Response Lenses+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBClusterParameterGroup' smart constructor.+data ModifyDBClusterParameterGroup = ModifyDBClusterParameterGroup'+  { -- | The name of the DB cluster parameter group to modify.+    dbClusterParameterGroupName :: Prelude.Text,+    -- | A list of parameters in the DB cluster parameter group to modify.+    parameters :: [Parameter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupName', 'modifyDBClusterParameterGroup_dbClusterParameterGroupName' - The name of the DB cluster parameter group to modify.+--+-- 'parameters', 'modifyDBClusterParameterGroup_parameters' - A list of parameters in the DB cluster parameter group to modify.+newModifyDBClusterParameterGroup ::+  -- | 'dbClusterParameterGroupName'+  Prelude.Text ->+  ModifyDBClusterParameterGroup+newModifyDBClusterParameterGroup+  pDBClusterParameterGroupName_ =+    ModifyDBClusterParameterGroup'+      { dbClusterParameterGroupName =+          pDBClusterParameterGroupName_,+        parameters = Prelude.mempty+      }++-- | The name of the DB cluster parameter group to modify.+modifyDBClusterParameterGroup_dbClusterParameterGroupName :: Lens.Lens' ModifyDBClusterParameterGroup Prelude.Text+modifyDBClusterParameterGroup_dbClusterParameterGroupName = Lens.lens (\ModifyDBClusterParameterGroup' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@ModifyDBClusterParameterGroup' {} a -> s {dbClusterParameterGroupName = a} :: ModifyDBClusterParameterGroup)++-- | A list of parameters in the DB cluster parameter group to modify.+modifyDBClusterParameterGroup_parameters :: Lens.Lens' ModifyDBClusterParameterGroup [Parameter]+modifyDBClusterParameterGroup_parameters = Lens.lens (\ModifyDBClusterParameterGroup' {parameters} -> parameters) (\s@ModifyDBClusterParameterGroup' {} a -> s {parameters = a} :: ModifyDBClusterParameterGroup) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    ModifyDBClusterParameterGroup+  where+  type+    AWSResponse ModifyDBClusterParameterGroup =+      DBClusterParameterGroupNameMessage+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBClusterParameterGroupResult"+      (\s h x -> Data.parseXML x)++instance+  Prelude.Hashable+    ModifyDBClusterParameterGroup+  where+  hashWithSalt _salt ModifyDBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` parameters++instance Prelude.NFData ModifyDBClusterParameterGroup where+  rnf ModifyDBClusterParameterGroup' {..} =+    Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf parameters++instance Data.ToHeaders ModifyDBClusterParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBClusterParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBClusterParameterGroup where+  toQuery ModifyDBClusterParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "ModifyDBClusterParameterGroup" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "Parameters"+          Data.=: Data.toQueryList "Parameter" parameters+      ]
+ gen/Amazonka/Neptune/ModifyDBClusterSnapshotAttribute.hs view
@@ -0,0 +1,315 @@+{-# 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.Neptune.ModifyDBClusterSnapshotAttribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an attribute and values to, or removes an attribute and values+-- from, a manual DB cluster snapshot.+--+-- To share a manual DB cluster snapshot with other Amazon accounts,+-- specify @restore@ as the @AttributeName@ and use the @ValuesToAdd@+-- parameter to add a list of IDs of the Amazon accounts that are+-- authorized to restore the manual DB cluster snapshot. Use the value+-- @all@ to make the manual DB cluster snapshot public, which means that it+-- can be copied or restored by all Amazon accounts. Do not add the @all@+-- value for any manual DB cluster snapshots that contain private+-- information that you don\'t want available to all Amazon accounts. If a+-- manual DB cluster snapshot is encrypted, it can be shared, but only by+-- specifying a list of authorized Amazon account IDs for the @ValuesToAdd@+-- parameter. You can\'t use @all@ as a value for that parameter in this+-- case.+--+-- To view which Amazon accounts have access to copy or restore a manual DB+-- cluster snapshot, or whether a manual DB cluster snapshot public or+-- private, use the DescribeDBClusterSnapshotAttributes API action.+module Amazonka.Neptune.ModifyDBClusterSnapshotAttribute+  ( -- * Creating a Request+    ModifyDBClusterSnapshotAttribute (..),+    newModifyDBClusterSnapshotAttribute,++    -- * Request Lenses+    modifyDBClusterSnapshotAttribute_valuesToAdd,+    modifyDBClusterSnapshotAttribute_valuesToRemove,+    modifyDBClusterSnapshotAttribute_dbClusterSnapshotIdentifier,+    modifyDBClusterSnapshotAttribute_attributeName,++    -- * Destructuring the Response+    ModifyDBClusterSnapshotAttributeResponse (..),+    newModifyDBClusterSnapshotAttributeResponse,++    -- * Response Lenses+    modifyDBClusterSnapshotAttributeResponse_dbClusterSnapshotAttributesResult,+    modifyDBClusterSnapshotAttributeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBClusterSnapshotAttribute' smart constructor.+data ModifyDBClusterSnapshotAttribute = ModifyDBClusterSnapshotAttribute'+  { -- | A list of DB cluster snapshot attributes to add to the attribute+    -- specified by @AttributeName@.+    --+    -- To authorize other Amazon accounts to copy or restore a manual DB+    -- cluster snapshot, set this list to include one or more Amazon account+    -- IDs, or @all@ to make the manual DB cluster snapshot restorable by any+    -- Amazon account. Do not add the @all@ value for any manual DB cluster+    -- snapshots that contain private information that you don\'t want+    -- available to all Amazon accounts.+    valuesToAdd :: Prelude.Maybe [Prelude.Text],+    -- | A list of DB cluster snapshot attributes to remove from the attribute+    -- specified by @AttributeName@.+    --+    -- To remove authorization for other Amazon accounts to copy or restore a+    -- manual DB cluster snapshot, set this list to include one or more Amazon+    -- account identifiers, or @all@ to remove authorization for any Amazon+    -- account to copy or restore the DB cluster snapshot. If you specify+    -- @all@, an Amazon account whose account ID is explicitly added to the+    -- @restore@ attribute can still copy or restore a manual DB cluster+    -- snapshot.+    valuesToRemove :: Prelude.Maybe [Prelude.Text],+    -- | The identifier for the DB cluster snapshot to modify the attributes for.+    dbClusterSnapshotIdentifier :: Prelude.Text,+    -- | The name of the DB cluster snapshot attribute to modify.+    --+    -- To manage authorization for other Amazon accounts to copy or restore a+    -- manual DB cluster snapshot, set this value to @restore@.+    attributeName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBClusterSnapshotAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'valuesToAdd', 'modifyDBClusterSnapshotAttribute_valuesToAdd' - A list of DB cluster snapshot attributes to add to the attribute+-- specified by @AttributeName@.+--+-- To authorize other Amazon accounts to copy or restore a manual DB+-- cluster snapshot, set this list to include one or more Amazon account+-- IDs, or @all@ to make the manual DB cluster snapshot restorable by any+-- Amazon account. Do not add the @all@ value for any manual DB cluster+-- snapshots that contain private information that you don\'t want+-- available to all Amazon accounts.+--+-- 'valuesToRemove', 'modifyDBClusterSnapshotAttribute_valuesToRemove' - A list of DB cluster snapshot attributes to remove from the attribute+-- specified by @AttributeName@.+--+-- To remove authorization for other Amazon accounts to copy or restore a+-- manual DB cluster snapshot, set this list to include one or more Amazon+-- account identifiers, or @all@ to remove authorization for any Amazon+-- account to copy or restore the DB cluster snapshot. If you specify+-- @all@, an Amazon account whose account ID is explicitly added to the+-- @restore@ attribute can still copy or restore a manual DB cluster+-- snapshot.+--+-- 'dbClusterSnapshotIdentifier', 'modifyDBClusterSnapshotAttribute_dbClusterSnapshotIdentifier' - The identifier for the DB cluster snapshot to modify the attributes for.+--+-- 'attributeName', 'modifyDBClusterSnapshotAttribute_attributeName' - The name of the DB cluster snapshot attribute to modify.+--+-- To manage authorization for other Amazon accounts to copy or restore a+-- manual DB cluster snapshot, set this value to @restore@.+newModifyDBClusterSnapshotAttribute ::+  -- | 'dbClusterSnapshotIdentifier'+  Prelude.Text ->+  -- | 'attributeName'+  Prelude.Text ->+  ModifyDBClusterSnapshotAttribute+newModifyDBClusterSnapshotAttribute+  pDBClusterSnapshotIdentifier_+  pAttributeName_ =+    ModifyDBClusterSnapshotAttribute'+      { valuesToAdd =+          Prelude.Nothing,+        valuesToRemove = Prelude.Nothing,+        dbClusterSnapshotIdentifier =+          pDBClusterSnapshotIdentifier_,+        attributeName = pAttributeName_+      }++-- | A list of DB cluster snapshot attributes to add to the attribute+-- specified by @AttributeName@.+--+-- To authorize other Amazon accounts to copy or restore a manual DB+-- cluster snapshot, set this list to include one or more Amazon account+-- IDs, or @all@ to make the manual DB cluster snapshot restorable by any+-- Amazon account. Do not add the @all@ value for any manual DB cluster+-- snapshots that contain private information that you don\'t want+-- available to all Amazon accounts.+modifyDBClusterSnapshotAttribute_valuesToAdd :: Lens.Lens' ModifyDBClusterSnapshotAttribute (Prelude.Maybe [Prelude.Text])+modifyDBClusterSnapshotAttribute_valuesToAdd = Lens.lens (\ModifyDBClusterSnapshotAttribute' {valuesToAdd} -> valuesToAdd) (\s@ModifyDBClusterSnapshotAttribute' {} a -> s {valuesToAdd = a} :: ModifyDBClusterSnapshotAttribute) Prelude.. Lens.mapping Lens.coerced++-- | A list of DB cluster snapshot attributes to remove from the attribute+-- specified by @AttributeName@.+--+-- To remove authorization for other Amazon accounts to copy or restore a+-- manual DB cluster snapshot, set this list to include one or more Amazon+-- account identifiers, or @all@ to remove authorization for any Amazon+-- account to copy or restore the DB cluster snapshot. If you specify+-- @all@, an Amazon account whose account ID is explicitly added to the+-- @restore@ attribute can still copy or restore a manual DB cluster+-- snapshot.+modifyDBClusterSnapshotAttribute_valuesToRemove :: Lens.Lens' ModifyDBClusterSnapshotAttribute (Prelude.Maybe [Prelude.Text])+modifyDBClusterSnapshotAttribute_valuesToRemove = Lens.lens (\ModifyDBClusterSnapshotAttribute' {valuesToRemove} -> valuesToRemove) (\s@ModifyDBClusterSnapshotAttribute' {} a -> s {valuesToRemove = a} :: ModifyDBClusterSnapshotAttribute) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the DB cluster snapshot to modify the attributes for.+modifyDBClusterSnapshotAttribute_dbClusterSnapshotIdentifier :: Lens.Lens' ModifyDBClusterSnapshotAttribute Prelude.Text+modifyDBClusterSnapshotAttribute_dbClusterSnapshotIdentifier = Lens.lens (\ModifyDBClusterSnapshotAttribute' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@ModifyDBClusterSnapshotAttribute' {} a -> s {dbClusterSnapshotIdentifier = a} :: ModifyDBClusterSnapshotAttribute)++-- | The name of the DB cluster snapshot attribute to modify.+--+-- To manage authorization for other Amazon accounts to copy or restore a+-- manual DB cluster snapshot, set this value to @restore@.+modifyDBClusterSnapshotAttribute_attributeName :: Lens.Lens' ModifyDBClusterSnapshotAttribute Prelude.Text+modifyDBClusterSnapshotAttribute_attributeName = Lens.lens (\ModifyDBClusterSnapshotAttribute' {attributeName} -> attributeName) (\s@ModifyDBClusterSnapshotAttribute' {} a -> s {attributeName = a} :: ModifyDBClusterSnapshotAttribute)++instance+  Core.AWSRequest+    ModifyDBClusterSnapshotAttribute+  where+  type+    AWSResponse ModifyDBClusterSnapshotAttribute =+      ModifyDBClusterSnapshotAttributeResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBClusterSnapshotAttributeResult"+      ( \s h x ->+          ModifyDBClusterSnapshotAttributeResponse'+            Prelude.<$> (x Data..@? "DBClusterSnapshotAttributesResult")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ModifyDBClusterSnapshotAttribute+  where+  hashWithSalt+    _salt+    ModifyDBClusterSnapshotAttribute' {..} =+      _salt+        `Prelude.hashWithSalt` valuesToAdd+        `Prelude.hashWithSalt` valuesToRemove+        `Prelude.hashWithSalt` dbClusterSnapshotIdentifier+        `Prelude.hashWithSalt` attributeName++instance+  Prelude.NFData+    ModifyDBClusterSnapshotAttribute+  where+  rnf ModifyDBClusterSnapshotAttribute' {..} =+    Prelude.rnf valuesToAdd+      `Prelude.seq` Prelude.rnf valuesToRemove+      `Prelude.seq` Prelude.rnf dbClusterSnapshotIdentifier+      `Prelude.seq` Prelude.rnf attributeName++instance+  Data.ToHeaders+    ModifyDBClusterSnapshotAttribute+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBClusterSnapshotAttribute where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    ModifyDBClusterSnapshotAttribute+  where+  toQuery ModifyDBClusterSnapshotAttribute' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "ModifyDBClusterSnapshotAttribute" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ValuesToAdd"+          Data.=: Data.toQuery+            ( Data.toQueryList "AttributeValue"+                Prelude.<$> valuesToAdd+            ),+        "ValuesToRemove"+          Data.=: Data.toQuery+            ( Data.toQueryList "AttributeValue"+                Prelude.<$> valuesToRemove+            ),+        "DBClusterSnapshotIdentifier"+          Data.=: dbClusterSnapshotIdentifier,+        "AttributeName" Data.=: attributeName+      ]++-- | /See:/ 'newModifyDBClusterSnapshotAttributeResponse' smart constructor.+data ModifyDBClusterSnapshotAttributeResponse = ModifyDBClusterSnapshotAttributeResponse'+  { dbClusterSnapshotAttributesResult :: Prelude.Maybe DBClusterSnapshotAttributesResult,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBClusterSnapshotAttributeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshotAttributesResult', 'modifyDBClusterSnapshotAttributeResponse_dbClusterSnapshotAttributesResult' - Undocumented member.+--+-- 'httpStatus', 'modifyDBClusterSnapshotAttributeResponse_httpStatus' - The response's http status code.+newModifyDBClusterSnapshotAttributeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyDBClusterSnapshotAttributeResponse+newModifyDBClusterSnapshotAttributeResponse+  pHttpStatus_ =+    ModifyDBClusterSnapshotAttributeResponse'+      { dbClusterSnapshotAttributesResult =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+modifyDBClusterSnapshotAttributeResponse_dbClusterSnapshotAttributesResult :: Lens.Lens' ModifyDBClusterSnapshotAttributeResponse (Prelude.Maybe DBClusterSnapshotAttributesResult)+modifyDBClusterSnapshotAttributeResponse_dbClusterSnapshotAttributesResult = Lens.lens (\ModifyDBClusterSnapshotAttributeResponse' {dbClusterSnapshotAttributesResult} -> dbClusterSnapshotAttributesResult) (\s@ModifyDBClusterSnapshotAttributeResponse' {} a -> s {dbClusterSnapshotAttributesResult = a} :: ModifyDBClusterSnapshotAttributeResponse)++-- | The response's http status code.+modifyDBClusterSnapshotAttributeResponse_httpStatus :: Lens.Lens' ModifyDBClusterSnapshotAttributeResponse Prelude.Int+modifyDBClusterSnapshotAttributeResponse_httpStatus = Lens.lens (\ModifyDBClusterSnapshotAttributeResponse' {httpStatus} -> httpStatus) (\s@ModifyDBClusterSnapshotAttributeResponse' {} a -> s {httpStatus = a} :: ModifyDBClusterSnapshotAttributeResponse)++instance+  Prelude.NFData+    ModifyDBClusterSnapshotAttributeResponse+  where+  rnf ModifyDBClusterSnapshotAttributeResponse' {..} =+    Prelude.rnf dbClusterSnapshotAttributesResult+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyDBInstance.hs view
@@ -0,0 +1,1159 @@+{-# 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.Neptune.ModifyDBInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies settings for a DB instance. You can change one or more database+-- configuration parameters by specifying these parameters and the new+-- values in the request. To learn what modifications you can make to your+-- DB instance, call DescribeValidDBInstanceModifications before you call+-- ModifyDBInstance.+module Amazonka.Neptune.ModifyDBInstance+  ( -- * Creating a Request+    ModifyDBInstance (..),+    newModifyDBInstance,++    -- * Request Lenses+    modifyDBInstance_allocatedStorage,+    modifyDBInstance_allowMajorVersionUpgrade,+    modifyDBInstance_applyImmediately,+    modifyDBInstance_autoMinorVersionUpgrade,+    modifyDBInstance_backupRetentionPeriod,+    modifyDBInstance_cACertificateIdentifier,+    modifyDBInstance_cloudwatchLogsExportConfiguration,+    modifyDBInstance_copyTagsToSnapshot,+    modifyDBInstance_dbInstanceClass,+    modifyDBInstance_dbParameterGroupName,+    modifyDBInstance_dbPortNumber,+    modifyDBInstance_dbSecurityGroups,+    modifyDBInstance_dbSubnetGroupName,+    modifyDBInstance_deletionProtection,+    modifyDBInstance_domain,+    modifyDBInstance_domainIAMRoleName,+    modifyDBInstance_enableIAMDatabaseAuthentication,+    modifyDBInstance_enablePerformanceInsights,+    modifyDBInstance_engineVersion,+    modifyDBInstance_iops,+    modifyDBInstance_licenseModel,+    modifyDBInstance_masterUserPassword,+    modifyDBInstance_monitoringInterval,+    modifyDBInstance_monitoringRoleArn,+    modifyDBInstance_multiAZ,+    modifyDBInstance_newDBInstanceIdentifier,+    modifyDBInstance_optionGroupName,+    modifyDBInstance_performanceInsightsKMSKeyId,+    modifyDBInstance_preferredBackupWindow,+    modifyDBInstance_preferredMaintenanceWindow,+    modifyDBInstance_promotionTier,+    modifyDBInstance_publiclyAccessible,+    modifyDBInstance_storageType,+    modifyDBInstance_tdeCredentialArn,+    modifyDBInstance_tdeCredentialPassword,+    modifyDBInstance_vpcSecurityGroupIds,+    modifyDBInstance_dbInstanceIdentifier,++    -- * Destructuring the Response+    ModifyDBInstanceResponse (..),+    newModifyDBInstanceResponse,++    -- * Response Lenses+    modifyDBInstanceResponse_dbInstance,+    modifyDBInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBInstance' smart constructor.+data ModifyDBInstance = ModifyDBInstance'+  { -- | Not supported by Neptune.+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Indicates that major version upgrades are allowed. Changing this+    -- parameter doesn\'t result in an outage and the change is asynchronously+    -- applied as soon as possible.+    allowMajorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether the modifications in this request and any pending+    -- modifications are asynchronously applied as soon as possible, regardless+    -- of the @PreferredMaintenanceWindow@ setting for the DB instance.+    --+    -- If this parameter is set to @false@, changes to the DB instance are+    -- applied during the next maintenance window. Some parameter changes can+    -- cause an outage and are applied on the next call to RebootDBInstance, or+    -- the next failure reboot.+    --+    -- Default: @false@+    applyImmediately :: Prelude.Maybe Prelude.Bool,+    -- | Indicates that minor version upgrades are applied automatically to the+    -- DB instance during the maintenance window. Changing this parameter+    -- doesn\'t result in an outage except in the following case and the change+    -- is asynchronously applied as soon as possible. An outage will result if+    -- this parameter is set to @true@ during the maintenance window, and a+    -- newer minor version is available, and Neptune has enabled auto patching+    -- for that engine version.+    autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | Not applicable. The retention period for automated backups is managed by+    -- the DB cluster. For more information, see ModifyDBCluster.+    --+    -- Default: Uses existing setting+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | Indicates the certificate that needs to be associated with the instance.+    cACertificateIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The configuration setting for the log types to be enabled for export to+    -- CloudWatch Logs for a specific DB instance or DB cluster.+    cloudwatchLogsExportConfiguration :: Prelude.Maybe CloudwatchLogsExportConfiguration,+    -- | True to copy all tags from the DB instance to snapshots of the DB+    -- instance, and otherwise false. The default is false.+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The new compute and memory capacity of the DB instance, for example,+    -- @db.m4.large@. Not all DB instance classes are available in all Amazon+    -- Regions.+    --+    -- If you modify the DB instance class, an outage occurs during the change.+    -- The change is applied during the next maintenance window, unless+    -- @ApplyImmediately@ is specified as @true@ for this request.+    --+    -- Default: Uses existing setting+    dbInstanceClass :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB parameter group to apply to the DB instance. Changing+    -- this setting doesn\'t result in an outage. The parameter group name+    -- itself is changed immediately, but the actual parameter changes are not+    -- applied until you reboot the instance without failover. The db instance+    -- will NOT be rebooted automatically and the parameter changes will NOT be+    -- applied during the next maintenance window.+    --+    -- Default: Uses existing setting+    --+    -- Constraints: The DB parameter group must be in the same DB parameter+    -- group family as this DB instance.+    dbParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the database accepts connections.+    --+    -- The value of the @DBPortNumber@ parameter must not match any of the port+    -- values specified for options in the option group for the DB instance.+    --+    -- Your database will restart when you change the @DBPortNumber@ value+    -- regardless of the value of the @ApplyImmediately@ parameter.+    --+    -- Default: @8182@+    dbPortNumber :: Prelude.Maybe Prelude.Int,+    -- | A list of DB security groups to authorize on this DB instance. Changing+    -- this setting doesn\'t result in an outage and the change is+    -- asynchronously applied as soon as possible.+    --+    -- Constraints:+    --+    -- -   If supplied, must match existing DBSecurityGroups.+    dbSecurityGroups :: Prelude.Maybe [Prelude.Text],+    -- | The new DB subnet group for the DB instance. You can use this parameter+    -- to move your DB instance to a different VPC.+    --+    -- Changing the subnet group causes an outage during the change. The change+    -- is applied during the next maintenance window, unless you specify @true@+    -- for the @ApplyImmediately@ parameter.+    --+    -- Constraints: If supplied, must match the name of an existing+    -- DBSubnetGroup.+    --+    -- Example: @mySubnetGroup@+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB instance has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is disabled. See+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | Not supported.+    domain :: Prelude.Maybe Prelude.Text,+    -- | Not supported+    domainIAMRoleName :: Prelude.Maybe Prelude.Text,+    -- | True to enable mapping of Amazon Identity and Access Management (IAM)+    -- accounts to database accounts, and otherwise false.+    --+    -- You can enable IAM database authentication for the following database+    -- engines+    --+    -- Not applicable. Mapping Amazon IAM accounts to database accounts is+    -- managed by the DB cluster. For more information, see ModifyDBCluster.+    --+    -- Default: @false@+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    enablePerformanceInsights :: Prelude.Maybe Prelude.Bool,+    -- | The version number of the database engine to upgrade to. Currently,+    -- setting this parameter has no effect. To upgrade your database engine to+    -- the most recent release, use the ApplyPendingMaintenanceAction API.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The new Provisioned IOPS (I\/O operations per second) value for the+    -- instance.+    --+    -- Changing this setting doesn\'t result in an outage and the change is+    -- applied during the next maintenance window unless the @ApplyImmediately@+    -- parameter is set to @true@ for this request.+    --+    -- Default: Uses existing setting+    iops :: Prelude.Maybe Prelude.Int,+    -- | Not supported by Neptune.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUserPassword :: Prelude.Maybe Prelude.Text,+    -- | The interval, in seconds, between points when Enhanced Monitoring+    -- metrics are collected for the DB instance. To disable collecting+    -- Enhanced Monitoring metrics, specify 0. The default is 0.+    --+    -- If @MonitoringRoleArn@ is specified, then you must also set+    -- @MonitoringInterval@ to a value other than 0.+    --+    -- Valid Values: @0, 1, 5, 10, 15, 30, 60@+    monitoringInterval :: Prelude.Maybe Prelude.Int,+    -- | The ARN for the IAM role that permits Neptune to send enhanced+    -- monitoring metrics to Amazon CloudWatch Logs. For example,+    -- @arn:aws:iam:123456789012:role\/emaccess@.+    --+    -- If @MonitoringInterval@ is set to a value other than 0, then you must+    -- supply a @MonitoringRoleArn@ value.+    monitoringRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies if the DB instance is a Multi-AZ deployment. Changing this+    -- parameter doesn\'t result in an outage and the change is applied during+    -- the next maintenance window unless the @ApplyImmediately@ parameter is+    -- set to @true@ for this request.+    multiAZ :: Prelude.Maybe Prelude.Bool,+    -- | The new DB instance identifier for the DB instance when renaming a DB+    -- instance. When you change the DB instance identifier, an instance reboot+    -- will occur immediately if you set @Apply Immediately@ to true, or will+    -- occur during the next maintenance window if @Apply Immediately@ to+    -- false. This value is stored as a lowercase string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   The first character must be a letter.+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens.+    --+    -- Example: @mydbinstance@+    newDBInstanceIdentifier' :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    performanceInsightsKMSKeyId :: Prelude.Maybe Prelude.Text,+    -- | The daily time range during which automated backups are created if+    -- automated backups are enabled.+    --+    -- Not applicable. The daily time range for creating automated backups is+    -- managed by the DB cluster. For more information, see ModifyDBCluster.+    --+    -- Constraints:+    --+    -- -   Must be in the format hh24:mi-hh24:mi+    --+    -- -   Must be in Universal Time Coordinated (UTC)+    --+    -- -   Must not conflict with the preferred maintenance window+    --+    -- -   Must be at least 30 minutes+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | The weekly time range (in UTC) during which system maintenance can+    -- occur, which might result in an outage. Changing this parameter doesn\'t+    -- result in an outage, except in the following situation, and the change+    -- is asynchronously applied as soon as possible. If there are pending+    -- actions that cause a reboot, and the maintenance window is changed to+    -- include the current time, then changing this parameter will cause a+    -- reboot of the DB instance. If moving this window to the current time,+    -- there must be at least 30 minutes between the current time and end of+    -- the window to ensure pending changes are applied.+    --+    -- Default: Uses existing setting+    --+    -- Format: ddd:hh24:mi-ddd:hh24:mi+    --+    -- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+    --+    -- Constraints: Must be at least 30 minutes+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    -- | A value that specifies the order in which a Read Replica is promoted to+    -- the primary instance after a failure of the existing primary instance.+    --+    -- Default: 1+    --+    -- Valid Values: 0 - 15+    promotionTier :: Prelude.Maybe Prelude.Int,+    -- | This flag should no longer be used.+    publiclyAccessible :: Prelude.Maybe Prelude.Bool,+    -- | Not supported.+    storageType :: Prelude.Maybe Prelude.Text,+    -- | The ARN from the key store with which to associate the instance for TDE+    -- encryption.+    tdeCredentialArn :: Prelude.Maybe Prelude.Text,+    -- | The password for the given ARN from the key store in order to access the+    -- device.+    tdeCredentialPassword :: Prelude.Maybe Prelude.Text,+    -- | A list of EC2 VPC security groups to authorize on this DB instance. This+    -- change is asynchronously applied as soon as possible.+    --+    -- Not applicable. The associated list of EC2 VPC security groups is+    -- managed by the DB cluster. For more information, see ModifyDBCluster.+    --+    -- Constraints:+    --+    -- -   If supplied, must match existing VpcSecurityGroupIds.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The DB instance identifier. This value is stored as a lowercase string.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBInstance.+    dbInstanceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'modifyDBInstance_allocatedStorage' - Not supported by Neptune.+--+-- 'allowMajorVersionUpgrade', 'modifyDBInstance_allowMajorVersionUpgrade' - Indicates that major version upgrades are allowed. Changing this+-- parameter doesn\'t result in an outage and the change is asynchronously+-- applied as soon as possible.+--+-- 'applyImmediately', 'modifyDBInstance_applyImmediately' - Specifies whether the modifications in this request and any pending+-- modifications are asynchronously applied as soon as possible, regardless+-- of the @PreferredMaintenanceWindow@ setting for the DB instance.+--+-- If this parameter is set to @false@, changes to the DB instance are+-- applied during the next maintenance window. Some parameter changes can+-- cause an outage and are applied on the next call to RebootDBInstance, or+-- the next failure reboot.+--+-- Default: @false@+--+-- 'autoMinorVersionUpgrade', 'modifyDBInstance_autoMinorVersionUpgrade' - Indicates that minor version upgrades are applied automatically to the+-- DB instance during the maintenance window. Changing this parameter+-- doesn\'t result in an outage except in the following case and the change+-- is asynchronously applied as soon as possible. An outage will result if+-- this parameter is set to @true@ during the maintenance window, and a+-- newer minor version is available, and Neptune has enabled auto patching+-- for that engine version.+--+-- 'backupRetentionPeriod', 'modifyDBInstance_backupRetentionPeriod' - Not applicable. The retention period for automated backups is managed by+-- the DB cluster. For more information, see ModifyDBCluster.+--+-- Default: Uses existing setting+--+-- 'cACertificateIdentifier', 'modifyDBInstance_cACertificateIdentifier' - Indicates the certificate that needs to be associated with the instance.+--+-- 'cloudwatchLogsExportConfiguration', 'modifyDBInstance_cloudwatchLogsExportConfiguration' - The configuration setting for the log types to be enabled for export to+-- CloudWatch Logs for a specific DB instance or DB cluster.+--+-- 'copyTagsToSnapshot', 'modifyDBInstance_copyTagsToSnapshot' - True to copy all tags from the DB instance to snapshots of the DB+-- instance, and otherwise false. The default is false.+--+-- 'dbInstanceClass', 'modifyDBInstance_dbInstanceClass' - The new compute and memory capacity of the DB instance, for example,+-- @db.m4.large@. Not all DB instance classes are available in all Amazon+-- Regions.+--+-- If you modify the DB instance class, an outage occurs during the change.+-- The change is applied during the next maintenance window, unless+-- @ApplyImmediately@ is specified as @true@ for this request.+--+-- Default: Uses existing setting+--+-- 'dbParameterGroupName', 'modifyDBInstance_dbParameterGroupName' - The name of the DB parameter group to apply to the DB instance. Changing+-- this setting doesn\'t result in an outage. The parameter group name+-- itself is changed immediately, but the actual parameter changes are not+-- applied until you reboot the instance without failover. The db instance+-- will NOT be rebooted automatically and the parameter changes will NOT be+-- applied during the next maintenance window.+--+-- Default: Uses existing setting+--+-- Constraints: The DB parameter group must be in the same DB parameter+-- group family as this DB instance.+--+-- 'dbPortNumber', 'modifyDBInstance_dbPortNumber' - The port number on which the database accepts connections.+--+-- The value of the @DBPortNumber@ parameter must not match any of the port+-- values specified for options in the option group for the DB instance.+--+-- Your database will restart when you change the @DBPortNumber@ value+-- regardless of the value of the @ApplyImmediately@ parameter.+--+-- Default: @8182@+--+-- 'dbSecurityGroups', 'modifyDBInstance_dbSecurityGroups' - A list of DB security groups to authorize on this DB instance. Changing+-- this setting doesn\'t result in an outage and the change is+-- asynchronously applied as soon as possible.+--+-- Constraints:+--+-- -   If supplied, must match existing DBSecurityGroups.+--+-- 'dbSubnetGroupName', 'modifyDBInstance_dbSubnetGroupName' - The new DB subnet group for the DB instance. You can use this parameter+-- to move your DB instance to a different VPC.+--+-- Changing the subnet group causes an outage during the change. The change+-- is applied during the next maintenance window, unless you specify @true@+-- for the @ApplyImmediately@ parameter.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetGroup@+--+-- 'deletionProtection', 'modifyDBInstance_deletionProtection' - A value that indicates whether the DB instance has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+--+-- 'domain', 'modifyDBInstance_domain' - Not supported.+--+-- 'domainIAMRoleName', 'modifyDBInstance_domainIAMRoleName' - Not supported+--+-- 'enableIAMDatabaseAuthentication', 'modifyDBInstance_enableIAMDatabaseAuthentication' - True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- You can enable IAM database authentication for the following database+-- engines+--+-- Not applicable. Mapping Amazon IAM accounts to database accounts is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Default: @false@+--+-- 'enablePerformanceInsights', 'modifyDBInstance_enablePerformanceInsights' - /(Not supported by Neptune)/+--+-- 'engineVersion', 'modifyDBInstance_engineVersion' - The version number of the database engine to upgrade to. Currently,+-- setting this parameter has no effect. To upgrade your database engine to+-- the most recent release, use the ApplyPendingMaintenanceAction API.+--+-- 'iops', 'modifyDBInstance_iops' - The new Provisioned IOPS (I\/O operations per second) value for the+-- instance.+--+-- Changing this setting doesn\'t result in an outage and the change is+-- applied during the next maintenance window unless the @ApplyImmediately@+-- parameter is set to @true@ for this request.+--+-- Default: Uses existing setting+--+-- 'licenseModel', 'modifyDBInstance_licenseModel' - Not supported by Neptune.+--+-- 'masterUserPassword', 'modifyDBInstance_masterUserPassword' - Not supported by Neptune.+--+-- 'monitoringInterval', 'modifyDBInstance_monitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance. To disable collecting+-- Enhanced Monitoring metrics, specify 0. The default is 0.+--+-- If @MonitoringRoleArn@ is specified, then you must also set+-- @MonitoringInterval@ to a value other than 0.+--+-- Valid Values: @0, 1, 5, 10, 15, 30, 60@+--+-- 'monitoringRoleArn', 'modifyDBInstance_monitoringRoleArn' - The ARN for the IAM role that permits Neptune to send enhanced+-- monitoring metrics to Amazon CloudWatch Logs. For example,+-- @arn:aws:iam:123456789012:role\/emaccess@.+--+-- If @MonitoringInterval@ is set to a value other than 0, then you must+-- supply a @MonitoringRoleArn@ value.+--+-- 'multiAZ', 'modifyDBInstance_multiAZ' - Specifies if the DB instance is a Multi-AZ deployment. Changing this+-- parameter doesn\'t result in an outage and the change is applied during+-- the next maintenance window unless the @ApplyImmediately@ parameter is+-- set to @true@ for this request.+--+-- 'newDBInstanceIdentifier'', 'modifyDBInstance_newDBInstanceIdentifier' - The new DB instance identifier for the DB instance when renaming a DB+-- instance. When you change the DB instance identifier, an instance reboot+-- will occur immediately if you set @Apply Immediately@ to true, or will+-- occur during the next maintenance window if @Apply Immediately@ to+-- false. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   The first character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @mydbinstance@+--+-- 'optionGroupName', 'modifyDBInstance_optionGroupName' - /(Not supported by Neptune)/+--+-- 'performanceInsightsKMSKeyId', 'modifyDBInstance_performanceInsightsKMSKeyId' - /(Not supported by Neptune)/+--+-- 'preferredBackupWindow', 'modifyDBInstance_preferredBackupWindow' - The daily time range during which automated backups are created if+-- automated backups are enabled.+--+-- Not applicable. The daily time range for creating automated backups is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Constraints:+--+-- -   Must be in the format hh24:mi-hh24:mi+--+-- -   Must be in Universal Time Coordinated (UTC)+--+-- -   Must not conflict with the preferred maintenance window+--+-- -   Must be at least 30 minutes+--+-- 'preferredMaintenanceWindow', 'modifyDBInstance_preferredMaintenanceWindow' - The weekly time range (in UTC) during which system maintenance can+-- occur, which might result in an outage. Changing this parameter doesn\'t+-- result in an outage, except in the following situation, and the change+-- is asynchronously applied as soon as possible. If there are pending+-- actions that cause a reboot, and the maintenance window is changed to+-- include the current time, then changing this parameter will cause a+-- reboot of the DB instance. If moving this window to the current time,+-- there must be at least 30 minutes between the current time and end of+-- the window to ensure pending changes are applied.+--+-- Default: Uses existing setting+--+-- Format: ddd:hh24:mi-ddd:hh24:mi+--+-- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+--+-- Constraints: Must be at least 30 minutes+--+-- 'promotionTier', 'modifyDBInstance_promotionTier' - A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+--+-- Default: 1+--+-- Valid Values: 0 - 15+--+-- 'publiclyAccessible', 'modifyDBInstance_publiclyAccessible' - This flag should no longer be used.+--+-- 'storageType', 'modifyDBInstance_storageType' - Not supported.+--+-- 'tdeCredentialArn', 'modifyDBInstance_tdeCredentialArn' - The ARN from the key store with which to associate the instance for TDE+-- encryption.+--+-- 'tdeCredentialPassword', 'modifyDBInstance_tdeCredentialPassword' - The password for the given ARN from the key store in order to access the+-- device.+--+-- 'vpcSecurityGroupIds', 'modifyDBInstance_vpcSecurityGroupIds' - A list of EC2 VPC security groups to authorize on this DB instance. This+-- change is asynchronously applied as soon as possible.+--+-- Not applicable. The associated list of EC2 VPC security groups is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Constraints:+--+-- -   If supplied, must match existing VpcSecurityGroupIds.+--+-- 'dbInstanceIdentifier', 'modifyDBInstance_dbInstanceIdentifier' - The DB instance identifier. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBInstance.+newModifyDBInstance ::+  -- | 'dbInstanceIdentifier'+  Prelude.Text ->+  ModifyDBInstance+newModifyDBInstance pDBInstanceIdentifier_ =+  ModifyDBInstance'+    { allocatedStorage =+        Prelude.Nothing,+      allowMajorVersionUpgrade = Prelude.Nothing,+      applyImmediately = Prelude.Nothing,+      autoMinorVersionUpgrade = Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      cACertificateIdentifier = Prelude.Nothing,+      cloudwatchLogsExportConfiguration = Prelude.Nothing,+      copyTagsToSnapshot = Prelude.Nothing,+      dbInstanceClass = Prelude.Nothing,+      dbParameterGroupName = Prelude.Nothing,+      dbPortNumber = Prelude.Nothing,+      dbSecurityGroups = Prelude.Nothing,+      dbSubnetGroupName = Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      domain = Prelude.Nothing,+      domainIAMRoleName = Prelude.Nothing,+      enableIAMDatabaseAuthentication = Prelude.Nothing,+      enablePerformanceInsights = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      iops = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      masterUserPassword = Prelude.Nothing,+      monitoringInterval = Prelude.Nothing,+      monitoringRoleArn = Prelude.Nothing,+      multiAZ = Prelude.Nothing,+      newDBInstanceIdentifier' = Prelude.Nothing,+      optionGroupName = Prelude.Nothing,+      performanceInsightsKMSKeyId = Prelude.Nothing,+      preferredBackupWindow = Prelude.Nothing,+      preferredMaintenanceWindow = Prelude.Nothing,+      promotionTier = Prelude.Nothing,+      publiclyAccessible = Prelude.Nothing,+      storageType = Prelude.Nothing,+      tdeCredentialArn = Prelude.Nothing,+      tdeCredentialPassword = Prelude.Nothing,+      vpcSecurityGroupIds = Prelude.Nothing,+      dbInstanceIdentifier = pDBInstanceIdentifier_+    }++-- | Not supported by Neptune.+modifyDBInstance_allocatedStorage :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_allocatedStorage = Lens.lens (\ModifyDBInstance' {allocatedStorage} -> allocatedStorage) (\s@ModifyDBInstance' {} a -> s {allocatedStorage = a} :: ModifyDBInstance)++-- | Indicates that major version upgrades are allowed. Changing this+-- parameter doesn\'t result in an outage and the change is asynchronously+-- applied as soon as possible.+modifyDBInstance_allowMajorVersionUpgrade :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_allowMajorVersionUpgrade = Lens.lens (\ModifyDBInstance' {allowMajorVersionUpgrade} -> allowMajorVersionUpgrade) (\s@ModifyDBInstance' {} a -> s {allowMajorVersionUpgrade = a} :: ModifyDBInstance)++-- | Specifies whether the modifications in this request and any pending+-- modifications are asynchronously applied as soon as possible, regardless+-- of the @PreferredMaintenanceWindow@ setting for the DB instance.+--+-- If this parameter is set to @false@, changes to the DB instance are+-- applied during the next maintenance window. Some parameter changes can+-- cause an outage and are applied on the next call to RebootDBInstance, or+-- the next failure reboot.+--+-- Default: @false@+modifyDBInstance_applyImmediately :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_applyImmediately = Lens.lens (\ModifyDBInstance' {applyImmediately} -> applyImmediately) (\s@ModifyDBInstance' {} a -> s {applyImmediately = a} :: ModifyDBInstance)++-- | Indicates that minor version upgrades are applied automatically to the+-- DB instance during the maintenance window. Changing this parameter+-- doesn\'t result in an outage except in the following case and the change+-- is asynchronously applied as soon as possible. An outage will result if+-- this parameter is set to @true@ during the maintenance window, and a+-- newer minor version is available, and Neptune has enabled auto patching+-- for that engine version.+modifyDBInstance_autoMinorVersionUpgrade :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_autoMinorVersionUpgrade = Lens.lens (\ModifyDBInstance' {autoMinorVersionUpgrade} -> autoMinorVersionUpgrade) (\s@ModifyDBInstance' {} a -> s {autoMinorVersionUpgrade = a} :: ModifyDBInstance)++-- | Not applicable. The retention period for automated backups is managed by+-- the DB cluster. For more information, see ModifyDBCluster.+--+-- Default: Uses existing setting+modifyDBInstance_backupRetentionPeriod :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_backupRetentionPeriod = Lens.lens (\ModifyDBInstance' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@ModifyDBInstance' {} a -> s {backupRetentionPeriod = a} :: ModifyDBInstance)++-- | Indicates the certificate that needs to be associated with the instance.+modifyDBInstance_cACertificateIdentifier :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_cACertificateIdentifier = Lens.lens (\ModifyDBInstance' {cACertificateIdentifier} -> cACertificateIdentifier) (\s@ModifyDBInstance' {} a -> s {cACertificateIdentifier = a} :: ModifyDBInstance)++-- | The configuration setting for the log types to be enabled for export to+-- CloudWatch Logs for a specific DB instance or DB cluster.+modifyDBInstance_cloudwatchLogsExportConfiguration :: Lens.Lens' ModifyDBInstance (Prelude.Maybe CloudwatchLogsExportConfiguration)+modifyDBInstance_cloudwatchLogsExportConfiguration = Lens.lens (\ModifyDBInstance' {cloudwatchLogsExportConfiguration} -> cloudwatchLogsExportConfiguration) (\s@ModifyDBInstance' {} a -> s {cloudwatchLogsExportConfiguration = a} :: ModifyDBInstance)++-- | True to copy all tags from the DB instance to snapshots of the DB+-- instance, and otherwise false. The default is false.+modifyDBInstance_copyTagsToSnapshot :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_copyTagsToSnapshot = Lens.lens (\ModifyDBInstance' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@ModifyDBInstance' {} a -> s {copyTagsToSnapshot = a} :: ModifyDBInstance)++-- | The new compute and memory capacity of the DB instance, for example,+-- @db.m4.large@. Not all DB instance classes are available in all Amazon+-- Regions.+--+-- If you modify the DB instance class, an outage occurs during the change.+-- The change is applied during the next maintenance window, unless+-- @ApplyImmediately@ is specified as @true@ for this request.+--+-- Default: Uses existing setting+modifyDBInstance_dbInstanceClass :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_dbInstanceClass = Lens.lens (\ModifyDBInstance' {dbInstanceClass} -> dbInstanceClass) (\s@ModifyDBInstance' {} a -> s {dbInstanceClass = a} :: ModifyDBInstance)++-- | The name of the DB parameter group to apply to the DB instance. Changing+-- this setting doesn\'t result in an outage. The parameter group name+-- itself is changed immediately, but the actual parameter changes are not+-- applied until you reboot the instance without failover. The db instance+-- will NOT be rebooted automatically and the parameter changes will NOT be+-- applied during the next maintenance window.+--+-- Default: Uses existing setting+--+-- Constraints: The DB parameter group must be in the same DB parameter+-- group family as this DB instance.+modifyDBInstance_dbParameterGroupName :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_dbParameterGroupName = Lens.lens (\ModifyDBInstance' {dbParameterGroupName} -> dbParameterGroupName) (\s@ModifyDBInstance' {} a -> s {dbParameterGroupName = a} :: ModifyDBInstance)++-- | The port number on which the database accepts connections.+--+-- The value of the @DBPortNumber@ parameter must not match any of the port+-- values specified for options in the option group for the DB instance.+--+-- Your database will restart when you change the @DBPortNumber@ value+-- regardless of the value of the @ApplyImmediately@ parameter.+--+-- Default: @8182@+modifyDBInstance_dbPortNumber :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_dbPortNumber = Lens.lens (\ModifyDBInstance' {dbPortNumber} -> dbPortNumber) (\s@ModifyDBInstance' {} a -> s {dbPortNumber = a} :: ModifyDBInstance)++-- | A list of DB security groups to authorize on this DB instance. Changing+-- this setting doesn\'t result in an outage and the change is+-- asynchronously applied as soon as possible.+--+-- Constraints:+--+-- -   If supplied, must match existing DBSecurityGroups.+modifyDBInstance_dbSecurityGroups :: Lens.Lens' ModifyDBInstance (Prelude.Maybe [Prelude.Text])+modifyDBInstance_dbSecurityGroups = Lens.lens (\ModifyDBInstance' {dbSecurityGroups} -> dbSecurityGroups) (\s@ModifyDBInstance' {} a -> s {dbSecurityGroups = a} :: ModifyDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | The new DB subnet group for the DB instance. You can use this parameter+-- to move your DB instance to a different VPC.+--+-- Changing the subnet group causes an outage during the change. The change+-- is applied during the next maintenance window, unless you specify @true@+-- for the @ApplyImmediately@ parameter.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetGroup@+modifyDBInstance_dbSubnetGroupName :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_dbSubnetGroupName = Lens.lens (\ModifyDBInstance' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@ModifyDBInstance' {} a -> s {dbSubnetGroupName = a} :: ModifyDBInstance)++-- | A value that indicates whether the DB instance has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+modifyDBInstance_deletionProtection :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_deletionProtection = Lens.lens (\ModifyDBInstance' {deletionProtection} -> deletionProtection) (\s@ModifyDBInstance' {} a -> s {deletionProtection = a} :: ModifyDBInstance)++-- | Not supported.+modifyDBInstance_domain :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_domain = Lens.lens (\ModifyDBInstance' {domain} -> domain) (\s@ModifyDBInstance' {} a -> s {domain = a} :: ModifyDBInstance)++-- | Not supported+modifyDBInstance_domainIAMRoleName :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_domainIAMRoleName = Lens.lens (\ModifyDBInstance' {domainIAMRoleName} -> domainIAMRoleName) (\s@ModifyDBInstance' {} a -> s {domainIAMRoleName = a} :: ModifyDBInstance)++-- | True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- You can enable IAM database authentication for the following database+-- engines+--+-- Not applicable. Mapping Amazon IAM accounts to database accounts is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Default: @false@+modifyDBInstance_enableIAMDatabaseAuthentication :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_enableIAMDatabaseAuthentication = Lens.lens (\ModifyDBInstance' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@ModifyDBInstance' {} a -> s {enableIAMDatabaseAuthentication = a} :: ModifyDBInstance)++-- | /(Not supported by Neptune)/+modifyDBInstance_enablePerformanceInsights :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_enablePerformanceInsights = Lens.lens (\ModifyDBInstance' {enablePerformanceInsights} -> enablePerformanceInsights) (\s@ModifyDBInstance' {} a -> s {enablePerformanceInsights = a} :: ModifyDBInstance)++-- | The version number of the database engine to upgrade to. Currently,+-- setting this parameter has no effect. To upgrade your database engine to+-- the most recent release, use the ApplyPendingMaintenanceAction API.+modifyDBInstance_engineVersion :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_engineVersion = Lens.lens (\ModifyDBInstance' {engineVersion} -> engineVersion) (\s@ModifyDBInstance' {} a -> s {engineVersion = a} :: ModifyDBInstance)++-- | The new Provisioned IOPS (I\/O operations per second) value for the+-- instance.+--+-- Changing this setting doesn\'t result in an outage and the change is+-- applied during the next maintenance window unless the @ApplyImmediately@+-- parameter is set to @true@ for this request.+--+-- Default: Uses existing setting+modifyDBInstance_iops :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_iops = Lens.lens (\ModifyDBInstance' {iops} -> iops) (\s@ModifyDBInstance' {} a -> s {iops = a} :: ModifyDBInstance)++-- | Not supported by Neptune.+modifyDBInstance_licenseModel :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_licenseModel = Lens.lens (\ModifyDBInstance' {licenseModel} -> licenseModel) (\s@ModifyDBInstance' {} a -> s {licenseModel = a} :: ModifyDBInstance)++-- | Not supported by Neptune.+modifyDBInstance_masterUserPassword :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_masterUserPassword = Lens.lens (\ModifyDBInstance' {masterUserPassword} -> masterUserPassword) (\s@ModifyDBInstance' {} a -> s {masterUserPassword = a} :: ModifyDBInstance)++-- | The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance. To disable collecting+-- Enhanced Monitoring metrics, specify 0. The default is 0.+--+-- If @MonitoringRoleArn@ is specified, then you must also set+-- @MonitoringInterval@ to a value other than 0.+--+-- Valid Values: @0, 1, 5, 10, 15, 30, 60@+modifyDBInstance_monitoringInterval :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_monitoringInterval = Lens.lens (\ModifyDBInstance' {monitoringInterval} -> monitoringInterval) (\s@ModifyDBInstance' {} a -> s {monitoringInterval = a} :: ModifyDBInstance)++-- | The ARN for the IAM role that permits Neptune to send enhanced+-- monitoring metrics to Amazon CloudWatch Logs. For example,+-- @arn:aws:iam:123456789012:role\/emaccess@.+--+-- If @MonitoringInterval@ is set to a value other than 0, then you must+-- supply a @MonitoringRoleArn@ value.+modifyDBInstance_monitoringRoleArn :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_monitoringRoleArn = Lens.lens (\ModifyDBInstance' {monitoringRoleArn} -> monitoringRoleArn) (\s@ModifyDBInstance' {} a -> s {monitoringRoleArn = a} :: ModifyDBInstance)++-- | Specifies if the DB instance is a Multi-AZ deployment. Changing this+-- parameter doesn\'t result in an outage and the change is applied during+-- the next maintenance window unless the @ApplyImmediately@ parameter is+-- set to @true@ for this request.+modifyDBInstance_multiAZ :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_multiAZ = Lens.lens (\ModifyDBInstance' {multiAZ} -> multiAZ) (\s@ModifyDBInstance' {} a -> s {multiAZ = a} :: ModifyDBInstance)++-- | The new DB instance identifier for the DB instance when renaming a DB+-- instance. When you change the DB instance identifier, an instance reboot+-- will occur immediately if you set @Apply Immediately@ to true, or will+-- occur during the next maintenance window if @Apply Immediately@ to+-- false. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   The first character must be a letter.+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+--+-- Example: @mydbinstance@+modifyDBInstance_newDBInstanceIdentifier :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_newDBInstanceIdentifier = Lens.lens (\ModifyDBInstance' {newDBInstanceIdentifier'} -> newDBInstanceIdentifier') (\s@ModifyDBInstance' {} a -> s {newDBInstanceIdentifier' = a} :: ModifyDBInstance)++-- | /(Not supported by Neptune)/+modifyDBInstance_optionGroupName :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_optionGroupName = Lens.lens (\ModifyDBInstance' {optionGroupName} -> optionGroupName) (\s@ModifyDBInstance' {} a -> s {optionGroupName = a} :: ModifyDBInstance)++-- | /(Not supported by Neptune)/+modifyDBInstance_performanceInsightsKMSKeyId :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_performanceInsightsKMSKeyId = Lens.lens (\ModifyDBInstance' {performanceInsightsKMSKeyId} -> performanceInsightsKMSKeyId) (\s@ModifyDBInstance' {} a -> s {performanceInsightsKMSKeyId = a} :: ModifyDBInstance)++-- | The daily time range during which automated backups are created if+-- automated backups are enabled.+--+-- Not applicable. The daily time range for creating automated backups is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Constraints:+--+-- -   Must be in the format hh24:mi-hh24:mi+--+-- -   Must be in Universal Time Coordinated (UTC)+--+-- -   Must not conflict with the preferred maintenance window+--+-- -   Must be at least 30 minutes+modifyDBInstance_preferredBackupWindow :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_preferredBackupWindow = Lens.lens (\ModifyDBInstance' {preferredBackupWindow} -> preferredBackupWindow) (\s@ModifyDBInstance' {} a -> s {preferredBackupWindow = a} :: ModifyDBInstance)++-- | The weekly time range (in UTC) during which system maintenance can+-- occur, which might result in an outage. Changing this parameter doesn\'t+-- result in an outage, except in the following situation, and the change+-- is asynchronously applied as soon as possible. If there are pending+-- actions that cause a reboot, and the maintenance window is changed to+-- include the current time, then changing this parameter will cause a+-- reboot of the DB instance. If moving this window to the current time,+-- there must be at least 30 minutes between the current time and end of+-- the window to ensure pending changes are applied.+--+-- Default: Uses existing setting+--+-- Format: ddd:hh24:mi-ddd:hh24:mi+--+-- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+--+-- Constraints: Must be at least 30 minutes+modifyDBInstance_preferredMaintenanceWindow :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_preferredMaintenanceWindow = Lens.lens (\ModifyDBInstance' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@ModifyDBInstance' {} a -> s {preferredMaintenanceWindow = a} :: ModifyDBInstance)++-- | A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+--+-- Default: 1+--+-- Valid Values: 0 - 15+modifyDBInstance_promotionTier :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Int)+modifyDBInstance_promotionTier = Lens.lens (\ModifyDBInstance' {promotionTier} -> promotionTier) (\s@ModifyDBInstance' {} a -> s {promotionTier = a} :: ModifyDBInstance)++-- | This flag should no longer be used.+modifyDBInstance_publiclyAccessible :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Bool)+modifyDBInstance_publiclyAccessible = Lens.lens (\ModifyDBInstance' {publiclyAccessible} -> publiclyAccessible) (\s@ModifyDBInstance' {} a -> s {publiclyAccessible = a} :: ModifyDBInstance)++-- | Not supported.+modifyDBInstance_storageType :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_storageType = Lens.lens (\ModifyDBInstance' {storageType} -> storageType) (\s@ModifyDBInstance' {} a -> s {storageType = a} :: ModifyDBInstance)++-- | The ARN from the key store with which to associate the instance for TDE+-- encryption.+modifyDBInstance_tdeCredentialArn :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_tdeCredentialArn = Lens.lens (\ModifyDBInstance' {tdeCredentialArn} -> tdeCredentialArn) (\s@ModifyDBInstance' {} a -> s {tdeCredentialArn = a} :: ModifyDBInstance)++-- | The password for the given ARN from the key store in order to access the+-- device.+modifyDBInstance_tdeCredentialPassword :: Lens.Lens' ModifyDBInstance (Prelude.Maybe Prelude.Text)+modifyDBInstance_tdeCredentialPassword = Lens.lens (\ModifyDBInstance' {tdeCredentialPassword} -> tdeCredentialPassword) (\s@ModifyDBInstance' {} a -> s {tdeCredentialPassword = a} :: ModifyDBInstance)++-- | A list of EC2 VPC security groups to authorize on this DB instance. This+-- change is asynchronously applied as soon as possible.+--+-- Not applicable. The associated list of EC2 VPC security groups is+-- managed by the DB cluster. For more information, see ModifyDBCluster.+--+-- Constraints:+--+-- -   If supplied, must match existing VpcSecurityGroupIds.+modifyDBInstance_vpcSecurityGroupIds :: Lens.Lens' ModifyDBInstance (Prelude.Maybe [Prelude.Text])+modifyDBInstance_vpcSecurityGroupIds = Lens.lens (\ModifyDBInstance' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@ModifyDBInstance' {} a -> s {vpcSecurityGroupIds = a} :: ModifyDBInstance) Prelude.. Lens.mapping Lens.coerced++-- | The DB instance identifier. This value is stored as a lowercase string.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBInstance.+modifyDBInstance_dbInstanceIdentifier :: Lens.Lens' ModifyDBInstance Prelude.Text+modifyDBInstance_dbInstanceIdentifier = Lens.lens (\ModifyDBInstance' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@ModifyDBInstance' {} a -> s {dbInstanceIdentifier = a} :: ModifyDBInstance)++instance Core.AWSRequest ModifyDBInstance where+  type+    AWSResponse ModifyDBInstance =+      ModifyDBInstanceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBInstanceResult"+      ( \s h x ->+          ModifyDBInstanceResponse'+            Prelude.<$> (x Data..@? "DBInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyDBInstance where+  hashWithSalt _salt ModifyDBInstance' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` allowMajorVersionUpgrade+      `Prelude.hashWithSalt` applyImmediately+      `Prelude.hashWithSalt` autoMinorVersionUpgrade+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` cACertificateIdentifier+      `Prelude.hashWithSalt` cloudwatchLogsExportConfiguration+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbInstanceClass+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` dbPortNumber+      `Prelude.hashWithSalt` dbSecurityGroups+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` domainIAMRoleName+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` enablePerformanceInsights+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` iops+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` masterUserPassword+      `Prelude.hashWithSalt` monitoringInterval+      `Prelude.hashWithSalt` monitoringRoleArn+      `Prelude.hashWithSalt` multiAZ+      `Prelude.hashWithSalt` newDBInstanceIdentifier'+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` performanceInsightsKMSKeyId+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` promotionTier+      `Prelude.hashWithSalt` publiclyAccessible+      `Prelude.hashWithSalt` storageType+      `Prelude.hashWithSalt` tdeCredentialArn+      `Prelude.hashWithSalt` tdeCredentialPassword+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbInstanceIdentifier++instance Prelude.NFData ModifyDBInstance where+  rnf ModifyDBInstance' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf allowMajorVersionUpgrade+      `Prelude.seq` Prelude.rnf applyImmediately+      `Prelude.seq` Prelude.rnf autoMinorVersionUpgrade+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf cACertificateIdentifier+      `Prelude.seq` Prelude.rnf cloudwatchLogsExportConfiguration+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbInstanceClass+      `Prelude.seq` Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf dbPortNumber+      `Prelude.seq` Prelude.rnf dbSecurityGroups+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf domainIAMRoleName+      `Prelude.seq` Prelude.rnf+        enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf+        enablePerformanceInsights+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf iops+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf+        masterUserPassword+      `Prelude.seq` Prelude.rnf+        monitoringInterval+      `Prelude.seq` Prelude.rnf+        monitoringRoleArn+      `Prelude.seq` Prelude.rnf multiAZ+      `Prelude.seq` Prelude.rnf+        newDBInstanceIdentifier'+      `Prelude.seq` Prelude.rnf+        optionGroupName+      `Prelude.seq` Prelude.rnf+        performanceInsightsKMSKeyId+      `Prelude.seq` Prelude.rnf+        preferredBackupWindow+      `Prelude.seq` Prelude.rnf+        preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        promotionTier+      `Prelude.seq` Prelude.rnf+        publiclyAccessible+      `Prelude.seq` Prelude.rnf+        storageType+      `Prelude.seq` Prelude.rnf+        tdeCredentialArn+      `Prelude.seq` Prelude.rnf+        tdeCredentialPassword+      `Prelude.seq` Prelude.rnf+        vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf+        dbInstanceIdentifier++instance Data.ToHeaders ModifyDBInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBInstance where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBInstance where+  toQuery ModifyDBInstance' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyDBInstance" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AllocatedStorage" Data.=: allocatedStorage,+        "AllowMajorVersionUpgrade"+          Data.=: allowMajorVersionUpgrade,+        "ApplyImmediately" Data.=: applyImmediately,+        "AutoMinorVersionUpgrade"+          Data.=: autoMinorVersionUpgrade,+        "BackupRetentionPeriod"+          Data.=: backupRetentionPeriod,+        "CACertificateIdentifier"+          Data.=: cACertificateIdentifier,+        "CloudwatchLogsExportConfiguration"+          Data.=: cloudwatchLogsExportConfiguration,+        "CopyTagsToSnapshot" Data.=: copyTagsToSnapshot,+        "DBInstanceClass" Data.=: dbInstanceClass,+        "DBParameterGroupName" Data.=: dbParameterGroupName,+        "DBPortNumber" Data.=: dbPortNumber,+        "DBSecurityGroups"+          Data.=: Data.toQuery+            ( Data.toQueryList "DBSecurityGroupName"+                Prelude.<$> dbSecurityGroups+            ),+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DeletionProtection" Data.=: deletionProtection,+        "Domain" Data.=: domain,+        "DomainIAMRoleName" Data.=: domainIAMRoleName,+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "EnablePerformanceInsights"+          Data.=: enablePerformanceInsights,+        "EngineVersion" Data.=: engineVersion,+        "Iops" Data.=: iops,+        "LicenseModel" Data.=: licenseModel,+        "MasterUserPassword" Data.=: masterUserPassword,+        "MonitoringInterval" Data.=: monitoringInterval,+        "MonitoringRoleArn" Data.=: monitoringRoleArn,+        "MultiAZ" Data.=: multiAZ,+        "NewDBInstanceIdentifier"+          Data.=: newDBInstanceIdentifier',+        "OptionGroupName" Data.=: optionGroupName,+        "PerformanceInsightsKMSKeyId"+          Data.=: performanceInsightsKMSKeyId,+        "PreferredBackupWindow"+          Data.=: preferredBackupWindow,+        "PreferredMaintenanceWindow"+          Data.=: preferredMaintenanceWindow,+        "PromotionTier" Data.=: promotionTier,+        "PubliclyAccessible" Data.=: publiclyAccessible,+        "StorageType" Data.=: storageType,+        "TdeCredentialArn" Data.=: tdeCredentialArn,+        "TdeCredentialPassword"+          Data.=: tdeCredentialPassword,+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier+      ]++-- | /See:/ 'newModifyDBInstanceResponse' smart constructor.+data ModifyDBInstanceResponse = ModifyDBInstanceResponse'+  { dbInstance :: Prelude.Maybe DBInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstance', 'modifyDBInstanceResponse_dbInstance' - Undocumented member.+--+-- 'httpStatus', 'modifyDBInstanceResponse_httpStatus' - The response's http status code.+newModifyDBInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyDBInstanceResponse+newModifyDBInstanceResponse pHttpStatus_ =+  ModifyDBInstanceResponse'+    { dbInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+modifyDBInstanceResponse_dbInstance :: Lens.Lens' ModifyDBInstanceResponse (Prelude.Maybe DBInstance)+modifyDBInstanceResponse_dbInstance = Lens.lens (\ModifyDBInstanceResponse' {dbInstance} -> dbInstance) (\s@ModifyDBInstanceResponse' {} a -> s {dbInstance = a} :: ModifyDBInstanceResponse)++-- | The response's http status code.+modifyDBInstanceResponse_httpStatus :: Lens.Lens' ModifyDBInstanceResponse Prelude.Int+modifyDBInstanceResponse_httpStatus = Lens.lens (\ModifyDBInstanceResponse' {httpStatus} -> httpStatus) (\s@ModifyDBInstanceResponse' {} a -> s {httpStatus = a} :: ModifyDBInstanceResponse)++instance Prelude.NFData ModifyDBInstanceResponse where+  rnf ModifyDBInstanceResponse' {..} =+    Prelude.rnf dbInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyDBParameterGroup.hs view
@@ -0,0 +1,185 @@+{-# 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.Neptune.ModifyDBParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the parameters of a DB parameter group. To modify more than one+-- parameter, submit a list of the following: @ParameterName@,+-- @ParameterValue@, and @ApplyMethod@. A maximum of 20 parameters can be+-- modified in a single request.+--+-- Changes to dynamic parameters are applied immediately. Changes to static+-- parameters require a reboot without failover to the DB instance+-- associated with the parameter group before the change can take effect.+--+-- After you modify a DB parameter group, you should wait at least 5+-- minutes before creating your first DB instance that uses that DB+-- parameter group as the default parameter group. This allows Amazon+-- Neptune to fully complete the modify action before the parameter group+-- is used as the default for a new DB instance. This is especially+-- important for parameters that are critical when creating the default+-- database for a DB instance, such as the character set for the default+-- database defined by the @character_set_database@ parameter. You can use+-- the /Parameter Groups/ option of the Amazon Neptune console or the+-- /DescribeDBParameters/ command to verify that your DB parameter group+-- has been created or modified.+module Amazonka.Neptune.ModifyDBParameterGroup+  ( -- * Creating a Request+    ModifyDBParameterGroup (..),+    newModifyDBParameterGroup,++    -- * Request Lenses+    modifyDBParameterGroup_dbParameterGroupName,+    modifyDBParameterGroup_parameters,++    -- * Destructuring the Response+    DBParameterGroupNameMessage (..),+    newDBParameterGroupNameMessage,++    -- * Response Lenses+    dbParameterGroupNameMessage_dbParameterGroupName,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBParameterGroup' smart constructor.+data ModifyDBParameterGroup = ModifyDBParameterGroup'+  { -- | The name of the DB parameter group.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing DBParameterGroup.+    dbParameterGroupName :: Prelude.Text,+    -- | An array of parameter names, values, and the apply method for the+    -- parameter update. At least one parameter name, value, and apply method+    -- must be supplied; subsequent arguments are optional. A maximum of 20+    -- parameters can be modified in a single request.+    --+    -- Valid Values (for the application method): @immediate | pending-reboot@+    --+    -- You can use the immediate value with dynamic parameters only. You can+    -- use the pending-reboot value for both dynamic and static parameters, and+    -- changes are applied when you reboot the DB instance without failover.+    parameters :: [Parameter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupName', 'modifyDBParameterGroup_dbParameterGroupName' - The name of the DB parameter group.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing DBParameterGroup.+--+-- 'parameters', 'modifyDBParameterGroup_parameters' - An array of parameter names, values, and the apply method for the+-- parameter update. At least one parameter name, value, and apply method+-- must be supplied; subsequent arguments are optional. A maximum of 20+-- parameters can be modified in a single request.+--+-- Valid Values (for the application method): @immediate | pending-reboot@+--+-- You can use the immediate value with dynamic parameters only. You can+-- use the pending-reboot value for both dynamic and static parameters, and+-- changes are applied when you reboot the DB instance without failover.+newModifyDBParameterGroup ::+  -- | 'dbParameterGroupName'+  Prelude.Text ->+  ModifyDBParameterGroup+newModifyDBParameterGroup pDBParameterGroupName_ =+  ModifyDBParameterGroup'+    { dbParameterGroupName =+        pDBParameterGroupName_,+      parameters = Prelude.mempty+    }++-- | The name of the DB parameter group.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing DBParameterGroup.+modifyDBParameterGroup_dbParameterGroupName :: Lens.Lens' ModifyDBParameterGroup Prelude.Text+modifyDBParameterGroup_dbParameterGroupName = Lens.lens (\ModifyDBParameterGroup' {dbParameterGroupName} -> dbParameterGroupName) (\s@ModifyDBParameterGroup' {} a -> s {dbParameterGroupName = a} :: ModifyDBParameterGroup)++-- | An array of parameter names, values, and the apply method for the+-- parameter update. At least one parameter name, value, and apply method+-- must be supplied; subsequent arguments are optional. A maximum of 20+-- parameters can be modified in a single request.+--+-- Valid Values (for the application method): @immediate | pending-reboot@+--+-- You can use the immediate value with dynamic parameters only. You can+-- use the pending-reboot value for both dynamic and static parameters, and+-- changes are applied when you reboot the DB instance without failover.+modifyDBParameterGroup_parameters :: Lens.Lens' ModifyDBParameterGroup [Parameter]+modifyDBParameterGroup_parameters = Lens.lens (\ModifyDBParameterGroup' {parameters} -> parameters) (\s@ModifyDBParameterGroup' {} a -> s {parameters = a} :: ModifyDBParameterGroup) Prelude.. Lens.coerced++instance Core.AWSRequest ModifyDBParameterGroup where+  type+    AWSResponse ModifyDBParameterGroup =+      DBParameterGroupNameMessage+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBParameterGroupResult"+      (\s h x -> Data.parseXML x)++instance Prelude.Hashable ModifyDBParameterGroup where+  hashWithSalt _salt ModifyDBParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` parameters++instance Prelude.NFData ModifyDBParameterGroup where+  rnf ModifyDBParameterGroup' {..} =+    Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf parameters++instance Data.ToHeaders ModifyDBParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBParameterGroup where+  toQuery ModifyDBParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyDBParameterGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBParameterGroupName" Data.=: dbParameterGroupName,+        "Parameters"+          Data.=: Data.toQueryList "Parameter" parameters+      ]
+ gen/Amazonka/Neptune/ModifyDBSubnetGroup.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.ModifyDBSubnetGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies an existing DB subnet group. DB subnet groups must contain at+-- least one subnet in at least two AZs in the Amazon Region.+module Amazonka.Neptune.ModifyDBSubnetGroup+  ( -- * Creating a Request+    ModifyDBSubnetGroup (..),+    newModifyDBSubnetGroup,++    -- * Request Lenses+    modifyDBSubnetGroup_dbSubnetGroupDescription,+    modifyDBSubnetGroup_dbSubnetGroupName,+    modifyDBSubnetGroup_subnetIds,++    -- * Destructuring the Response+    ModifyDBSubnetGroupResponse (..),+    newModifyDBSubnetGroupResponse,++    -- * Response Lenses+    modifyDBSubnetGroupResponse_dbSubnetGroup,+    modifyDBSubnetGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyDBSubnetGroup' smart constructor.+data ModifyDBSubnetGroup = ModifyDBSubnetGroup'+  { -- | The description for the DB subnet group.+    dbSubnetGroupDescription :: Prelude.Maybe Prelude.Text,+    -- | The name for the DB subnet group. This value is stored as a lowercase+    -- string. You can\'t modify the default subnet group.+    --+    -- Constraints: Must match the name of an existing DBSubnetGroup. Must not+    -- be default.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Text,+    -- | The EC2 subnet IDs for the DB subnet group.+    subnetIds :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBSubnetGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroupDescription', 'modifyDBSubnetGroup_dbSubnetGroupDescription' - The description for the DB subnet group.+--+-- 'dbSubnetGroupName', 'modifyDBSubnetGroup_dbSubnetGroupName' - The name for the DB subnet group. This value is stored as a lowercase+-- string. You can\'t modify the default subnet group.+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+--+-- 'subnetIds', 'modifyDBSubnetGroup_subnetIds' - The EC2 subnet IDs for the DB subnet group.+newModifyDBSubnetGroup ::+  -- | 'dbSubnetGroupName'+  Prelude.Text ->+  ModifyDBSubnetGroup+newModifyDBSubnetGroup pDBSubnetGroupName_ =+  ModifyDBSubnetGroup'+    { dbSubnetGroupDescription =+        Prelude.Nothing,+      dbSubnetGroupName = pDBSubnetGroupName_,+      subnetIds = Prelude.mempty+    }++-- | The description for the DB subnet group.+modifyDBSubnetGroup_dbSubnetGroupDescription :: Lens.Lens' ModifyDBSubnetGroup (Prelude.Maybe Prelude.Text)+modifyDBSubnetGroup_dbSubnetGroupDescription = Lens.lens (\ModifyDBSubnetGroup' {dbSubnetGroupDescription} -> dbSubnetGroupDescription) (\s@ModifyDBSubnetGroup' {} a -> s {dbSubnetGroupDescription = a} :: ModifyDBSubnetGroup)++-- | The name for the DB subnet group. This value is stored as a lowercase+-- string. You can\'t modify the default subnet group.+--+-- Constraints: Must match the name of an existing DBSubnetGroup. Must not+-- be default.+--+-- Example: @mySubnetgroup@+modifyDBSubnetGroup_dbSubnetGroupName :: Lens.Lens' ModifyDBSubnetGroup Prelude.Text+modifyDBSubnetGroup_dbSubnetGroupName = Lens.lens (\ModifyDBSubnetGroup' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@ModifyDBSubnetGroup' {} a -> s {dbSubnetGroupName = a} :: ModifyDBSubnetGroup)++-- | The EC2 subnet IDs for the DB subnet group.+modifyDBSubnetGroup_subnetIds :: Lens.Lens' ModifyDBSubnetGroup [Prelude.Text]+modifyDBSubnetGroup_subnetIds = Lens.lens (\ModifyDBSubnetGroup' {subnetIds} -> subnetIds) (\s@ModifyDBSubnetGroup' {} a -> s {subnetIds = a} :: ModifyDBSubnetGroup) Prelude.. Lens.coerced++instance Core.AWSRequest ModifyDBSubnetGroup where+  type+    AWSResponse ModifyDBSubnetGroup =+      ModifyDBSubnetGroupResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyDBSubnetGroupResult"+      ( \s h x ->+          ModifyDBSubnetGroupResponse'+            Prelude.<$> (x Data..@? "DBSubnetGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyDBSubnetGroup where+  hashWithSalt _salt ModifyDBSubnetGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbSubnetGroupDescription+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData ModifyDBSubnetGroup where+  rnf ModifyDBSubnetGroup' {..} =+    Prelude.rnf dbSubnetGroupDescription+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToHeaders ModifyDBSubnetGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyDBSubnetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyDBSubnetGroup where+  toQuery ModifyDBSubnetGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyDBSubnetGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBSubnetGroupDescription"+          Data.=: dbSubnetGroupDescription,+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "SubnetIds"+          Data.=: Data.toQueryList "SubnetIdentifier" subnetIds+      ]++-- | /See:/ 'newModifyDBSubnetGroupResponse' smart constructor.+data ModifyDBSubnetGroupResponse = ModifyDBSubnetGroupResponse'+  { dbSubnetGroup :: Prelude.Maybe DBSubnetGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyDBSubnetGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroup', 'modifyDBSubnetGroupResponse_dbSubnetGroup' - Undocumented member.+--+-- 'httpStatus', 'modifyDBSubnetGroupResponse_httpStatus' - The response's http status code.+newModifyDBSubnetGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyDBSubnetGroupResponse+newModifyDBSubnetGroupResponse pHttpStatus_ =+  ModifyDBSubnetGroupResponse'+    { dbSubnetGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+modifyDBSubnetGroupResponse_dbSubnetGroup :: Lens.Lens' ModifyDBSubnetGroupResponse (Prelude.Maybe DBSubnetGroup)+modifyDBSubnetGroupResponse_dbSubnetGroup = Lens.lens (\ModifyDBSubnetGroupResponse' {dbSubnetGroup} -> dbSubnetGroup) (\s@ModifyDBSubnetGroupResponse' {} a -> s {dbSubnetGroup = a} :: ModifyDBSubnetGroupResponse)++-- | The response's http status code.+modifyDBSubnetGroupResponse_httpStatus :: Lens.Lens' ModifyDBSubnetGroupResponse Prelude.Int+modifyDBSubnetGroupResponse_httpStatus = Lens.lens (\ModifyDBSubnetGroupResponse' {httpStatus} -> httpStatus) (\s@ModifyDBSubnetGroupResponse' {} a -> s {httpStatus = a} :: ModifyDBSubnetGroupResponse)++instance Prelude.NFData ModifyDBSubnetGroupResponse where+  rnf ModifyDBSubnetGroupResponse' {..} =+    Prelude.rnf dbSubnetGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyEventSubscription.hs view
@@ -0,0 +1,256 @@+{-# 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.Neptune.ModifyEventSubscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies an existing event notification subscription. Note that you+-- can\'t modify the source identifiers using this call; to change source+-- identifiers for a subscription, use the+-- AddSourceIdentifierToSubscription and+-- RemoveSourceIdentifierFromSubscription calls.+--+-- You can see a list of the event categories for a given SourceType by+-- using the __DescribeEventCategories__ action.+module Amazonka.Neptune.ModifyEventSubscription+  ( -- * Creating a Request+    ModifyEventSubscription (..),+    newModifyEventSubscription,++    -- * Request Lenses+    modifyEventSubscription_enabled,+    modifyEventSubscription_eventCategories,+    modifyEventSubscription_snsTopicArn,+    modifyEventSubscription_sourceType,+    modifyEventSubscription_subscriptionName,++    -- * Destructuring the Response+    ModifyEventSubscriptionResponse (..),+    newModifyEventSubscriptionResponse,++    -- * Response Lenses+    modifyEventSubscriptionResponse_eventSubscription,+    modifyEventSubscriptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyEventSubscription' smart constructor.+data ModifyEventSubscription = ModifyEventSubscription'+  { -- | A Boolean value; set to __true__ to activate the subscription.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | A list of event categories for a SourceType that you want to subscribe+    -- to. You can see a list of the categories for a given SourceType by using+    -- the __DescribeEventCategories__ action.+    eventCategories :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) of the SNS topic created for event+    -- notification. The ARN is created by Amazon SNS when you create a topic+    -- and subscribe to it.+    snsTopicArn :: Prelude.Maybe Prelude.Text,+    -- | The type of source that is generating the events. For example, if you+    -- want to be notified of events generated by a DB instance, you would set+    -- this parameter to db-instance. if this value is not specified, all+    -- events are returned.+    --+    -- Valid values: db-instance | db-parameter-group | db-security-group |+    -- db-snapshot+    sourceType :: Prelude.Maybe Prelude.Text,+    -- | The name of the event notification subscription.+    subscriptionName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyEventSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'modifyEventSubscription_enabled' - A Boolean value; set to __true__ to activate the subscription.+--+-- 'eventCategories', 'modifyEventSubscription_eventCategories' - A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType by using+-- the __DescribeEventCategories__ action.+--+-- 'snsTopicArn', 'modifyEventSubscription_snsTopicArn' - The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+--+-- 'sourceType', 'modifyEventSubscription_sourceType' - The type of source that is generating the events. For example, if you+-- want to be notified of events generated by a DB instance, you would set+-- this parameter to db-instance. if this value is not specified, all+-- events are returned.+--+-- Valid values: db-instance | db-parameter-group | db-security-group |+-- db-snapshot+--+-- 'subscriptionName', 'modifyEventSubscription_subscriptionName' - The name of the event notification subscription.+newModifyEventSubscription ::+  -- | 'subscriptionName'+  Prelude.Text ->+  ModifyEventSubscription+newModifyEventSubscription pSubscriptionName_ =+  ModifyEventSubscription'+    { enabled = Prelude.Nothing,+      eventCategories = Prelude.Nothing,+      snsTopicArn = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      subscriptionName = pSubscriptionName_+    }++-- | A Boolean value; set to __true__ to activate the subscription.+modifyEventSubscription_enabled :: Lens.Lens' ModifyEventSubscription (Prelude.Maybe Prelude.Bool)+modifyEventSubscription_enabled = Lens.lens (\ModifyEventSubscription' {enabled} -> enabled) (\s@ModifyEventSubscription' {} a -> s {enabled = a} :: ModifyEventSubscription)++-- | A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType by using+-- the __DescribeEventCategories__ action.+modifyEventSubscription_eventCategories :: Lens.Lens' ModifyEventSubscription (Prelude.Maybe [Prelude.Text])+modifyEventSubscription_eventCategories = Lens.lens (\ModifyEventSubscription' {eventCategories} -> eventCategories) (\s@ModifyEventSubscription' {} a -> s {eventCategories = a} :: ModifyEventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+modifyEventSubscription_snsTopicArn :: Lens.Lens' ModifyEventSubscription (Prelude.Maybe Prelude.Text)+modifyEventSubscription_snsTopicArn = Lens.lens (\ModifyEventSubscription' {snsTopicArn} -> snsTopicArn) (\s@ModifyEventSubscription' {} a -> s {snsTopicArn = a} :: ModifyEventSubscription)++-- | The type of source that is generating the events. For example, if you+-- want to be notified of events generated by a DB instance, you would set+-- this parameter to db-instance. if this value is not specified, all+-- events are returned.+--+-- Valid values: db-instance | db-parameter-group | db-security-group |+-- db-snapshot+modifyEventSubscription_sourceType :: Lens.Lens' ModifyEventSubscription (Prelude.Maybe Prelude.Text)+modifyEventSubscription_sourceType = Lens.lens (\ModifyEventSubscription' {sourceType} -> sourceType) (\s@ModifyEventSubscription' {} a -> s {sourceType = a} :: ModifyEventSubscription)++-- | The name of the event notification subscription.+modifyEventSubscription_subscriptionName :: Lens.Lens' ModifyEventSubscription Prelude.Text+modifyEventSubscription_subscriptionName = Lens.lens (\ModifyEventSubscription' {subscriptionName} -> subscriptionName) (\s@ModifyEventSubscription' {} a -> s {subscriptionName = a} :: ModifyEventSubscription)++instance Core.AWSRequest ModifyEventSubscription where+  type+    AWSResponse ModifyEventSubscription =+      ModifyEventSubscriptionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyEventSubscriptionResult"+      ( \s h x ->+          ModifyEventSubscriptionResponse'+            Prelude.<$> (x Data..@? "EventSubscription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyEventSubscription where+  hashWithSalt _salt ModifyEventSubscription' {..} =+    _salt+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` eventCategories+      `Prelude.hashWithSalt` snsTopicArn+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` subscriptionName++instance Prelude.NFData ModifyEventSubscription where+  rnf ModifyEventSubscription' {..} =+    Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf eventCategories+      `Prelude.seq` Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf subscriptionName++instance Data.ToHeaders ModifyEventSubscription where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyEventSubscription where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyEventSubscription where+  toQuery ModifyEventSubscription' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyEventSubscription" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Enabled" Data.=: enabled,+        "EventCategories"+          Data.=: Data.toQuery+            ( Data.toQueryList "EventCategory"+                Prelude.<$> eventCategories+            ),+        "SnsTopicArn" Data.=: snsTopicArn,+        "SourceType" Data.=: sourceType,+        "SubscriptionName" Data.=: subscriptionName+      ]++-- | /See:/ 'newModifyEventSubscriptionResponse' smart constructor.+data ModifyEventSubscriptionResponse = ModifyEventSubscriptionResponse'+  { eventSubscription :: Prelude.Maybe EventSubscription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyEventSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscription', 'modifyEventSubscriptionResponse_eventSubscription' - Undocumented member.+--+-- 'httpStatus', 'modifyEventSubscriptionResponse_httpStatus' - The response's http status code.+newModifyEventSubscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyEventSubscriptionResponse+newModifyEventSubscriptionResponse pHttpStatus_ =+  ModifyEventSubscriptionResponse'+    { eventSubscription =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+modifyEventSubscriptionResponse_eventSubscription :: Lens.Lens' ModifyEventSubscriptionResponse (Prelude.Maybe EventSubscription)+modifyEventSubscriptionResponse_eventSubscription = Lens.lens (\ModifyEventSubscriptionResponse' {eventSubscription} -> eventSubscription) (\s@ModifyEventSubscriptionResponse' {} a -> s {eventSubscription = a} :: ModifyEventSubscriptionResponse)++-- | The response's http status code.+modifyEventSubscriptionResponse_httpStatus :: Lens.Lens' ModifyEventSubscriptionResponse Prelude.Int+modifyEventSubscriptionResponse_httpStatus = Lens.lens (\ModifyEventSubscriptionResponse' {httpStatus} -> httpStatus) (\s@ModifyEventSubscriptionResponse' {} a -> s {httpStatus = a} :: ModifyEventSubscriptionResponse)++instance+  Prelude.NFData+    ModifyEventSubscriptionResponse+  where+  rnf ModifyEventSubscriptionResponse' {..} =+    Prelude.rnf eventSubscription+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/ModifyGlobalCluster.hs view
@@ -0,0 +1,311 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.ModifyGlobalCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modify a setting for an Amazon Neptune global cluster. You can change+-- one or more database configuration parameters by specifying these+-- parameters and their new values in the request.+module Amazonka.Neptune.ModifyGlobalCluster+  ( -- * Creating a Request+    ModifyGlobalCluster (..),+    newModifyGlobalCluster,++    -- * Request Lenses+    modifyGlobalCluster_allowMajorVersionUpgrade,+    modifyGlobalCluster_deletionProtection,+    modifyGlobalCluster_engineVersion,+    modifyGlobalCluster_newGlobalClusterIdentifier,+    modifyGlobalCluster_globalClusterIdentifier,++    -- * Destructuring the Response+    ModifyGlobalClusterResponse (..),+    newModifyGlobalClusterResponse,++    -- * Response Lenses+    modifyGlobalClusterResponse_globalCluster,+    modifyGlobalClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newModifyGlobalCluster' smart constructor.+data ModifyGlobalCluster = ModifyGlobalCluster'+  { -- | A value that indicates whether major version upgrades are allowed.+    --+    -- Constraints: You must allow major version upgrades if you specify a+    -- value for the @EngineVersion@ parameter that is a different major+    -- version than the DB cluster\'s current version.+    --+    -- If you upgrade the major version of a global database, the cluster and+    -- DB instance parameter groups are set to the default parameter groups for+    -- the new version, so you will need to apply any custom parameter groups+    -- after completing the upgrade.+    allowMajorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether the global database has deletion protection enabled.+    -- The global database cannot be deleted when deletion protection is+    -- enabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The version number of the database engine to which you want to upgrade.+    -- Changing this parameter will result in an outage. The change is applied+    -- during the next maintenance window unless @ApplyImmediately@ is enabled.+    --+    -- To list all of the available Neptune engine versions, use the following+    -- command:+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | A new cluster identifier to assign to the global database. This value is+    -- stored as a lowercase string.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens.+    --+    -- -   The first character must be a letter.+    --+    -- -   Can\'t end with a hyphen or contain two consecutive hyphens+    --+    -- Example: @my-cluster2@+    newGlobalClusterIdentifier' :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier for the global cluster being modified. This+    -- parameter is not case-sensitive.+    --+    -- Constraints: Must match the identifier of an existing global database+    -- cluster.+    globalClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyGlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMajorVersionUpgrade', 'modifyGlobalCluster_allowMajorVersionUpgrade' - A value that indicates whether major version upgrades are allowed.+--+-- Constraints: You must allow major version upgrades if you specify a+-- value for the @EngineVersion@ parameter that is a different major+-- version than the DB cluster\'s current version.+--+-- If you upgrade the major version of a global database, the cluster and+-- DB instance parameter groups are set to the default parameter groups for+-- the new version, so you will need to apply any custom parameter groups+-- after completing the upgrade.+--+-- 'deletionProtection', 'modifyGlobalCluster_deletionProtection' - Indicates whether the global database has deletion protection enabled.+-- The global database cannot be deleted when deletion protection is+-- enabled.+--+-- 'engineVersion', 'modifyGlobalCluster_engineVersion' - The version number of the database engine to which you want to upgrade.+-- Changing this parameter will result in an outage. The change is applied+-- during the next maintenance window unless @ApplyImmediately@ is enabled.+--+-- To list all of the available Neptune engine versions, use the following+-- command:+--+-- 'newGlobalClusterIdentifier'', 'modifyGlobalCluster_newGlobalClusterIdentifier' - A new cluster identifier to assign to the global database. This value is+-- stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   The first character must be a letter.+--+-- -   Can\'t end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster2@+--+-- 'globalClusterIdentifier', 'modifyGlobalCluster_globalClusterIdentifier' - The DB cluster identifier for the global cluster being modified. This+-- parameter is not case-sensitive.+--+-- Constraints: Must match the identifier of an existing global database+-- cluster.+newModifyGlobalCluster ::+  -- | 'globalClusterIdentifier'+  Prelude.Text ->+  ModifyGlobalCluster+newModifyGlobalCluster pGlobalClusterIdentifier_ =+  ModifyGlobalCluster'+    { allowMajorVersionUpgrade =+        Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      newGlobalClusterIdentifier' = Prelude.Nothing,+      globalClusterIdentifier = pGlobalClusterIdentifier_+    }++-- | A value that indicates whether major version upgrades are allowed.+--+-- Constraints: You must allow major version upgrades if you specify a+-- value for the @EngineVersion@ parameter that is a different major+-- version than the DB cluster\'s current version.+--+-- If you upgrade the major version of a global database, the cluster and+-- DB instance parameter groups are set to the default parameter groups for+-- the new version, so you will need to apply any custom parameter groups+-- after completing the upgrade.+modifyGlobalCluster_allowMajorVersionUpgrade :: Lens.Lens' ModifyGlobalCluster (Prelude.Maybe Prelude.Bool)+modifyGlobalCluster_allowMajorVersionUpgrade = Lens.lens (\ModifyGlobalCluster' {allowMajorVersionUpgrade} -> allowMajorVersionUpgrade) (\s@ModifyGlobalCluster' {} a -> s {allowMajorVersionUpgrade = a} :: ModifyGlobalCluster)++-- | Indicates whether the global database has deletion protection enabled.+-- The global database cannot be deleted when deletion protection is+-- enabled.+modifyGlobalCluster_deletionProtection :: Lens.Lens' ModifyGlobalCluster (Prelude.Maybe Prelude.Bool)+modifyGlobalCluster_deletionProtection = Lens.lens (\ModifyGlobalCluster' {deletionProtection} -> deletionProtection) (\s@ModifyGlobalCluster' {} a -> s {deletionProtection = a} :: ModifyGlobalCluster)++-- | The version number of the database engine to which you want to upgrade.+-- Changing this parameter will result in an outage. The change is applied+-- during the next maintenance window unless @ApplyImmediately@ is enabled.+--+-- To list all of the available Neptune engine versions, use the following+-- command:+modifyGlobalCluster_engineVersion :: Lens.Lens' ModifyGlobalCluster (Prelude.Maybe Prelude.Text)+modifyGlobalCluster_engineVersion = Lens.lens (\ModifyGlobalCluster' {engineVersion} -> engineVersion) (\s@ModifyGlobalCluster' {} a -> s {engineVersion = a} :: ModifyGlobalCluster)++-- | A new cluster identifier to assign to the global database. This value is+-- stored as a lowercase string.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens.+--+-- -   The first character must be a letter.+--+-- -   Can\'t end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-cluster2@+modifyGlobalCluster_newGlobalClusterIdentifier :: Lens.Lens' ModifyGlobalCluster (Prelude.Maybe Prelude.Text)+modifyGlobalCluster_newGlobalClusterIdentifier = Lens.lens (\ModifyGlobalCluster' {newGlobalClusterIdentifier'} -> newGlobalClusterIdentifier') (\s@ModifyGlobalCluster' {} a -> s {newGlobalClusterIdentifier' = a} :: ModifyGlobalCluster)++-- | The DB cluster identifier for the global cluster being modified. This+-- parameter is not case-sensitive.+--+-- Constraints: Must match the identifier of an existing global database+-- cluster.+modifyGlobalCluster_globalClusterIdentifier :: Lens.Lens' ModifyGlobalCluster Prelude.Text+modifyGlobalCluster_globalClusterIdentifier = Lens.lens (\ModifyGlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@ModifyGlobalCluster' {} a -> s {globalClusterIdentifier = a} :: ModifyGlobalCluster)++instance Core.AWSRequest ModifyGlobalCluster where+  type+    AWSResponse ModifyGlobalCluster =+      ModifyGlobalClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ModifyGlobalClusterResult"+      ( \s h x ->+          ModifyGlobalClusterResponse'+            Prelude.<$> (x Data..@? "GlobalCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ModifyGlobalCluster where+  hashWithSalt _salt ModifyGlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` allowMajorVersionUpgrade+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` newGlobalClusterIdentifier'+      `Prelude.hashWithSalt` globalClusterIdentifier++instance Prelude.NFData ModifyGlobalCluster where+  rnf ModifyGlobalCluster' {..} =+    Prelude.rnf allowMajorVersionUpgrade+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf newGlobalClusterIdentifier'+      `Prelude.seq` Prelude.rnf globalClusterIdentifier++instance Data.ToHeaders ModifyGlobalCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ModifyGlobalCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery ModifyGlobalCluster where+  toQuery ModifyGlobalCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ModifyGlobalCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AllowMajorVersionUpgrade"+          Data.=: allowMajorVersionUpgrade,+        "DeletionProtection" Data.=: deletionProtection,+        "EngineVersion" Data.=: engineVersion,+        "NewGlobalClusterIdentifier"+          Data.=: newGlobalClusterIdentifier',+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier+      ]++-- | /See:/ 'newModifyGlobalClusterResponse' smart constructor.+data ModifyGlobalClusterResponse = ModifyGlobalClusterResponse'+  { globalCluster :: Prelude.Maybe GlobalCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModifyGlobalClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalCluster', 'modifyGlobalClusterResponse_globalCluster' - Undocumented member.+--+-- 'httpStatus', 'modifyGlobalClusterResponse_httpStatus' - The response's http status code.+newModifyGlobalClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ModifyGlobalClusterResponse+newModifyGlobalClusterResponse pHttpStatus_ =+  ModifyGlobalClusterResponse'+    { globalCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+modifyGlobalClusterResponse_globalCluster :: Lens.Lens' ModifyGlobalClusterResponse (Prelude.Maybe GlobalCluster)+modifyGlobalClusterResponse_globalCluster = Lens.lens (\ModifyGlobalClusterResponse' {globalCluster} -> globalCluster) (\s@ModifyGlobalClusterResponse' {} a -> s {globalCluster = a} :: ModifyGlobalClusterResponse)++-- | The response's http status code.+modifyGlobalClusterResponse_httpStatus :: Lens.Lens' ModifyGlobalClusterResponse Prelude.Int+modifyGlobalClusterResponse_httpStatus = Lens.lens (\ModifyGlobalClusterResponse' {httpStatus} -> httpStatus) (\s@ModifyGlobalClusterResponse' {} a -> s {httpStatus = a} :: ModifyGlobalClusterResponse)++instance Prelude.NFData ModifyGlobalClusterResponse where+  rnf ModifyGlobalClusterResponse' {..} =+    Prelude.rnf globalCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/PromoteReadReplicaDBCluster.hs view
@@ -0,0 +1,165 @@+{-# 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.Neptune.PromoteReadReplicaDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Not supported.+module Amazonka.Neptune.PromoteReadReplicaDBCluster+  ( -- * Creating a Request+    PromoteReadReplicaDBCluster (..),+    newPromoteReadReplicaDBCluster,++    -- * Request Lenses+    promoteReadReplicaDBCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    PromoteReadReplicaDBClusterResponse (..),+    newPromoteReadReplicaDBClusterResponse,++    -- * Response Lenses+    promoteReadReplicaDBClusterResponse_dbCluster,+    promoteReadReplicaDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPromoteReadReplicaDBCluster' smart constructor.+data PromoteReadReplicaDBCluster = PromoteReadReplicaDBCluster'+  { -- | Not supported.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PromoteReadReplicaDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'promoteReadReplicaDBCluster_dbClusterIdentifier' - Not supported.+newPromoteReadReplicaDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  PromoteReadReplicaDBCluster+newPromoteReadReplicaDBCluster pDBClusterIdentifier_ =+  PromoteReadReplicaDBCluster'+    { dbClusterIdentifier =+        pDBClusterIdentifier_+    }++-- | Not supported.+promoteReadReplicaDBCluster_dbClusterIdentifier :: Lens.Lens' PromoteReadReplicaDBCluster Prelude.Text+promoteReadReplicaDBCluster_dbClusterIdentifier = Lens.lens (\PromoteReadReplicaDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@PromoteReadReplicaDBCluster' {} a -> s {dbClusterIdentifier = a} :: PromoteReadReplicaDBCluster)++instance Core.AWSRequest PromoteReadReplicaDBCluster where+  type+    AWSResponse PromoteReadReplicaDBCluster =+      PromoteReadReplicaDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "PromoteReadReplicaDBClusterResult"+      ( \s h x ->+          PromoteReadReplicaDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PromoteReadReplicaDBCluster where+  hashWithSalt _salt PromoteReadReplicaDBCluster' {..} =+    _salt `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData PromoteReadReplicaDBCluster where+  rnf PromoteReadReplicaDBCluster' {..} =+    Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders PromoteReadReplicaDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath PromoteReadReplicaDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery PromoteReadReplicaDBCluster where+  toQuery PromoteReadReplicaDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "PromoteReadReplicaDBCluster" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newPromoteReadReplicaDBClusterResponse' smart constructor.+data PromoteReadReplicaDBClusterResponse = PromoteReadReplicaDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PromoteReadReplicaDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'promoteReadReplicaDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'promoteReadReplicaDBClusterResponse_httpStatus' - The response's http status code.+newPromoteReadReplicaDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PromoteReadReplicaDBClusterResponse+newPromoteReadReplicaDBClusterResponse pHttpStatus_ =+  PromoteReadReplicaDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+promoteReadReplicaDBClusterResponse_dbCluster :: Lens.Lens' PromoteReadReplicaDBClusterResponse (Prelude.Maybe DBCluster)+promoteReadReplicaDBClusterResponse_dbCluster = Lens.lens (\PromoteReadReplicaDBClusterResponse' {dbCluster} -> dbCluster) (\s@PromoteReadReplicaDBClusterResponse' {} a -> s {dbCluster = a} :: PromoteReadReplicaDBClusterResponse)++-- | The response's http status code.+promoteReadReplicaDBClusterResponse_httpStatus :: Lens.Lens' PromoteReadReplicaDBClusterResponse Prelude.Int+promoteReadReplicaDBClusterResponse_httpStatus = Lens.lens (\PromoteReadReplicaDBClusterResponse' {httpStatus} -> httpStatus) (\s@PromoteReadReplicaDBClusterResponse' {} a -> s {httpStatus = a} :: PromoteReadReplicaDBClusterResponse)++instance+  Prelude.NFData+    PromoteReadReplicaDBClusterResponse+  where+  rnf PromoteReadReplicaDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/RebootDBInstance.hs view
@@ -0,0 +1,204 @@+{-# 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.Neptune.RebootDBInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- You might need to reboot your DB instance, usually for maintenance+-- reasons. For example, if you make certain modifications, or if you+-- change the DB parameter group associated with the DB instance, you must+-- reboot the instance for the changes to take effect.+--+-- Rebooting a DB instance restarts the database engine service. Rebooting+-- a DB instance results in a momentary outage, during which the DB+-- instance status is set to rebooting.+module Amazonka.Neptune.RebootDBInstance+  ( -- * Creating a Request+    RebootDBInstance (..),+    newRebootDBInstance,++    -- * Request Lenses+    rebootDBInstance_forceFailover,+    rebootDBInstance_dbInstanceIdentifier,++    -- * Destructuring the Response+    RebootDBInstanceResponse (..),+    newRebootDBInstanceResponse,++    -- * Response Lenses+    rebootDBInstanceResponse_dbInstance,+    rebootDBInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRebootDBInstance' smart constructor.+data RebootDBInstance = RebootDBInstance'+  { -- | When @true@, the reboot is conducted through a MultiAZ failover.+    --+    -- Constraint: You can\'t specify @true@ if the instance is not configured+    -- for MultiAZ.+    forceFailover :: Prelude.Maybe Prelude.Bool,+    -- | The DB instance identifier. This parameter is stored as a lowercase+    -- string.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBInstance.+    dbInstanceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RebootDBInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceFailover', 'rebootDBInstance_forceFailover' - When @true@, the reboot is conducted through a MultiAZ failover.+--+-- Constraint: You can\'t specify @true@ if the instance is not configured+-- for MultiAZ.+--+-- 'dbInstanceIdentifier', 'rebootDBInstance_dbInstanceIdentifier' - The DB instance identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBInstance.+newRebootDBInstance ::+  -- | 'dbInstanceIdentifier'+  Prelude.Text ->+  RebootDBInstance+newRebootDBInstance pDBInstanceIdentifier_ =+  RebootDBInstance'+    { forceFailover = Prelude.Nothing,+      dbInstanceIdentifier = pDBInstanceIdentifier_+    }++-- | When @true@, the reboot is conducted through a MultiAZ failover.+--+-- Constraint: You can\'t specify @true@ if the instance is not configured+-- for MultiAZ.+rebootDBInstance_forceFailover :: Lens.Lens' RebootDBInstance (Prelude.Maybe Prelude.Bool)+rebootDBInstance_forceFailover = Lens.lens (\RebootDBInstance' {forceFailover} -> forceFailover) (\s@RebootDBInstance' {} a -> s {forceFailover = a} :: RebootDBInstance)++-- | The DB instance identifier. This parameter is stored as a lowercase+-- string.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBInstance.+rebootDBInstance_dbInstanceIdentifier :: Lens.Lens' RebootDBInstance Prelude.Text+rebootDBInstance_dbInstanceIdentifier = Lens.lens (\RebootDBInstance' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@RebootDBInstance' {} a -> s {dbInstanceIdentifier = a} :: RebootDBInstance)++instance Core.AWSRequest RebootDBInstance where+  type+    AWSResponse RebootDBInstance =+      RebootDBInstanceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "RebootDBInstanceResult"+      ( \s h x ->+          RebootDBInstanceResponse'+            Prelude.<$> (x Data..@? "DBInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RebootDBInstance where+  hashWithSalt _salt RebootDBInstance' {..} =+    _salt+      `Prelude.hashWithSalt` forceFailover+      `Prelude.hashWithSalt` dbInstanceIdentifier++instance Prelude.NFData RebootDBInstance where+  rnf RebootDBInstance' {..} =+    Prelude.rnf forceFailover+      `Prelude.seq` Prelude.rnf dbInstanceIdentifier++instance Data.ToHeaders RebootDBInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RebootDBInstance where+  toPath = Prelude.const "/"++instance Data.ToQuery RebootDBInstance where+  toQuery RebootDBInstance' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("RebootDBInstance" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ForceFailover" Data.=: forceFailover,+        "DBInstanceIdentifier" Data.=: dbInstanceIdentifier+      ]++-- | /See:/ 'newRebootDBInstanceResponse' smart constructor.+data RebootDBInstanceResponse = RebootDBInstanceResponse'+  { dbInstance :: Prelude.Maybe DBInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RebootDBInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbInstance', 'rebootDBInstanceResponse_dbInstance' - Undocumented member.+--+-- 'httpStatus', 'rebootDBInstanceResponse_httpStatus' - The response's http status code.+newRebootDBInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RebootDBInstanceResponse+newRebootDBInstanceResponse pHttpStatus_ =+  RebootDBInstanceResponse'+    { dbInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+rebootDBInstanceResponse_dbInstance :: Lens.Lens' RebootDBInstanceResponse (Prelude.Maybe DBInstance)+rebootDBInstanceResponse_dbInstance = Lens.lens (\RebootDBInstanceResponse' {dbInstance} -> dbInstance) (\s@RebootDBInstanceResponse' {} a -> s {dbInstance = a} :: RebootDBInstanceResponse)++-- | The response's http status code.+rebootDBInstanceResponse_httpStatus :: Lens.Lens' RebootDBInstanceResponse Prelude.Int+rebootDBInstanceResponse_httpStatus = Lens.lens (\RebootDBInstanceResponse' {httpStatus} -> httpStatus) (\s@RebootDBInstanceResponse' {} a -> s {httpStatus = a} :: RebootDBInstanceResponse)++instance Prelude.NFData RebootDBInstanceResponse where+  rnf RebootDBInstanceResponse' {..} =+    Prelude.rnf dbInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/RemoveFromGlobalCluster.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.RemoveFromGlobalCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Detaches a Neptune DB cluster from a Neptune global database. A+-- secondary cluster becomes a normal standalone cluster with read-write+-- capability instead of being read-only, and no longer receives data from+-- a the primary cluster.+module Amazonka.Neptune.RemoveFromGlobalCluster+  ( -- * Creating a Request+    RemoveFromGlobalCluster (..),+    newRemoveFromGlobalCluster,++    -- * Request Lenses+    removeFromGlobalCluster_globalClusterIdentifier,+    removeFromGlobalCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    RemoveFromGlobalClusterResponse (..),+    newRemoveFromGlobalClusterResponse,++    -- * Response Lenses+    removeFromGlobalClusterResponse_globalCluster,+    removeFromGlobalClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveFromGlobalCluster' smart constructor.+data RemoveFromGlobalCluster = RemoveFromGlobalCluster'+  { -- | The identifier of the Neptune global database from which to detach the+    -- specified Neptune DB cluster.+    globalClusterIdentifier :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) identifying the cluster to be detached+    -- from the Neptune global database cluster.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFromGlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalClusterIdentifier', 'removeFromGlobalCluster_globalClusterIdentifier' - The identifier of the Neptune global database from which to detach the+-- specified Neptune DB cluster.+--+-- 'dbClusterIdentifier', 'removeFromGlobalCluster_dbClusterIdentifier' - The Amazon Resource Name (ARN) identifying the cluster to be detached+-- from the Neptune global database cluster.+newRemoveFromGlobalCluster ::+  -- | 'globalClusterIdentifier'+  Prelude.Text ->+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  RemoveFromGlobalCluster+newRemoveFromGlobalCluster+  pGlobalClusterIdentifier_+  pDbClusterIdentifier_ =+    RemoveFromGlobalCluster'+      { globalClusterIdentifier =+          pGlobalClusterIdentifier_,+        dbClusterIdentifier = pDbClusterIdentifier_+      }++-- | The identifier of the Neptune global database from which to detach the+-- specified Neptune DB cluster.+removeFromGlobalCluster_globalClusterIdentifier :: Lens.Lens' RemoveFromGlobalCluster Prelude.Text+removeFromGlobalCluster_globalClusterIdentifier = Lens.lens (\RemoveFromGlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@RemoveFromGlobalCluster' {} a -> s {globalClusterIdentifier = a} :: RemoveFromGlobalCluster)++-- | The Amazon Resource Name (ARN) identifying the cluster to be detached+-- from the Neptune global database cluster.+removeFromGlobalCluster_dbClusterIdentifier :: Lens.Lens' RemoveFromGlobalCluster Prelude.Text+removeFromGlobalCluster_dbClusterIdentifier = Lens.lens (\RemoveFromGlobalCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@RemoveFromGlobalCluster' {} a -> s {dbClusterIdentifier = a} :: RemoveFromGlobalCluster)++instance Core.AWSRequest RemoveFromGlobalCluster where+  type+    AWSResponse RemoveFromGlobalCluster =+      RemoveFromGlobalClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "RemoveFromGlobalClusterResult"+      ( \s h x ->+          RemoveFromGlobalClusterResponse'+            Prelude.<$> (x Data..@? "GlobalCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RemoveFromGlobalCluster where+  hashWithSalt _salt RemoveFromGlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` globalClusterIdentifier+      `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData RemoveFromGlobalCluster where+  rnf RemoveFromGlobalCluster' {..} =+    Prelude.rnf globalClusterIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders RemoveFromGlobalCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RemoveFromGlobalCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery RemoveFromGlobalCluster where+  toQuery RemoveFromGlobalCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("RemoveFromGlobalCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "GlobalClusterIdentifier"+          Data.=: globalClusterIdentifier,+        "DbClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newRemoveFromGlobalClusterResponse' smart constructor.+data RemoveFromGlobalClusterResponse = RemoveFromGlobalClusterResponse'+  { globalCluster :: Prelude.Maybe GlobalCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFromGlobalClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalCluster', 'removeFromGlobalClusterResponse_globalCluster' - Undocumented member.+--+-- 'httpStatus', 'removeFromGlobalClusterResponse_httpStatus' - The response's http status code.+newRemoveFromGlobalClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveFromGlobalClusterResponse+newRemoveFromGlobalClusterResponse pHttpStatus_ =+  RemoveFromGlobalClusterResponse'+    { globalCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+removeFromGlobalClusterResponse_globalCluster :: Lens.Lens' RemoveFromGlobalClusterResponse (Prelude.Maybe GlobalCluster)+removeFromGlobalClusterResponse_globalCluster = Lens.lens (\RemoveFromGlobalClusterResponse' {globalCluster} -> globalCluster) (\s@RemoveFromGlobalClusterResponse' {} a -> s {globalCluster = a} :: RemoveFromGlobalClusterResponse)++-- | The response's http status code.+removeFromGlobalClusterResponse_httpStatus :: Lens.Lens' RemoveFromGlobalClusterResponse Prelude.Int+removeFromGlobalClusterResponse_httpStatus = Lens.lens (\RemoveFromGlobalClusterResponse' {httpStatus} -> httpStatus) (\s@RemoveFromGlobalClusterResponse' {} a -> s {httpStatus = a} :: RemoveFromGlobalClusterResponse)++instance+  Prelude.NFData+    RemoveFromGlobalClusterResponse+  where+  rnf RemoveFromGlobalClusterResponse' {..} =+    Prelude.rnf globalCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/RemoveRoleFromDBCluster.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.Neptune.RemoveRoleFromDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates an Identity and Access Management (IAM) role from a DB+-- cluster.+module Amazonka.Neptune.RemoveRoleFromDBCluster+  ( -- * Creating a Request+    RemoveRoleFromDBCluster (..),+    newRemoveRoleFromDBCluster,++    -- * Request Lenses+    removeRoleFromDBCluster_featureName,+    removeRoleFromDBCluster_dbClusterIdentifier,+    removeRoleFromDBCluster_roleArn,++    -- * Destructuring the Response+    RemoveRoleFromDBClusterResponse (..),+    newRemoveRoleFromDBClusterResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveRoleFromDBCluster' smart constructor.+data RemoveRoleFromDBCluster = RemoveRoleFromDBCluster'+  { -- | The name of the feature for the DB cluster that the IAM role is to be+    -- disassociated from. For the list of supported feature names, see+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+    featureName :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB cluster to disassociate the IAM role from.+    dbClusterIdentifier :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role to disassociate from the+    -- DB cluster, for example+    -- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveRoleFromDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'featureName', 'removeRoleFromDBCluster_featureName' - The name of the feature for the DB cluster that the IAM role is to be+-- disassociated from. For the list of supported feature names, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+--+-- 'dbClusterIdentifier', 'removeRoleFromDBCluster_dbClusterIdentifier' - The name of the DB cluster to disassociate the IAM role from.+--+-- 'roleArn', 'removeRoleFromDBCluster_roleArn' - The Amazon Resource Name (ARN) of the IAM role to disassociate from the+-- DB cluster, for example+-- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+newRemoveRoleFromDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  RemoveRoleFromDBCluster+newRemoveRoleFromDBCluster+  pDBClusterIdentifier_+  pRoleArn_ =+    RemoveRoleFromDBCluster'+      { featureName =+          Prelude.Nothing,+        dbClusterIdentifier = pDBClusterIdentifier_,+        roleArn = pRoleArn_+      }++-- | The name of the feature for the DB cluster that the IAM role is to be+-- disassociated from. For the list of supported feature names, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+removeRoleFromDBCluster_featureName :: Lens.Lens' RemoveRoleFromDBCluster (Prelude.Maybe Prelude.Text)+removeRoleFromDBCluster_featureName = Lens.lens (\RemoveRoleFromDBCluster' {featureName} -> featureName) (\s@RemoveRoleFromDBCluster' {} a -> s {featureName = a} :: RemoveRoleFromDBCluster)++-- | The name of the DB cluster to disassociate the IAM role from.+removeRoleFromDBCluster_dbClusterIdentifier :: Lens.Lens' RemoveRoleFromDBCluster Prelude.Text+removeRoleFromDBCluster_dbClusterIdentifier = Lens.lens (\RemoveRoleFromDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@RemoveRoleFromDBCluster' {} a -> s {dbClusterIdentifier = a} :: RemoveRoleFromDBCluster)++-- | The Amazon Resource Name (ARN) of the IAM role to disassociate from the+-- DB cluster, for example+-- @arn:aws:iam::123456789012:role\/NeptuneAccessRole@.+removeRoleFromDBCluster_roleArn :: Lens.Lens' RemoveRoleFromDBCluster Prelude.Text+removeRoleFromDBCluster_roleArn = Lens.lens (\RemoveRoleFromDBCluster' {roleArn} -> roleArn) (\s@RemoveRoleFromDBCluster' {} a -> s {roleArn = a} :: RemoveRoleFromDBCluster)++instance Core.AWSRequest RemoveRoleFromDBCluster where+  type+    AWSResponse RemoveRoleFromDBCluster =+      RemoveRoleFromDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull+      RemoveRoleFromDBClusterResponse'++instance Prelude.Hashable RemoveRoleFromDBCluster where+  hashWithSalt _salt RemoveRoleFromDBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` featureName+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData RemoveRoleFromDBCluster where+  rnf RemoveRoleFromDBCluster' {..} =+    Prelude.rnf featureName+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders RemoveRoleFromDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RemoveRoleFromDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery RemoveRoleFromDBCluster where+  toQuery RemoveRoleFromDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("RemoveRoleFromDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "FeatureName" Data.=: featureName,+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "RoleArn" Data.=: roleArn+      ]++-- | /See:/ 'newRemoveRoleFromDBClusterResponse' smart constructor.+data RemoveRoleFromDBClusterResponse = RemoveRoleFromDBClusterResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveRoleFromDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newRemoveRoleFromDBClusterResponse ::+  RemoveRoleFromDBClusterResponse+newRemoveRoleFromDBClusterResponse =+  RemoveRoleFromDBClusterResponse'++instance+  Prelude.NFData+    RemoveRoleFromDBClusterResponse+  where+  rnf _ = ()
+ gen/Amazonka/Neptune/RemoveSourceIdentifierFromSubscription.hs view
@@ -0,0 +1,217 @@+{-# 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.Neptune.RemoveSourceIdentifierFromSubscription+-- 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 a source identifier from an existing event notification+-- subscription.+module Amazonka.Neptune.RemoveSourceIdentifierFromSubscription+  ( -- * Creating a Request+    RemoveSourceIdentifierFromSubscription (..),+    newRemoveSourceIdentifierFromSubscription,++    -- * Request Lenses+    removeSourceIdentifierFromSubscription_subscriptionName,+    removeSourceIdentifierFromSubscription_sourceIdentifier,++    -- * Destructuring the Response+    RemoveSourceIdentifierFromSubscriptionResponse (..),+    newRemoveSourceIdentifierFromSubscriptionResponse,++    -- * Response Lenses+    removeSourceIdentifierFromSubscriptionResponse_eventSubscription,+    removeSourceIdentifierFromSubscriptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveSourceIdentifierFromSubscription' smart constructor.+data RemoveSourceIdentifierFromSubscription = RemoveSourceIdentifierFromSubscription'+  { -- | The name of the event notification subscription you want to remove a+    -- source identifier from.+    subscriptionName :: Prelude.Text,+    -- | The source identifier to be removed from the subscription, such as the+    -- __DB instance identifier__ for a DB instance or the name of a security+    -- group.+    sourceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveSourceIdentifierFromSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriptionName', 'removeSourceIdentifierFromSubscription_subscriptionName' - The name of the event notification subscription you want to remove a+-- source identifier from.+--+-- 'sourceIdentifier', 'removeSourceIdentifierFromSubscription_sourceIdentifier' - The source identifier to be removed from the subscription, such as the+-- __DB instance identifier__ for a DB instance or the name of a security+-- group.+newRemoveSourceIdentifierFromSubscription ::+  -- | 'subscriptionName'+  Prelude.Text ->+  -- | 'sourceIdentifier'+  Prelude.Text ->+  RemoveSourceIdentifierFromSubscription+newRemoveSourceIdentifierFromSubscription+  pSubscriptionName_+  pSourceIdentifier_ =+    RemoveSourceIdentifierFromSubscription'+      { subscriptionName =+          pSubscriptionName_,+        sourceIdentifier =+          pSourceIdentifier_+      }++-- | The name of the event notification subscription you want to remove a+-- source identifier from.+removeSourceIdentifierFromSubscription_subscriptionName :: Lens.Lens' RemoveSourceIdentifierFromSubscription Prelude.Text+removeSourceIdentifierFromSubscription_subscriptionName = Lens.lens (\RemoveSourceIdentifierFromSubscription' {subscriptionName} -> subscriptionName) (\s@RemoveSourceIdentifierFromSubscription' {} a -> s {subscriptionName = a} :: RemoveSourceIdentifierFromSubscription)++-- | The source identifier to be removed from the subscription, such as the+-- __DB instance identifier__ for a DB instance or the name of a security+-- group.+removeSourceIdentifierFromSubscription_sourceIdentifier :: Lens.Lens' RemoveSourceIdentifierFromSubscription Prelude.Text+removeSourceIdentifierFromSubscription_sourceIdentifier = Lens.lens (\RemoveSourceIdentifierFromSubscription' {sourceIdentifier} -> sourceIdentifier) (\s@RemoveSourceIdentifierFromSubscription' {} a -> s {sourceIdentifier = a} :: RemoveSourceIdentifierFromSubscription)++instance+  Core.AWSRequest+    RemoveSourceIdentifierFromSubscription+  where+  type+    AWSResponse+      RemoveSourceIdentifierFromSubscription =+      RemoveSourceIdentifierFromSubscriptionResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "RemoveSourceIdentifierFromSubscriptionResult"+      ( \s h x ->+          RemoveSourceIdentifierFromSubscriptionResponse'+            Prelude.<$> (x Data..@? "EventSubscription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RemoveSourceIdentifierFromSubscription+  where+  hashWithSalt+    _salt+    RemoveSourceIdentifierFromSubscription' {..} =+      _salt+        `Prelude.hashWithSalt` subscriptionName+        `Prelude.hashWithSalt` sourceIdentifier++instance+  Prelude.NFData+    RemoveSourceIdentifierFromSubscription+  where+  rnf RemoveSourceIdentifierFromSubscription' {..} =+    Prelude.rnf subscriptionName+      `Prelude.seq` Prelude.rnf sourceIdentifier++instance+  Data.ToHeaders+    RemoveSourceIdentifierFromSubscription+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    RemoveSourceIdentifierFromSubscription+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    RemoveSourceIdentifierFromSubscription+  where+  toQuery RemoveSourceIdentifierFromSubscription' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "RemoveSourceIdentifierFromSubscription" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "SubscriptionName" Data.=: subscriptionName,+        "SourceIdentifier" Data.=: sourceIdentifier+      ]++-- | /See:/ 'newRemoveSourceIdentifierFromSubscriptionResponse' smart constructor.+data RemoveSourceIdentifierFromSubscriptionResponse = RemoveSourceIdentifierFromSubscriptionResponse'+  { eventSubscription :: Prelude.Maybe EventSubscription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveSourceIdentifierFromSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventSubscription', 'removeSourceIdentifierFromSubscriptionResponse_eventSubscription' - Undocumented member.+--+-- 'httpStatus', 'removeSourceIdentifierFromSubscriptionResponse_httpStatus' - The response's http status code.+newRemoveSourceIdentifierFromSubscriptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveSourceIdentifierFromSubscriptionResponse+newRemoveSourceIdentifierFromSubscriptionResponse+  pHttpStatus_ =+    RemoveSourceIdentifierFromSubscriptionResponse'+      { eventSubscription =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+removeSourceIdentifierFromSubscriptionResponse_eventSubscription :: Lens.Lens' RemoveSourceIdentifierFromSubscriptionResponse (Prelude.Maybe EventSubscription)+removeSourceIdentifierFromSubscriptionResponse_eventSubscription = Lens.lens (\RemoveSourceIdentifierFromSubscriptionResponse' {eventSubscription} -> eventSubscription) (\s@RemoveSourceIdentifierFromSubscriptionResponse' {} a -> s {eventSubscription = a} :: RemoveSourceIdentifierFromSubscriptionResponse)++-- | The response's http status code.+removeSourceIdentifierFromSubscriptionResponse_httpStatus :: Lens.Lens' RemoveSourceIdentifierFromSubscriptionResponse Prelude.Int+removeSourceIdentifierFromSubscriptionResponse_httpStatus = Lens.lens (\RemoveSourceIdentifierFromSubscriptionResponse' {httpStatus} -> httpStatus) (\s@RemoveSourceIdentifierFromSubscriptionResponse' {} a -> s {httpStatus = a} :: RemoveSourceIdentifierFromSubscriptionResponse)++instance+  Prelude.NFData+    RemoveSourceIdentifierFromSubscriptionResponse+  where+  rnf+    RemoveSourceIdentifierFromSubscriptionResponse' {..} =+      Prelude.rnf eventSubscription+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/RemoveTagsFromResource.hs view
@@ -0,0 +1,152 @@+{-# 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.Neptune.RemoveTagsFromResource+-- 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 metadata tags from an Amazon Neptune resource.+module Amazonka.Neptune.RemoveTagsFromResource+  ( -- * Creating a Request+    RemoveTagsFromResource (..),+    newRemoveTagsFromResource,++    -- * Request Lenses+    removeTagsFromResource_resourceName,+    removeTagsFromResource_tagKeys,++    -- * Destructuring the Response+    RemoveTagsFromResourceResponse (..),+    newRemoveTagsFromResourceResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveTagsFromResource' smart constructor.+data RemoveTagsFromResource = RemoveTagsFromResource'+  { -- | The Amazon Neptune resource that the tags are removed from. This value+    -- is an Amazon Resource Name (ARN). For information about creating an ARN,+    -- see+    -- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+    resourceName :: Prelude.Text,+    -- | The tag key (name) of the tag to be removed.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveTagsFromResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceName', 'removeTagsFromResource_resourceName' - The Amazon Neptune resource that the tags are removed from. This value+-- is an Amazon Resource Name (ARN). For information about creating an ARN,+-- see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+--+-- 'tagKeys', 'removeTagsFromResource_tagKeys' - The tag key (name) of the tag to be removed.+newRemoveTagsFromResource ::+  -- | 'resourceName'+  Prelude.Text ->+  RemoveTagsFromResource+newRemoveTagsFromResource pResourceName_ =+  RemoveTagsFromResource'+    { resourceName =+        pResourceName_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Neptune resource that the tags are removed from. This value+-- is an Amazon Resource Name (ARN). For information about creating an ARN,+-- see+-- <https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing Constructing an Amazon Resource Name (ARN)>.+removeTagsFromResource_resourceName :: Lens.Lens' RemoveTagsFromResource Prelude.Text+removeTagsFromResource_resourceName = Lens.lens (\RemoveTagsFromResource' {resourceName} -> resourceName) (\s@RemoveTagsFromResource' {} a -> s {resourceName = a} :: RemoveTagsFromResource)++-- | The tag key (name) of the tag to be removed.+removeTagsFromResource_tagKeys :: Lens.Lens' RemoveTagsFromResource [Prelude.Text]+removeTagsFromResource_tagKeys = Lens.lens (\RemoveTagsFromResource' {tagKeys} -> tagKeys) (\s@RemoveTagsFromResource' {} a -> s {tagKeys = a} :: RemoveTagsFromResource) Prelude.. Lens.coerced++instance Core.AWSRequest RemoveTagsFromResource where+  type+    AWSResponse RemoveTagsFromResource =+      RemoveTagsFromResourceResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveNull+      RemoveTagsFromResourceResponse'++instance Prelude.Hashable RemoveTagsFromResource where+  hashWithSalt _salt RemoveTagsFromResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData RemoveTagsFromResource where+  rnf RemoveTagsFromResource' {..} =+    Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders RemoveTagsFromResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RemoveTagsFromResource where+  toPath = Prelude.const "/"++instance Data.ToQuery RemoveTagsFromResource where+  toQuery RemoveTagsFromResource' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("RemoveTagsFromResource" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "ResourceName" Data.=: resourceName,+        "TagKeys" Data.=: Data.toQueryList "member" tagKeys+      ]++-- | /See:/ 'newRemoveTagsFromResourceResponse' smart constructor.+data RemoveTagsFromResourceResponse = RemoveTagsFromResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveTagsFromResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newRemoveTagsFromResourceResponse ::+  RemoveTagsFromResourceResponse+newRemoveTagsFromResourceResponse =+  RemoveTagsFromResourceResponse'++instance+  Prelude.NFData+    RemoveTagsFromResourceResponse+  where+  rnf _ = ()
+ gen/Amazonka/Neptune/ResetDBClusterParameterGroup.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.Neptune.ResetDBClusterParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the parameters of a DB cluster parameter group to the default+-- value. To reset specific parameters submit a list of the following:+-- @ParameterName@ and @ApplyMethod@. To reset the entire DB cluster+-- parameter group, specify the @DBClusterParameterGroupName@ and+-- @ResetAllParameters@ parameters.+--+-- When resetting the entire group, dynamic parameters are updated+-- immediately and static parameters are set to @pending-reboot@ to take+-- effect on the next DB instance restart or RebootDBInstance request. You+-- must call RebootDBInstance for every DB instance in your DB cluster that+-- you want the updated static parameter to apply to.+module Amazonka.Neptune.ResetDBClusterParameterGroup+  ( -- * Creating a Request+    ResetDBClusterParameterGroup (..),+    newResetDBClusterParameterGroup,++    -- * Request Lenses+    resetDBClusterParameterGroup_parameters,+    resetDBClusterParameterGroup_resetAllParameters,+    resetDBClusterParameterGroup_dbClusterParameterGroupName,++    -- * Destructuring the Response+    DBClusterParameterGroupNameMessage (..),+    newDBClusterParameterGroupNameMessage,++    -- * Response Lenses+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResetDBClusterParameterGroup' smart constructor.+data ResetDBClusterParameterGroup = ResetDBClusterParameterGroup'+  { -- | A list of parameter names in the DB cluster parameter group to reset to+    -- the default values. You can\'t use this parameter if the+    -- @ResetAllParameters@ parameter is set to @true@.+    parameters :: Prelude.Maybe [Parameter],+    -- | A value that is set to @true@ to reset all parameters in the DB cluster+    -- parameter group to their default values, and @false@ otherwise. You+    -- can\'t use this parameter if there is a list of parameter names+    -- specified for the @Parameters@ parameter.+    resetAllParameters :: Prelude.Maybe Prelude.Bool,+    -- | The name of the DB cluster parameter group to reset.+    dbClusterParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetDBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameters', 'resetDBClusterParameterGroup_parameters' - A list of parameter names in the DB cluster parameter group to reset to+-- the default values. You can\'t use this parameter if the+-- @ResetAllParameters@ parameter is set to @true@.+--+-- 'resetAllParameters', 'resetDBClusterParameterGroup_resetAllParameters' - A value that is set to @true@ to reset all parameters in the DB cluster+-- parameter group to their default values, and @false@ otherwise. You+-- can\'t use this parameter if there is a list of parameter names+-- specified for the @Parameters@ parameter.+--+-- 'dbClusterParameterGroupName', 'resetDBClusterParameterGroup_dbClusterParameterGroupName' - The name of the DB cluster parameter group to reset.+newResetDBClusterParameterGroup ::+  -- | 'dbClusterParameterGroupName'+  Prelude.Text ->+  ResetDBClusterParameterGroup+newResetDBClusterParameterGroup+  pDBClusterParameterGroupName_ =+    ResetDBClusterParameterGroup'+      { parameters =+          Prelude.Nothing,+        resetAllParameters = Prelude.Nothing,+        dbClusterParameterGroupName =+          pDBClusterParameterGroupName_+      }++-- | A list of parameter names in the DB cluster parameter group to reset to+-- the default values. You can\'t use this parameter if the+-- @ResetAllParameters@ parameter is set to @true@.+resetDBClusterParameterGroup_parameters :: Lens.Lens' ResetDBClusterParameterGroup (Prelude.Maybe [Parameter])+resetDBClusterParameterGroup_parameters = Lens.lens (\ResetDBClusterParameterGroup' {parameters} -> parameters) (\s@ResetDBClusterParameterGroup' {} a -> s {parameters = a} :: ResetDBClusterParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | A value that is set to @true@ to reset all parameters in the DB cluster+-- parameter group to their default values, and @false@ otherwise. You+-- can\'t use this parameter if there is a list of parameter names+-- specified for the @Parameters@ parameter.+resetDBClusterParameterGroup_resetAllParameters :: Lens.Lens' ResetDBClusterParameterGroup (Prelude.Maybe Prelude.Bool)+resetDBClusterParameterGroup_resetAllParameters = Lens.lens (\ResetDBClusterParameterGroup' {resetAllParameters} -> resetAllParameters) (\s@ResetDBClusterParameterGroup' {} a -> s {resetAllParameters = a} :: ResetDBClusterParameterGroup)++-- | The name of the DB cluster parameter group to reset.+resetDBClusterParameterGroup_dbClusterParameterGroupName :: Lens.Lens' ResetDBClusterParameterGroup Prelude.Text+resetDBClusterParameterGroup_dbClusterParameterGroupName = Lens.lens (\ResetDBClusterParameterGroup' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@ResetDBClusterParameterGroup' {} a -> s {dbClusterParameterGroupName = a} :: ResetDBClusterParameterGroup)++instance Core.AWSRequest ResetDBClusterParameterGroup where+  type+    AWSResponse ResetDBClusterParameterGroup =+      DBClusterParameterGroupNameMessage+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ResetDBClusterParameterGroupResult"+      (\s h x -> Data.parseXML x)++instance+  Prelude.Hashable+    ResetDBClusterParameterGroup+  where+  hashWithSalt _salt ResetDBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` resetAllParameters+      `Prelude.hashWithSalt` dbClusterParameterGroupName++instance Prelude.NFData ResetDBClusterParameterGroup where+  rnf ResetDBClusterParameterGroup' {..} =+    Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf resetAllParameters+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName++instance Data.ToHeaders ResetDBClusterParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ResetDBClusterParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery ResetDBClusterParameterGroup where+  toQuery ResetDBClusterParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "ResetDBClusterParameterGroup" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Parameters"+          Data.=: Data.toQuery+            ( Data.toQueryList "Parameter"+                Prelude.<$> parameters+            ),+        "ResetAllParameters" Data.=: resetAllParameters,+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName+      ]
+ gen/Amazonka/Neptune/ResetDBParameterGroup.hs view
@@ -0,0 +1,186 @@+{-# 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.Neptune.ResetDBParameterGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the parameters of a DB parameter group to the engine\/system+-- default value. To reset specific parameters, provide a list of the+-- following: @ParameterName@ and @ApplyMethod@. To reset the entire DB+-- parameter group, specify the @DBParameterGroup@ name and+-- @ResetAllParameters@ parameters. When resetting the entire group,+-- dynamic parameters are updated immediately and static parameters are set+-- to @pending-reboot@ to take effect on the next DB instance restart or+-- @RebootDBInstance@ request.+module Amazonka.Neptune.ResetDBParameterGroup+  ( -- * Creating a Request+    ResetDBParameterGroup (..),+    newResetDBParameterGroup,++    -- * Request Lenses+    resetDBParameterGroup_parameters,+    resetDBParameterGroup_resetAllParameters,+    resetDBParameterGroup_dbParameterGroupName,++    -- * Destructuring the Response+    DBParameterGroupNameMessage (..),+    newDBParameterGroupNameMessage,++    -- * Response Lenses+    dbParameterGroupNameMessage_dbParameterGroupName,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResetDBParameterGroup' smart constructor.+data ResetDBParameterGroup = ResetDBParameterGroup'+  { -- | To reset the entire DB parameter group, specify the @DBParameterGroup@+    -- name and @ResetAllParameters@ parameters. To reset specific parameters,+    -- provide a list of the following: @ParameterName@ and @ApplyMethod@. A+    -- maximum of 20 parameters can be modified in a single request.+    --+    -- Valid Values (for Apply method): @pending-reboot@+    parameters :: Prelude.Maybe [Parameter],+    -- | Specifies whether (@true@) or not (@false@) to reset all parameters in+    -- the DB parameter group to default values.+    --+    -- Default: @true@+    resetAllParameters :: Prelude.Maybe Prelude.Bool,+    -- | The name of the DB parameter group.+    --+    -- Constraints:+    --+    -- -   Must match the name of an existing DBParameterGroup.+    dbParameterGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetDBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameters', 'resetDBParameterGroup_parameters' - To reset the entire DB parameter group, specify the @DBParameterGroup@+-- name and @ResetAllParameters@ parameters. To reset specific parameters,+-- provide a list of the following: @ParameterName@ and @ApplyMethod@. A+-- maximum of 20 parameters can be modified in a single request.+--+-- Valid Values (for Apply method): @pending-reboot@+--+-- 'resetAllParameters', 'resetDBParameterGroup_resetAllParameters' - Specifies whether (@true@) or not (@false@) to reset all parameters in+-- the DB parameter group to default values.+--+-- Default: @true@+--+-- 'dbParameterGroupName', 'resetDBParameterGroup_dbParameterGroupName' - The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must match the name of an existing DBParameterGroup.+newResetDBParameterGroup ::+  -- | 'dbParameterGroupName'+  Prelude.Text ->+  ResetDBParameterGroup+newResetDBParameterGroup pDBParameterGroupName_ =+  ResetDBParameterGroup'+    { parameters =+        Prelude.Nothing,+      resetAllParameters = Prelude.Nothing,+      dbParameterGroupName = pDBParameterGroupName_+    }++-- | To reset the entire DB parameter group, specify the @DBParameterGroup@+-- name and @ResetAllParameters@ parameters. To reset specific parameters,+-- provide a list of the following: @ParameterName@ and @ApplyMethod@. A+-- maximum of 20 parameters can be modified in a single request.+--+-- Valid Values (for Apply method): @pending-reboot@+resetDBParameterGroup_parameters :: Lens.Lens' ResetDBParameterGroup (Prelude.Maybe [Parameter])+resetDBParameterGroup_parameters = Lens.lens (\ResetDBParameterGroup' {parameters} -> parameters) (\s@ResetDBParameterGroup' {} a -> s {parameters = a} :: ResetDBParameterGroup) Prelude.. Lens.mapping Lens.coerced++-- | Specifies whether (@true@) or not (@false@) to reset all parameters in+-- the DB parameter group to default values.+--+-- Default: @true@+resetDBParameterGroup_resetAllParameters :: Lens.Lens' ResetDBParameterGroup (Prelude.Maybe Prelude.Bool)+resetDBParameterGroup_resetAllParameters = Lens.lens (\ResetDBParameterGroup' {resetAllParameters} -> resetAllParameters) (\s@ResetDBParameterGroup' {} a -> s {resetAllParameters = a} :: ResetDBParameterGroup)++-- | The name of the DB parameter group.+--+-- Constraints:+--+-- -   Must match the name of an existing DBParameterGroup.+resetDBParameterGroup_dbParameterGroupName :: Lens.Lens' ResetDBParameterGroup Prelude.Text+resetDBParameterGroup_dbParameterGroupName = Lens.lens (\ResetDBParameterGroup' {dbParameterGroupName} -> dbParameterGroupName) (\s@ResetDBParameterGroup' {} a -> s {dbParameterGroupName = a} :: ResetDBParameterGroup)++instance Core.AWSRequest ResetDBParameterGroup where+  type+    AWSResponse ResetDBParameterGroup =+      DBParameterGroupNameMessage+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "ResetDBParameterGroupResult"+      (\s h x -> Data.parseXML x)++instance Prelude.Hashable ResetDBParameterGroup where+  hashWithSalt _salt ResetDBParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` resetAllParameters+      `Prelude.hashWithSalt` dbParameterGroupName++instance Prelude.NFData ResetDBParameterGroup where+  rnf ResetDBParameterGroup' {..} =+    Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf resetAllParameters+      `Prelude.seq` Prelude.rnf dbParameterGroupName++instance Data.ToHeaders ResetDBParameterGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ResetDBParameterGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery ResetDBParameterGroup where+  toQuery ResetDBParameterGroup' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("ResetDBParameterGroup" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "Parameters"+          Data.=: Data.toQuery+            ( Data.toQueryList "Parameter"+                Prelude.<$> parameters+            ),+        "ResetAllParameters" Data.=: resetAllParameters,+        "DBParameterGroupName" Data.=: dbParameterGroupName+      ]
+ gen/Amazonka/Neptune/RestoreDBClusterFromSnapshot.hs view
@@ -0,0 +1,616 @@+{-# 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.Neptune.RestoreDBClusterFromSnapshot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new DB cluster from a DB snapshot or DB cluster snapshot.+--+-- If a DB snapshot is specified, the target DB cluster is created from the+-- source DB snapshot with a default configuration and default security+-- group.+--+-- If a DB cluster snapshot is specified, the target DB cluster is created+-- from the source DB cluster restore point with the same configuration as+-- the original source DB cluster, except that the new DB cluster is+-- created with the default security group.+module Amazonka.Neptune.RestoreDBClusterFromSnapshot+  ( -- * Creating a Request+    RestoreDBClusterFromSnapshot (..),+    newRestoreDBClusterFromSnapshot,++    -- * Request Lenses+    restoreDBClusterFromSnapshot_availabilityZones,+    restoreDBClusterFromSnapshot_copyTagsToSnapshot,+    restoreDBClusterFromSnapshot_dbClusterParameterGroupName,+    restoreDBClusterFromSnapshot_dbSubnetGroupName,+    restoreDBClusterFromSnapshot_databaseName,+    restoreDBClusterFromSnapshot_deletionProtection,+    restoreDBClusterFromSnapshot_enableCloudwatchLogsExports,+    restoreDBClusterFromSnapshot_enableIAMDatabaseAuthentication,+    restoreDBClusterFromSnapshot_engineVersion,+    restoreDBClusterFromSnapshot_kmsKeyId,+    restoreDBClusterFromSnapshot_optionGroupName,+    restoreDBClusterFromSnapshot_port,+    restoreDBClusterFromSnapshot_serverlessV2ScalingConfiguration,+    restoreDBClusterFromSnapshot_tags,+    restoreDBClusterFromSnapshot_vpcSecurityGroupIds,+    restoreDBClusterFromSnapshot_dbClusterIdentifier,+    restoreDBClusterFromSnapshot_snapshotIdentifier,+    restoreDBClusterFromSnapshot_engine,++    -- * Destructuring the Response+    RestoreDBClusterFromSnapshotResponse (..),+    newRestoreDBClusterFromSnapshotResponse,++    -- * Response Lenses+    restoreDBClusterFromSnapshotResponse_dbCluster,+    restoreDBClusterFromSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRestoreDBClusterFromSnapshot' smart constructor.+data RestoreDBClusterFromSnapshot = RestoreDBClusterFromSnapshot'+  { -- | Provides the list of EC2 Availability Zones that instances in the+    -- restored DB cluster can be created in.+    availabilityZones :: Prelude.Maybe [Prelude.Text],+    -- | /If set to @true@, tags are copied to any snapshot of the restored DB+    -- cluster that is created./+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | The name of the DB cluster parameter group to associate with the new DB+    -- cluster.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB subnet group to use for the new DB cluster.+    --+    -- Constraints: If supplied, must match the name of an existing+    -- DBSubnetGroup.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | Not supported.+    databaseName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB cluster has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is disabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The list of logs that the restored DB cluster is to export to Amazon+    -- CloudWatch Logs.+    enableCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | True to enable mapping of Amazon Identity and Access Management (IAM)+    -- accounts to database accounts, and otherwise false.+    --+    -- Default: @false@+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | The version of the database engine to use for the new DB cluster.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon KMS key identifier to use when restoring an encrypted DB+    -- cluster from a DB snapshot or DB cluster snapshot.+    --+    -- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+    -- encryption key. If you are restoring a DB cluster with the same Amazon+    -- account that owns the KMS encryption key used to encrypt the new DB+    -- cluster, then you can use the KMS key alias instead of the ARN for the+    -- KMS encryption key.+    --+    -- If you do not specify a value for the @KmsKeyId@ parameter, then the+    -- following will occur:+    --+    -- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+    --     encrypted, then the restored DB cluster is encrypted using the KMS+    --     key that was used to encrypt the DB snapshot or DB cluster snapshot.+    --+    -- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+    --     not encrypted, then the restored DB cluster is not encrypted.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the new DB cluster accepts connections.+    --+    -- Constraints: Value must be @1150-65535@+    --+    -- Default: The same port as the original DB cluster.+    port :: Prelude.Maybe Prelude.Int,+    serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfiguration,+    -- | The tags to be assigned to the restored DB cluster.+    tags :: Prelude.Maybe [Tag],+    -- | A list of VPC security groups that the new DB cluster will belong to.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The name of the DB cluster to create from the DB snapshot or DB cluster+    -- snapshot. This parameter isn\'t case-sensitive.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- Example: @my-snapshot-id@+    dbClusterIdentifier :: Prelude.Text,+    -- | The identifier for the DB snapshot or DB cluster snapshot to restore+    -- from.+    --+    -- You can use either the name or the Amazon Resource Name (ARN) to specify+    -- a DB cluster snapshot. However, you can use only the ARN to specify a DB+    -- snapshot.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing Snapshot.+    snapshotIdentifier :: Prelude.Text,+    -- | The database engine to use for the new DB cluster.+    --+    -- Default: The same as source+    --+    -- Constraint: Must be compatible with the engine of the source+    engine :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreDBClusterFromSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZones', 'restoreDBClusterFromSnapshot_availabilityZones' - Provides the list of EC2 Availability Zones that instances in the+-- restored DB cluster can be created in.+--+-- 'copyTagsToSnapshot', 'restoreDBClusterFromSnapshot_copyTagsToSnapshot' - /If set to @true@, tags are copied to any snapshot of the restored DB+-- cluster that is created./+--+-- 'dbClusterParameterGroupName', 'restoreDBClusterFromSnapshot_dbClusterParameterGroupName' - The name of the DB cluster parameter group to associate with the new DB+-- cluster.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+--+-- 'dbSubnetGroupName', 'restoreDBClusterFromSnapshot_dbSubnetGroupName' - The name of the DB subnet group to use for the new DB cluster.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetgroup@+--+-- 'databaseName', 'restoreDBClusterFromSnapshot_databaseName' - Not supported.+--+-- 'deletionProtection', 'restoreDBClusterFromSnapshot_deletionProtection' - A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+--+-- 'enableCloudwatchLogsExports', 'restoreDBClusterFromSnapshot_enableCloudwatchLogsExports' - The list of logs that the restored DB cluster is to export to Amazon+-- CloudWatch Logs.+--+-- 'enableIAMDatabaseAuthentication', 'restoreDBClusterFromSnapshot_enableIAMDatabaseAuthentication' - True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+--+-- 'engineVersion', 'restoreDBClusterFromSnapshot_engineVersion' - The version of the database engine to use for the new DB cluster.+--+-- 'kmsKeyId', 'restoreDBClusterFromSnapshot_kmsKeyId' - The Amazon KMS key identifier to use when restoring an encrypted DB+-- cluster from a DB snapshot or DB cluster snapshot.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are restoring a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- If you do not specify a value for the @KmsKeyId@ parameter, then the+-- following will occur:+--+-- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+--     encrypted, then the restored DB cluster is encrypted using the KMS+--     key that was used to encrypt the DB snapshot or DB cluster snapshot.+--+-- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+--     not encrypted, then the restored DB cluster is not encrypted.+--+-- 'optionGroupName', 'restoreDBClusterFromSnapshot_optionGroupName' - /(Not supported by Neptune)/+--+-- 'port', 'restoreDBClusterFromSnapshot_port' - The port number on which the new DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+--+-- 'serverlessV2ScalingConfiguration', 'restoreDBClusterFromSnapshot_serverlessV2ScalingConfiguration' - Undocumented member.+--+-- 'tags', 'restoreDBClusterFromSnapshot_tags' - The tags to be assigned to the restored DB cluster.+--+-- 'vpcSecurityGroupIds', 'restoreDBClusterFromSnapshot_vpcSecurityGroupIds' - A list of VPC security groups that the new DB cluster will belong to.+--+-- 'dbClusterIdentifier', 'restoreDBClusterFromSnapshot_dbClusterIdentifier' - The name of the DB cluster to create from the DB snapshot or DB cluster+-- snapshot. This parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-snapshot-id@+--+-- 'snapshotIdentifier', 'restoreDBClusterFromSnapshot_snapshotIdentifier' - The identifier for the DB snapshot or DB cluster snapshot to restore+-- from.+--+-- You can use either the name or the Amazon Resource Name (ARN) to specify+-- a DB cluster snapshot. However, you can use only the ARN to specify a DB+-- snapshot.+--+-- Constraints:+--+-- -   Must match the identifier of an existing Snapshot.+--+-- 'engine', 'restoreDBClusterFromSnapshot_engine' - The database engine to use for the new DB cluster.+--+-- Default: The same as source+--+-- Constraint: Must be compatible with the engine of the source+newRestoreDBClusterFromSnapshot ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'snapshotIdentifier'+  Prelude.Text ->+  -- | 'engine'+  Prelude.Text ->+  RestoreDBClusterFromSnapshot+newRestoreDBClusterFromSnapshot+  pDBClusterIdentifier_+  pSnapshotIdentifier_+  pEngine_ =+    RestoreDBClusterFromSnapshot'+      { availabilityZones =+          Prelude.Nothing,+        copyTagsToSnapshot = Prelude.Nothing,+        dbClusterParameterGroupName = Prelude.Nothing,+        dbSubnetGroupName = Prelude.Nothing,+        databaseName = Prelude.Nothing,+        deletionProtection = Prelude.Nothing,+        enableCloudwatchLogsExports = Prelude.Nothing,+        enableIAMDatabaseAuthentication =+          Prelude.Nothing,+        engineVersion = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        optionGroupName = Prelude.Nothing,+        port = Prelude.Nothing,+        serverlessV2ScalingConfiguration =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        vpcSecurityGroupIds = Prelude.Nothing,+        dbClusterIdentifier = pDBClusterIdentifier_,+        snapshotIdentifier = pSnapshotIdentifier_,+        engine = pEngine_+      }++-- | Provides the list of EC2 Availability Zones that instances in the+-- restored DB cluster can be created in.+restoreDBClusterFromSnapshot_availabilityZones :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe [Prelude.Text])+restoreDBClusterFromSnapshot_availabilityZones = Lens.lens (\RestoreDBClusterFromSnapshot' {availabilityZones} -> availabilityZones) (\s@RestoreDBClusterFromSnapshot' {} a -> s {availabilityZones = a} :: RestoreDBClusterFromSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | /If set to @true@, tags are copied to any snapshot of the restored DB+-- cluster that is created./+restoreDBClusterFromSnapshot_copyTagsToSnapshot :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Bool)+restoreDBClusterFromSnapshot_copyTagsToSnapshot = Lens.lens (\RestoreDBClusterFromSnapshot' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@RestoreDBClusterFromSnapshot' {} a -> s {copyTagsToSnapshot = a} :: RestoreDBClusterFromSnapshot)++-- | The name of the DB cluster parameter group to associate with the new DB+-- cluster.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+restoreDBClusterFromSnapshot_dbClusterParameterGroupName :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_dbClusterParameterGroupName = Lens.lens (\RestoreDBClusterFromSnapshot' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@RestoreDBClusterFromSnapshot' {} a -> s {dbClusterParameterGroupName = a} :: RestoreDBClusterFromSnapshot)++-- | The name of the DB subnet group to use for the new DB cluster.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetgroup@+restoreDBClusterFromSnapshot_dbSubnetGroupName :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_dbSubnetGroupName = Lens.lens (\RestoreDBClusterFromSnapshot' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@RestoreDBClusterFromSnapshot' {} a -> s {dbSubnetGroupName = a} :: RestoreDBClusterFromSnapshot)++-- | Not supported.+restoreDBClusterFromSnapshot_databaseName :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_databaseName = Lens.lens (\RestoreDBClusterFromSnapshot' {databaseName} -> databaseName) (\s@RestoreDBClusterFromSnapshot' {} a -> s {databaseName = a} :: RestoreDBClusterFromSnapshot)++-- | A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+restoreDBClusterFromSnapshot_deletionProtection :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Bool)+restoreDBClusterFromSnapshot_deletionProtection = Lens.lens (\RestoreDBClusterFromSnapshot' {deletionProtection} -> deletionProtection) (\s@RestoreDBClusterFromSnapshot' {} a -> s {deletionProtection = a} :: RestoreDBClusterFromSnapshot)++-- | The list of logs that the restored DB cluster is to export to Amazon+-- CloudWatch Logs.+restoreDBClusterFromSnapshot_enableCloudwatchLogsExports :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe [Prelude.Text])+restoreDBClusterFromSnapshot_enableCloudwatchLogsExports = Lens.lens (\RestoreDBClusterFromSnapshot' {enableCloudwatchLogsExports} -> enableCloudwatchLogsExports) (\s@RestoreDBClusterFromSnapshot' {} a -> s {enableCloudwatchLogsExports = a} :: RestoreDBClusterFromSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+restoreDBClusterFromSnapshot_enableIAMDatabaseAuthentication :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Bool)+restoreDBClusterFromSnapshot_enableIAMDatabaseAuthentication = Lens.lens (\RestoreDBClusterFromSnapshot' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@RestoreDBClusterFromSnapshot' {} a -> s {enableIAMDatabaseAuthentication = a} :: RestoreDBClusterFromSnapshot)++-- | The version of the database engine to use for the new DB cluster.+restoreDBClusterFromSnapshot_engineVersion :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_engineVersion = Lens.lens (\RestoreDBClusterFromSnapshot' {engineVersion} -> engineVersion) (\s@RestoreDBClusterFromSnapshot' {} a -> s {engineVersion = a} :: RestoreDBClusterFromSnapshot)++-- | The Amazon KMS key identifier to use when restoring an encrypted DB+-- cluster from a DB snapshot or DB cluster snapshot.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are restoring a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- If you do not specify a value for the @KmsKeyId@ parameter, then the+-- following will occur:+--+-- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+--     encrypted, then the restored DB cluster is encrypted using the KMS+--     key that was used to encrypt the DB snapshot or DB cluster snapshot.+--+-- -   If the DB snapshot or DB cluster snapshot in @SnapshotIdentifier@ is+--     not encrypted, then the restored DB cluster is not encrypted.+restoreDBClusterFromSnapshot_kmsKeyId :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_kmsKeyId = Lens.lens (\RestoreDBClusterFromSnapshot' {kmsKeyId} -> kmsKeyId) (\s@RestoreDBClusterFromSnapshot' {} a -> s {kmsKeyId = a} :: RestoreDBClusterFromSnapshot)++-- | /(Not supported by Neptune)/+restoreDBClusterFromSnapshot_optionGroupName :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Text)+restoreDBClusterFromSnapshot_optionGroupName = Lens.lens (\RestoreDBClusterFromSnapshot' {optionGroupName} -> optionGroupName) (\s@RestoreDBClusterFromSnapshot' {} a -> s {optionGroupName = a} :: RestoreDBClusterFromSnapshot)++-- | The port number on which the new DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+restoreDBClusterFromSnapshot_port :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe Prelude.Int)+restoreDBClusterFromSnapshot_port = Lens.lens (\RestoreDBClusterFromSnapshot' {port} -> port) (\s@RestoreDBClusterFromSnapshot' {} a -> s {port = a} :: RestoreDBClusterFromSnapshot)++-- | Undocumented member.+restoreDBClusterFromSnapshot_serverlessV2ScalingConfiguration :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe ServerlessV2ScalingConfiguration)+restoreDBClusterFromSnapshot_serverlessV2ScalingConfiguration = Lens.lens (\RestoreDBClusterFromSnapshot' {serverlessV2ScalingConfiguration} -> serverlessV2ScalingConfiguration) (\s@RestoreDBClusterFromSnapshot' {} a -> s {serverlessV2ScalingConfiguration = a} :: RestoreDBClusterFromSnapshot)++-- | The tags to be assigned to the restored DB cluster.+restoreDBClusterFromSnapshot_tags :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe [Tag])+restoreDBClusterFromSnapshot_tags = Lens.lens (\RestoreDBClusterFromSnapshot' {tags} -> tags) (\s@RestoreDBClusterFromSnapshot' {} a -> s {tags = a} :: RestoreDBClusterFromSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | A list of VPC security groups that the new DB cluster will belong to.+restoreDBClusterFromSnapshot_vpcSecurityGroupIds :: Lens.Lens' RestoreDBClusterFromSnapshot (Prelude.Maybe [Prelude.Text])+restoreDBClusterFromSnapshot_vpcSecurityGroupIds = Lens.lens (\RestoreDBClusterFromSnapshot' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@RestoreDBClusterFromSnapshot' {} a -> s {vpcSecurityGroupIds = a} :: RestoreDBClusterFromSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The name of the DB cluster to create from the DB snapshot or DB cluster+-- snapshot. This parameter isn\'t case-sensitive.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: @my-snapshot-id@+restoreDBClusterFromSnapshot_dbClusterIdentifier :: Lens.Lens' RestoreDBClusterFromSnapshot Prelude.Text+restoreDBClusterFromSnapshot_dbClusterIdentifier = Lens.lens (\RestoreDBClusterFromSnapshot' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@RestoreDBClusterFromSnapshot' {} a -> s {dbClusterIdentifier = a} :: RestoreDBClusterFromSnapshot)++-- | The identifier for the DB snapshot or DB cluster snapshot to restore+-- from.+--+-- You can use either the name or the Amazon Resource Name (ARN) to specify+-- a DB cluster snapshot. However, you can use only the ARN to specify a DB+-- snapshot.+--+-- Constraints:+--+-- -   Must match the identifier of an existing Snapshot.+restoreDBClusterFromSnapshot_snapshotIdentifier :: Lens.Lens' RestoreDBClusterFromSnapshot Prelude.Text+restoreDBClusterFromSnapshot_snapshotIdentifier = Lens.lens (\RestoreDBClusterFromSnapshot' {snapshotIdentifier} -> snapshotIdentifier) (\s@RestoreDBClusterFromSnapshot' {} a -> s {snapshotIdentifier = a} :: RestoreDBClusterFromSnapshot)++-- | The database engine to use for the new DB cluster.+--+-- Default: The same as source+--+-- Constraint: Must be compatible with the engine of the source+restoreDBClusterFromSnapshot_engine :: Lens.Lens' RestoreDBClusterFromSnapshot Prelude.Text+restoreDBClusterFromSnapshot_engine = Lens.lens (\RestoreDBClusterFromSnapshot' {engine} -> engine) (\s@RestoreDBClusterFromSnapshot' {} a -> s {engine = a} :: RestoreDBClusterFromSnapshot)++instance Core.AWSRequest RestoreDBClusterFromSnapshot where+  type+    AWSResponse RestoreDBClusterFromSnapshot =+      RestoreDBClusterFromSnapshotResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "RestoreDBClusterFromSnapshotResult"+      ( \s h x ->+          RestoreDBClusterFromSnapshotResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RestoreDBClusterFromSnapshot+  where+  hashWithSalt _salt RestoreDBClusterFromSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZones+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` databaseName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` enableCloudwatchLogsExports+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` serverlessV2ScalingConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` snapshotIdentifier+      `Prelude.hashWithSalt` engine++instance Prelude.NFData RestoreDBClusterFromSnapshot where+  rnf RestoreDBClusterFromSnapshot' {..} =+    Prelude.rnf availabilityZones+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf databaseName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf enableCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf optionGroupName+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf serverlessV2ScalingConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf snapshotIdentifier+      `Prelude.seq` Prelude.rnf engine++instance Data.ToHeaders RestoreDBClusterFromSnapshot where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RestoreDBClusterFromSnapshot where+  toPath = Prelude.const "/"++instance Data.ToQuery RestoreDBClusterFromSnapshot where+  toQuery RestoreDBClusterFromSnapshot' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "RestoreDBClusterFromSnapshot" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "AvailabilityZones"+          Data.=: Data.toQuery+            ( Data.toQueryList "AvailabilityZone"+                Prelude.<$> availabilityZones+            ),+        "CopyTagsToSnapshot" Data.=: copyTagsToSnapshot,+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DatabaseName" Data.=: databaseName,+        "DeletionProtection" Data.=: deletionProtection,+        "EnableCloudwatchLogsExports"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> enableCloudwatchLogsExports+            ),+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "EngineVersion" Data.=: engineVersion,+        "KmsKeyId" Data.=: kmsKeyId,+        "OptionGroupName" Data.=: optionGroupName,+        "Port" Data.=: port,+        "ServerlessV2ScalingConfiguration"+          Data.=: serverlessV2ScalingConfiguration,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "SnapshotIdentifier" Data.=: snapshotIdentifier,+        "Engine" Data.=: engine+      ]++-- | /See:/ 'newRestoreDBClusterFromSnapshotResponse' smart constructor.+data RestoreDBClusterFromSnapshotResponse = RestoreDBClusterFromSnapshotResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreDBClusterFromSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'restoreDBClusterFromSnapshotResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'restoreDBClusterFromSnapshotResponse_httpStatus' - The response's http status code.+newRestoreDBClusterFromSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RestoreDBClusterFromSnapshotResponse+newRestoreDBClusterFromSnapshotResponse pHttpStatus_ =+  RestoreDBClusterFromSnapshotResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+restoreDBClusterFromSnapshotResponse_dbCluster :: Lens.Lens' RestoreDBClusterFromSnapshotResponse (Prelude.Maybe DBCluster)+restoreDBClusterFromSnapshotResponse_dbCluster = Lens.lens (\RestoreDBClusterFromSnapshotResponse' {dbCluster} -> dbCluster) (\s@RestoreDBClusterFromSnapshotResponse' {} a -> s {dbCluster = a} :: RestoreDBClusterFromSnapshotResponse)++-- | The response's http status code.+restoreDBClusterFromSnapshotResponse_httpStatus :: Lens.Lens' RestoreDBClusterFromSnapshotResponse Prelude.Int+restoreDBClusterFromSnapshotResponse_httpStatus = Lens.lens (\RestoreDBClusterFromSnapshotResponse' {httpStatus} -> httpStatus) (\s@RestoreDBClusterFromSnapshotResponse' {} a -> s {httpStatus = a} :: RestoreDBClusterFromSnapshotResponse)++instance+  Prelude.NFData+    RestoreDBClusterFromSnapshotResponse+  where+  rnf RestoreDBClusterFromSnapshotResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/RestoreDBClusterToPointInTime.hs view
@@ -0,0 +1,671 @@+{-# 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.Neptune.RestoreDBClusterToPointInTime+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restores a DB cluster to an arbitrary point in time. Users can restore+-- to any point in time before @LatestRestorableTime@ for up to+-- @BackupRetentionPeriod@ days. The target DB cluster is created from the+-- source DB cluster with the same configuration as the original DB+-- cluster, except that the new DB cluster is created with the default DB+-- security group.+--+-- This action only restores the DB cluster, not the DB instances for that+-- DB cluster. You must invoke the CreateDBInstance action to create DB+-- instances for the restored DB cluster, specifying the identifier of the+-- restored DB cluster in @DBClusterIdentifier@. You can create DB+-- instances only after the @RestoreDBClusterToPointInTime@ action has+-- completed and the DB cluster is available.+module Amazonka.Neptune.RestoreDBClusterToPointInTime+  ( -- * Creating a Request+    RestoreDBClusterToPointInTime (..),+    newRestoreDBClusterToPointInTime,++    -- * Request Lenses+    restoreDBClusterToPointInTime_dbClusterParameterGroupName,+    restoreDBClusterToPointInTime_dbSubnetGroupName,+    restoreDBClusterToPointInTime_deletionProtection,+    restoreDBClusterToPointInTime_enableCloudwatchLogsExports,+    restoreDBClusterToPointInTime_enableIAMDatabaseAuthentication,+    restoreDBClusterToPointInTime_kmsKeyId,+    restoreDBClusterToPointInTime_optionGroupName,+    restoreDBClusterToPointInTime_port,+    restoreDBClusterToPointInTime_restoreToTime,+    restoreDBClusterToPointInTime_restoreType,+    restoreDBClusterToPointInTime_serverlessV2ScalingConfiguration,+    restoreDBClusterToPointInTime_tags,+    restoreDBClusterToPointInTime_useLatestRestorableTime,+    restoreDBClusterToPointInTime_vpcSecurityGroupIds,+    restoreDBClusterToPointInTime_dbClusterIdentifier,+    restoreDBClusterToPointInTime_sourceDBClusterIdentifier,++    -- * Destructuring the Response+    RestoreDBClusterToPointInTimeResponse (..),+    newRestoreDBClusterToPointInTimeResponse,++    -- * Response Lenses+    restoreDBClusterToPointInTimeResponse_dbCluster,+    restoreDBClusterToPointInTimeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRestoreDBClusterToPointInTime' smart constructor.+data RestoreDBClusterToPointInTime = RestoreDBClusterToPointInTime'+  { -- | The name of the DB cluster parameter group to associate with the new DB+    -- cluster.+    --+    -- Constraints:+    --+    -- -   If supplied, must match the name of an existing+    --     DBClusterParameterGroup.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | The DB subnet group name to use for the new DB cluster.+    --+    -- Constraints: If supplied, must match the name of an existing+    -- DBSubnetGroup.+    --+    -- Example: @mySubnetgroup@+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether the DB cluster has deletion protection+    -- enabled. The database can\'t be deleted when deletion protection is+    -- enabled. By default, deletion protection is disabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The list of logs that the restored DB cluster is to export to CloudWatch+    -- Logs.+    enableCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | True to enable mapping of Amazon Identity and Access Management (IAM)+    -- accounts to database accounts, and otherwise false.+    --+    -- Default: @false@+    enableIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon KMS key identifier to use when restoring an encrypted DB+    -- cluster from an encrypted DB cluster.+    --+    -- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+    -- encryption key. If you are restoring a DB cluster with the same Amazon+    -- account that owns the KMS encryption key used to encrypt the new DB+    -- cluster, then you can use the KMS key alias instead of the ARN for the+    -- KMS encryption key.+    --+    -- You can restore to a new DB cluster and encrypt the new DB cluster with+    -- a KMS key that is different than the KMS key used to encrypt the source+    -- DB cluster. The new DB cluster is encrypted with the KMS key identified+    -- by the @KmsKeyId@ parameter.+    --+    -- If you do not specify a value for the @KmsKeyId@ parameter, then the+    -- following will occur:+    --+    -- -   If the DB cluster is encrypted, then the restored DB cluster is+    --     encrypted using the KMS key that was used to encrypt the source DB+    --     cluster.+    --+    -- -   If the DB cluster is not encrypted, then the restored DB cluster is+    --     not encrypted.+    --+    -- If @DBClusterIdentifier@ refers to a DB cluster that is not encrypted,+    -- then the restore request is rejected.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | The port number on which the new DB cluster accepts connections.+    --+    -- Constraints: Value must be @1150-65535@+    --+    -- Default: The same port as the original DB cluster.+    port :: Prelude.Maybe Prelude.Int,+    -- | The date and time to restore the DB cluster to.+    --+    -- Valid Values: Value must be a time in Universal Coordinated Time (UTC)+    -- format+    --+    -- Constraints:+    --+    -- -   Must be before the latest restorable time for the DB instance+    --+    -- -   Must be specified if @UseLatestRestorableTime@ parameter is not+    --     provided+    --+    -- -   Cannot be specified if @UseLatestRestorableTime@ parameter is true+    --+    -- -   Cannot be specified if @RestoreType@ parameter is @copy-on-write@+    --+    -- Example: @2015-03-07T23:45:00Z@+    restoreToTime :: Prelude.Maybe Data.ISO8601,+    -- | The type of restore to be performed. You can specify one of the+    -- following values:+    --+    -- -   @full-copy@ - The new DB cluster is restored as a full copy of the+    --     source DB cluster.+    --+    -- -   @copy-on-write@ - The new DB cluster is restored as a clone of the+    --     source DB cluster.+    --+    -- If you don\'t specify a @RestoreType@ value, then the new DB cluster is+    -- restored as a full copy of the source DB cluster.+    restoreType :: Prelude.Maybe Prelude.Text,+    serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfiguration,+    -- | The tags to be applied to the restored DB cluster.+    tags :: Prelude.Maybe [Tag],+    -- | A value that is set to @true@ to restore the DB cluster to the latest+    -- restorable backup time, and @false@ otherwise.+    --+    -- Default: @false@+    --+    -- Constraints: Cannot be specified if @RestoreToTime@ parameter is+    -- provided.+    useLatestRestorableTime :: Prelude.Maybe Prelude.Bool,+    -- | A list of VPC security groups that the new DB cluster belongs to.+    vpcSecurityGroupIds :: Prelude.Maybe [Prelude.Text],+    -- | The name of the new DB cluster to be created.+    --+    -- Constraints:+    --+    -- -   Must contain from 1 to 63 letters, numbers, or hyphens+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    dbClusterIdentifier :: Prelude.Text,+    -- | The identifier of the source DB cluster from which to restore.+    --+    -- Constraints:+    --+    -- -   Must match the identifier of an existing DBCluster.+    sourceDBClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreDBClusterToPointInTime' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupName', 'restoreDBClusterToPointInTime_dbClusterParameterGroupName' - The name of the DB cluster parameter group to associate with the new DB+-- cluster.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+--+-- 'dbSubnetGroupName', 'restoreDBClusterToPointInTime_dbSubnetGroupName' - The DB subnet group name to use for the new DB cluster.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetgroup@+--+-- 'deletionProtection', 'restoreDBClusterToPointInTime_deletionProtection' - A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+--+-- 'enableCloudwatchLogsExports', 'restoreDBClusterToPointInTime_enableCloudwatchLogsExports' - The list of logs that the restored DB cluster is to export to CloudWatch+-- Logs.+--+-- 'enableIAMDatabaseAuthentication', 'restoreDBClusterToPointInTime_enableIAMDatabaseAuthentication' - True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+--+-- 'kmsKeyId', 'restoreDBClusterToPointInTime_kmsKeyId' - The Amazon KMS key identifier to use when restoring an encrypted DB+-- cluster from an encrypted DB cluster.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are restoring a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- You can restore to a new DB cluster and encrypt the new DB cluster with+-- a KMS key that is different than the KMS key used to encrypt the source+-- DB cluster. The new DB cluster is encrypted with the KMS key identified+-- by the @KmsKeyId@ parameter.+--+-- If you do not specify a value for the @KmsKeyId@ parameter, then the+-- following will occur:+--+-- -   If the DB cluster is encrypted, then the restored DB cluster is+--     encrypted using the KMS key that was used to encrypt the source DB+--     cluster.+--+-- -   If the DB cluster is not encrypted, then the restored DB cluster is+--     not encrypted.+--+-- If @DBClusterIdentifier@ refers to a DB cluster that is not encrypted,+-- then the restore request is rejected.+--+-- 'optionGroupName', 'restoreDBClusterToPointInTime_optionGroupName' - /(Not supported by Neptune)/+--+-- 'port', 'restoreDBClusterToPointInTime_port' - The port number on which the new DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+--+-- 'restoreToTime', 'restoreDBClusterToPointInTime_restoreToTime' - The date and time to restore the DB cluster to.+--+-- Valid Values: Value must be a time in Universal Coordinated Time (UTC)+-- format+--+-- Constraints:+--+-- -   Must be before the latest restorable time for the DB instance+--+-- -   Must be specified if @UseLatestRestorableTime@ parameter is not+--     provided+--+-- -   Cannot be specified if @UseLatestRestorableTime@ parameter is true+--+-- -   Cannot be specified if @RestoreType@ parameter is @copy-on-write@+--+-- Example: @2015-03-07T23:45:00Z@+--+-- 'restoreType', 'restoreDBClusterToPointInTime_restoreType' - The type of restore to be performed. You can specify one of the+-- following values:+--+-- -   @full-copy@ - The new DB cluster is restored as a full copy of the+--     source DB cluster.+--+-- -   @copy-on-write@ - The new DB cluster is restored as a clone of the+--     source DB cluster.+--+-- If you don\'t specify a @RestoreType@ value, then the new DB cluster is+-- restored as a full copy of the source DB cluster.+--+-- 'serverlessV2ScalingConfiguration', 'restoreDBClusterToPointInTime_serverlessV2ScalingConfiguration' - Undocumented member.+--+-- 'tags', 'restoreDBClusterToPointInTime_tags' - The tags to be applied to the restored DB cluster.+--+-- 'useLatestRestorableTime', 'restoreDBClusterToPointInTime_useLatestRestorableTime' - A value that is set to @true@ to restore the DB cluster to the latest+-- restorable backup time, and @false@ otherwise.+--+-- Default: @false@+--+-- Constraints: Cannot be specified if @RestoreToTime@ parameter is+-- provided.+--+-- 'vpcSecurityGroupIds', 'restoreDBClusterToPointInTime_vpcSecurityGroupIds' - A list of VPC security groups that the new DB cluster belongs to.+--+-- 'dbClusterIdentifier', 'restoreDBClusterToPointInTime_dbClusterIdentifier' - The name of the new DB cluster to be created.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- 'sourceDBClusterIdentifier', 'restoreDBClusterToPointInTime_sourceDBClusterIdentifier' - The identifier of the source DB cluster from which to restore.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+newRestoreDBClusterToPointInTime ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  -- | 'sourceDBClusterIdentifier'+  Prelude.Text ->+  RestoreDBClusterToPointInTime+newRestoreDBClusterToPointInTime+  pDBClusterIdentifier_+  pSourceDBClusterIdentifier_ =+    RestoreDBClusterToPointInTime'+      { dbClusterParameterGroupName =+          Prelude.Nothing,+        dbSubnetGroupName = Prelude.Nothing,+        deletionProtection = Prelude.Nothing,+        enableCloudwatchLogsExports =+          Prelude.Nothing,+        enableIAMDatabaseAuthentication =+          Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        optionGroupName = Prelude.Nothing,+        port = Prelude.Nothing,+        restoreToTime = Prelude.Nothing,+        restoreType = Prelude.Nothing,+        serverlessV2ScalingConfiguration =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        useLatestRestorableTime = Prelude.Nothing,+        vpcSecurityGroupIds = Prelude.Nothing,+        dbClusterIdentifier = pDBClusterIdentifier_,+        sourceDBClusterIdentifier =+          pSourceDBClusterIdentifier_+      }++-- | The name of the DB cluster parameter group to associate with the new DB+-- cluster.+--+-- Constraints:+--+-- -   If supplied, must match the name of an existing+--     DBClusterParameterGroup.+restoreDBClusterToPointInTime_dbClusterParameterGroupName :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Text)+restoreDBClusterToPointInTime_dbClusterParameterGroupName = Lens.lens (\RestoreDBClusterToPointInTime' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@RestoreDBClusterToPointInTime' {} a -> s {dbClusterParameterGroupName = a} :: RestoreDBClusterToPointInTime)++-- | The DB subnet group name to use for the new DB cluster.+--+-- Constraints: If supplied, must match the name of an existing+-- DBSubnetGroup.+--+-- Example: @mySubnetgroup@+restoreDBClusterToPointInTime_dbSubnetGroupName :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Text)+restoreDBClusterToPointInTime_dbSubnetGroupName = Lens.lens (\RestoreDBClusterToPointInTime' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@RestoreDBClusterToPointInTime' {} a -> s {dbSubnetGroupName = a} :: RestoreDBClusterToPointInTime)++-- | A value that indicates whether the DB cluster has deletion protection+-- enabled. The database can\'t be deleted when deletion protection is+-- enabled. By default, deletion protection is disabled.+restoreDBClusterToPointInTime_deletionProtection :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Bool)+restoreDBClusterToPointInTime_deletionProtection = Lens.lens (\RestoreDBClusterToPointInTime' {deletionProtection} -> deletionProtection) (\s@RestoreDBClusterToPointInTime' {} a -> s {deletionProtection = a} :: RestoreDBClusterToPointInTime)++-- | The list of logs that the restored DB cluster is to export to CloudWatch+-- Logs.+restoreDBClusterToPointInTime_enableCloudwatchLogsExports :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe [Prelude.Text])+restoreDBClusterToPointInTime_enableCloudwatchLogsExports = Lens.lens (\RestoreDBClusterToPointInTime' {enableCloudwatchLogsExports} -> enableCloudwatchLogsExports) (\s@RestoreDBClusterToPointInTime' {} a -> s {enableCloudwatchLogsExports = a} :: RestoreDBClusterToPointInTime) Prelude.. Lens.mapping Lens.coerced++-- | True to enable mapping of Amazon Identity and Access Management (IAM)+-- accounts to database accounts, and otherwise false.+--+-- Default: @false@+restoreDBClusterToPointInTime_enableIAMDatabaseAuthentication :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Bool)+restoreDBClusterToPointInTime_enableIAMDatabaseAuthentication = Lens.lens (\RestoreDBClusterToPointInTime' {enableIAMDatabaseAuthentication} -> enableIAMDatabaseAuthentication) (\s@RestoreDBClusterToPointInTime' {} a -> s {enableIAMDatabaseAuthentication = a} :: RestoreDBClusterToPointInTime)++-- | The Amazon KMS key identifier to use when restoring an encrypted DB+-- cluster from an encrypted DB cluster.+--+-- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS+-- encryption key. If you are restoring a DB cluster with the same Amazon+-- account that owns the KMS encryption key used to encrypt the new DB+-- cluster, then you can use the KMS key alias instead of the ARN for the+-- KMS encryption key.+--+-- You can restore to a new DB cluster and encrypt the new DB cluster with+-- a KMS key that is different than the KMS key used to encrypt the source+-- DB cluster. The new DB cluster is encrypted with the KMS key identified+-- by the @KmsKeyId@ parameter.+--+-- If you do not specify a value for the @KmsKeyId@ parameter, then the+-- following will occur:+--+-- -   If the DB cluster is encrypted, then the restored DB cluster is+--     encrypted using the KMS key that was used to encrypt the source DB+--     cluster.+--+-- -   If the DB cluster is not encrypted, then the restored DB cluster is+--     not encrypted.+--+-- If @DBClusterIdentifier@ refers to a DB cluster that is not encrypted,+-- then the restore request is rejected.+restoreDBClusterToPointInTime_kmsKeyId :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Text)+restoreDBClusterToPointInTime_kmsKeyId = Lens.lens (\RestoreDBClusterToPointInTime' {kmsKeyId} -> kmsKeyId) (\s@RestoreDBClusterToPointInTime' {} a -> s {kmsKeyId = a} :: RestoreDBClusterToPointInTime)++-- | /(Not supported by Neptune)/+restoreDBClusterToPointInTime_optionGroupName :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Text)+restoreDBClusterToPointInTime_optionGroupName = Lens.lens (\RestoreDBClusterToPointInTime' {optionGroupName} -> optionGroupName) (\s@RestoreDBClusterToPointInTime' {} a -> s {optionGroupName = a} :: RestoreDBClusterToPointInTime)++-- | The port number on which the new DB cluster accepts connections.+--+-- Constraints: Value must be @1150-65535@+--+-- Default: The same port as the original DB cluster.+restoreDBClusterToPointInTime_port :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Int)+restoreDBClusterToPointInTime_port = Lens.lens (\RestoreDBClusterToPointInTime' {port} -> port) (\s@RestoreDBClusterToPointInTime' {} a -> s {port = a} :: RestoreDBClusterToPointInTime)++-- | The date and time to restore the DB cluster to.+--+-- Valid Values: Value must be a time in Universal Coordinated Time (UTC)+-- format+--+-- Constraints:+--+-- -   Must be before the latest restorable time for the DB instance+--+-- -   Must be specified if @UseLatestRestorableTime@ parameter is not+--     provided+--+-- -   Cannot be specified if @UseLatestRestorableTime@ parameter is true+--+-- -   Cannot be specified if @RestoreType@ parameter is @copy-on-write@+--+-- Example: @2015-03-07T23:45:00Z@+restoreDBClusterToPointInTime_restoreToTime :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.UTCTime)+restoreDBClusterToPointInTime_restoreToTime = Lens.lens (\RestoreDBClusterToPointInTime' {restoreToTime} -> restoreToTime) (\s@RestoreDBClusterToPointInTime' {} a -> s {restoreToTime = a} :: RestoreDBClusterToPointInTime) Prelude.. Lens.mapping Data._Time++-- | The type of restore to be performed. You can specify one of the+-- following values:+--+-- -   @full-copy@ - The new DB cluster is restored as a full copy of the+--     source DB cluster.+--+-- -   @copy-on-write@ - The new DB cluster is restored as a clone of the+--     source DB cluster.+--+-- If you don\'t specify a @RestoreType@ value, then the new DB cluster is+-- restored as a full copy of the source DB cluster.+restoreDBClusterToPointInTime_restoreType :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Text)+restoreDBClusterToPointInTime_restoreType = Lens.lens (\RestoreDBClusterToPointInTime' {restoreType} -> restoreType) (\s@RestoreDBClusterToPointInTime' {} a -> s {restoreType = a} :: RestoreDBClusterToPointInTime)++-- | Undocumented member.+restoreDBClusterToPointInTime_serverlessV2ScalingConfiguration :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe ServerlessV2ScalingConfiguration)+restoreDBClusterToPointInTime_serverlessV2ScalingConfiguration = Lens.lens (\RestoreDBClusterToPointInTime' {serverlessV2ScalingConfiguration} -> serverlessV2ScalingConfiguration) (\s@RestoreDBClusterToPointInTime' {} a -> s {serverlessV2ScalingConfiguration = a} :: RestoreDBClusterToPointInTime)++-- | The tags to be applied to the restored DB cluster.+restoreDBClusterToPointInTime_tags :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe [Tag])+restoreDBClusterToPointInTime_tags = Lens.lens (\RestoreDBClusterToPointInTime' {tags} -> tags) (\s@RestoreDBClusterToPointInTime' {} a -> s {tags = a} :: RestoreDBClusterToPointInTime) Prelude.. Lens.mapping Lens.coerced++-- | A value that is set to @true@ to restore the DB cluster to the latest+-- restorable backup time, and @false@ otherwise.+--+-- Default: @false@+--+-- Constraints: Cannot be specified if @RestoreToTime@ parameter is+-- provided.+restoreDBClusterToPointInTime_useLatestRestorableTime :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe Prelude.Bool)+restoreDBClusterToPointInTime_useLatestRestorableTime = Lens.lens (\RestoreDBClusterToPointInTime' {useLatestRestorableTime} -> useLatestRestorableTime) (\s@RestoreDBClusterToPointInTime' {} a -> s {useLatestRestorableTime = a} :: RestoreDBClusterToPointInTime)++-- | A list of VPC security groups that the new DB cluster belongs to.+restoreDBClusterToPointInTime_vpcSecurityGroupIds :: Lens.Lens' RestoreDBClusterToPointInTime (Prelude.Maybe [Prelude.Text])+restoreDBClusterToPointInTime_vpcSecurityGroupIds = Lens.lens (\RestoreDBClusterToPointInTime' {vpcSecurityGroupIds} -> vpcSecurityGroupIds) (\s@RestoreDBClusterToPointInTime' {} a -> s {vpcSecurityGroupIds = a} :: RestoreDBClusterToPointInTime) Prelude.. Lens.mapping Lens.coerced++-- | The name of the new DB cluster to be created.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 letters, numbers, or hyphens+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+restoreDBClusterToPointInTime_dbClusterIdentifier :: Lens.Lens' RestoreDBClusterToPointInTime Prelude.Text+restoreDBClusterToPointInTime_dbClusterIdentifier = Lens.lens (\RestoreDBClusterToPointInTime' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@RestoreDBClusterToPointInTime' {} a -> s {dbClusterIdentifier = a} :: RestoreDBClusterToPointInTime)++-- | The identifier of the source DB cluster from which to restore.+--+-- Constraints:+--+-- -   Must match the identifier of an existing DBCluster.+restoreDBClusterToPointInTime_sourceDBClusterIdentifier :: Lens.Lens' RestoreDBClusterToPointInTime Prelude.Text+restoreDBClusterToPointInTime_sourceDBClusterIdentifier = Lens.lens (\RestoreDBClusterToPointInTime' {sourceDBClusterIdentifier} -> sourceDBClusterIdentifier) (\s@RestoreDBClusterToPointInTime' {} a -> s {sourceDBClusterIdentifier = a} :: RestoreDBClusterToPointInTime)++instance+  Core.AWSRequest+    RestoreDBClusterToPointInTime+  where+  type+    AWSResponse RestoreDBClusterToPointInTime =+      RestoreDBClusterToPointInTimeResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "RestoreDBClusterToPointInTimeResult"+      ( \s h x ->+          RestoreDBClusterToPointInTimeResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RestoreDBClusterToPointInTime+  where+  hashWithSalt _salt RestoreDBClusterToPointInTime' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` enableCloudwatchLogsExports+      `Prelude.hashWithSalt` enableIAMDatabaseAuthentication+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` restoreToTime+      `Prelude.hashWithSalt` restoreType+      `Prelude.hashWithSalt` serverlessV2ScalingConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` useLatestRestorableTime+      `Prelude.hashWithSalt` vpcSecurityGroupIds+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` sourceDBClusterIdentifier++instance Prelude.NFData RestoreDBClusterToPointInTime where+  rnf RestoreDBClusterToPointInTime' {..} =+    Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf enableCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf enableIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf optionGroupName+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf restoreToTime+      `Prelude.seq` Prelude.rnf restoreType+      `Prelude.seq` Prelude.rnf serverlessV2ScalingConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf useLatestRestorableTime+      `Prelude.seq` Prelude.rnf vpcSecurityGroupIds+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf sourceDBClusterIdentifier++instance Data.ToHeaders RestoreDBClusterToPointInTime where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath RestoreDBClusterToPointInTime where+  toPath = Prelude.const "/"++instance Data.ToQuery RestoreDBClusterToPointInTime where+  toQuery RestoreDBClusterToPointInTime' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ( "RestoreDBClusterToPointInTime" ::+                      Prelude.ByteString+                  ),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterParameterGroupName"+          Data.=: dbClusterParameterGroupName,+        "DBSubnetGroupName" Data.=: dbSubnetGroupName,+        "DeletionProtection" Data.=: deletionProtection,+        "EnableCloudwatchLogsExports"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> enableCloudwatchLogsExports+            ),+        "EnableIAMDatabaseAuthentication"+          Data.=: enableIAMDatabaseAuthentication,+        "KmsKeyId" Data.=: kmsKeyId,+        "OptionGroupName" Data.=: optionGroupName,+        "Port" Data.=: port,+        "RestoreToTime" Data.=: restoreToTime,+        "RestoreType" Data.=: restoreType,+        "ServerlessV2ScalingConfiguration"+          Data.=: serverlessV2ScalingConfiguration,+        "Tags"+          Data.=: Data.toQuery+            (Data.toQueryList "Tag" Prelude.<$> tags),+        "UseLatestRestorableTime"+          Data.=: useLatestRestorableTime,+        "VpcSecurityGroupIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "VpcSecurityGroupId"+                Prelude.<$> vpcSecurityGroupIds+            ),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier,+        "SourceDBClusterIdentifier"+          Data.=: sourceDBClusterIdentifier+      ]++-- | /See:/ 'newRestoreDBClusterToPointInTimeResponse' smart constructor.+data RestoreDBClusterToPointInTimeResponse = RestoreDBClusterToPointInTimeResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreDBClusterToPointInTimeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'restoreDBClusterToPointInTimeResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'restoreDBClusterToPointInTimeResponse_httpStatus' - The response's http status code.+newRestoreDBClusterToPointInTimeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RestoreDBClusterToPointInTimeResponse+newRestoreDBClusterToPointInTimeResponse pHttpStatus_ =+  RestoreDBClusterToPointInTimeResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+restoreDBClusterToPointInTimeResponse_dbCluster :: Lens.Lens' RestoreDBClusterToPointInTimeResponse (Prelude.Maybe DBCluster)+restoreDBClusterToPointInTimeResponse_dbCluster = Lens.lens (\RestoreDBClusterToPointInTimeResponse' {dbCluster} -> dbCluster) (\s@RestoreDBClusterToPointInTimeResponse' {} a -> s {dbCluster = a} :: RestoreDBClusterToPointInTimeResponse)++-- | The response's http status code.+restoreDBClusterToPointInTimeResponse_httpStatus :: Lens.Lens' RestoreDBClusterToPointInTimeResponse Prelude.Int+restoreDBClusterToPointInTimeResponse_httpStatus = Lens.lens (\RestoreDBClusterToPointInTimeResponse' {httpStatus} -> httpStatus) (\s@RestoreDBClusterToPointInTimeResponse' {} a -> s {httpStatus = a} :: RestoreDBClusterToPointInTimeResponse)++instance+  Prelude.NFData+    RestoreDBClusterToPointInTimeResponse+  where+  rnf RestoreDBClusterToPointInTimeResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/StartDBCluster.hs view
@@ -0,0 +1,165 @@+{-# 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.Neptune.StartDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an Amazon Neptune DB cluster that was stopped using the Amazon+-- console, the Amazon CLI stop-db-cluster command, or the StopDBCluster+-- API.+module Amazonka.Neptune.StartDBCluster+  ( -- * Creating a Request+    StartDBCluster (..),+    newStartDBCluster,++    -- * Request Lenses+    startDBCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    StartDBClusterResponse (..),+    newStartDBClusterResponse,++    -- * Response Lenses+    startDBClusterResponse_dbCluster,+    startDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartDBCluster' smart constructor.+data StartDBCluster = StartDBCluster'+  { -- | The DB cluster identifier of the Neptune DB cluster to be started. This+    -- parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'startDBCluster_dbClusterIdentifier' - The DB cluster identifier of the Neptune DB cluster to be started. This+-- parameter is stored as a lowercase string.+newStartDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  StartDBCluster+newStartDBCluster pDBClusterIdentifier_ =+  StartDBCluster'+    { dbClusterIdentifier =+        pDBClusterIdentifier_+    }++-- | The DB cluster identifier of the Neptune DB cluster to be started. This+-- parameter is stored as a lowercase string.+startDBCluster_dbClusterIdentifier :: Lens.Lens' StartDBCluster Prelude.Text+startDBCluster_dbClusterIdentifier = Lens.lens (\StartDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@StartDBCluster' {} a -> s {dbClusterIdentifier = a} :: StartDBCluster)++instance Core.AWSRequest StartDBCluster where+  type+    AWSResponse StartDBCluster =+      StartDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "StartDBClusterResult"+      ( \s h x ->+          StartDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartDBCluster where+  hashWithSalt _salt StartDBCluster' {..} =+    _salt `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData StartDBCluster where+  rnf StartDBCluster' {..} =+    Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders StartDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath StartDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery StartDBCluster where+  toQuery StartDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("StartDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newStartDBClusterResponse' smart constructor.+data StartDBClusterResponse = StartDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'startDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'startDBClusterResponse_httpStatus' - The response's http status code.+newStartDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartDBClusterResponse+newStartDBClusterResponse pHttpStatus_ =+  StartDBClusterResponse'+    { dbCluster =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+startDBClusterResponse_dbCluster :: Lens.Lens' StartDBClusterResponse (Prelude.Maybe DBCluster)+startDBClusterResponse_dbCluster = Lens.lens (\StartDBClusterResponse' {dbCluster} -> dbCluster) (\s@StartDBClusterResponse' {} a -> s {dbCluster = a} :: StartDBClusterResponse)++-- | The response's http status code.+startDBClusterResponse_httpStatus :: Lens.Lens' StartDBClusterResponse Prelude.Int+startDBClusterResponse_httpStatus = Lens.lens (\StartDBClusterResponse' {httpStatus} -> httpStatus) (\s@StartDBClusterResponse' {} a -> s {httpStatus = a} :: StartDBClusterResponse)++instance Prelude.NFData StartDBClusterResponse where+  rnf StartDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/StopDBCluster.hs view
@@ -0,0 +1,167 @@+{-# 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.Neptune.StopDBCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune+-- retains the DB cluster\'s metadata, including its endpoints and DB+-- parameter groups.+--+-- Neptune also retains the transaction logs so you can do a point-in-time+-- restore if necessary.+module Amazonka.Neptune.StopDBCluster+  ( -- * Creating a Request+    StopDBCluster (..),+    newStopDBCluster,++    -- * Request Lenses+    stopDBCluster_dbClusterIdentifier,++    -- * Destructuring the Response+    StopDBClusterResponse (..),+    newStopDBClusterResponse,++    -- * Response Lenses+    stopDBClusterResponse_dbCluster,+    stopDBClusterResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopDBCluster' smart constructor.+data StopDBCluster = StopDBCluster'+  { -- | The DB cluster identifier of the Neptune DB cluster to be stopped. This+    -- parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopDBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterIdentifier', 'stopDBCluster_dbClusterIdentifier' - The DB cluster identifier of the Neptune DB cluster to be stopped. This+-- parameter is stored as a lowercase string.+newStopDBCluster ::+  -- | 'dbClusterIdentifier'+  Prelude.Text ->+  StopDBCluster+newStopDBCluster pDBClusterIdentifier_ =+  StopDBCluster'+    { dbClusterIdentifier =+        pDBClusterIdentifier_+    }++-- | The DB cluster identifier of the Neptune DB cluster to be stopped. This+-- parameter is stored as a lowercase string.+stopDBCluster_dbClusterIdentifier :: Lens.Lens' StopDBCluster Prelude.Text+stopDBCluster_dbClusterIdentifier = Lens.lens (\StopDBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@StopDBCluster' {} a -> s {dbClusterIdentifier = a} :: StopDBCluster)++instance Core.AWSRequest StopDBCluster where+  type+    AWSResponse StopDBCluster =+      StopDBClusterResponse+  request overrides =+    Request.postQuery (overrides defaultService)+  response =+    Response.receiveXMLWrapper+      "StopDBClusterResult"+      ( \s h x ->+          StopDBClusterResponse'+            Prelude.<$> (x Data..@? "DBCluster")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopDBCluster where+  hashWithSalt _salt StopDBCluster' {..} =+    _salt `Prelude.hashWithSalt` dbClusterIdentifier++instance Prelude.NFData StopDBCluster where+  rnf StopDBCluster' {..} =+    Prelude.rnf dbClusterIdentifier++instance Data.ToHeaders StopDBCluster where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath StopDBCluster where+  toPath = Prelude.const "/"++instance Data.ToQuery StopDBCluster where+  toQuery StopDBCluster' {..} =+    Prelude.mconcat+      [ "Action"+          Data.=: ("StopDBCluster" :: Prelude.ByteString),+        "Version"+          Data.=: ("2014-10-31" :: Prelude.ByteString),+        "DBClusterIdentifier" Data.=: dbClusterIdentifier+      ]++-- | /See:/ 'newStopDBClusterResponse' smart constructor.+data StopDBClusterResponse = StopDBClusterResponse'+  { dbCluster :: Prelude.Maybe DBCluster,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopDBClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbCluster', 'stopDBClusterResponse_dbCluster' - Undocumented member.+--+-- 'httpStatus', 'stopDBClusterResponse_httpStatus' - The response's http status code.+newStopDBClusterResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopDBClusterResponse+newStopDBClusterResponse pHttpStatus_ =+  StopDBClusterResponse'+    { dbCluster = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+stopDBClusterResponse_dbCluster :: Lens.Lens' StopDBClusterResponse (Prelude.Maybe DBCluster)+stopDBClusterResponse_dbCluster = Lens.lens (\StopDBClusterResponse' {dbCluster} -> dbCluster) (\s@StopDBClusterResponse' {} a -> s {dbCluster = a} :: StopDBClusterResponse)++-- | The response's http status code.+stopDBClusterResponse_httpStatus :: Lens.Lens' StopDBClusterResponse Prelude.Int+stopDBClusterResponse_httpStatus = Lens.lens (\StopDBClusterResponse' {httpStatus} -> httpStatus) (\s@StopDBClusterResponse' {} a -> s {httpStatus = a} :: StopDBClusterResponse)++instance Prelude.NFData StopDBClusterResponse where+  rnf StopDBClusterResponse' {..} =+    Prelude.rnf dbCluster+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Neptune/Types.hs view
@@ -0,0 +1,1287 @@+{-# 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.Neptune.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.Neptune.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AuthorizationNotFoundFault,+    _CertificateNotFoundFault,+    _DBClusterAlreadyExistsFault,+    _DBClusterEndpointAlreadyExistsFault,+    _DBClusterEndpointNotFoundFault,+    _DBClusterEndpointQuotaExceededFault,+    _DBClusterNotFoundFault,+    _DBClusterParameterGroupNotFoundFault,+    _DBClusterQuotaExceededFault,+    _DBClusterRoleAlreadyExistsFault,+    _DBClusterRoleNotFoundFault,+    _DBClusterRoleQuotaExceededFault,+    _DBClusterSnapshotAlreadyExistsFault,+    _DBClusterSnapshotNotFoundFault,+    _DBInstanceAlreadyExistsFault,+    _DBInstanceNotFoundFault,+    _DBParameterGroupAlreadyExistsFault,+    _DBParameterGroupNotFoundFault,+    _DBParameterGroupQuotaExceededFault,+    _DBSecurityGroupNotFoundFault,+    _DBSnapshotAlreadyExistsFault,+    _DBSnapshotNotFoundFault,+    _DBSubnetGroupAlreadyExistsFault,+    _DBSubnetGroupDoesNotCoverEnoughAZs,+    _DBSubnetGroupNotFoundFault,+    _DBSubnetGroupQuotaExceededFault,+    _DBSubnetQuotaExceededFault,+    _DBUpgradeDependencyFailureFault,+    _DomainNotFoundFault,+    _EventSubscriptionQuotaExceededFault,+    _GlobalClusterAlreadyExistsFault,+    _GlobalClusterNotFoundFault,+    _GlobalClusterQuotaExceededFault,+    _InstanceQuotaExceededFault,+    _InsufficientDBClusterCapacityFault,+    _InsufficientDBInstanceCapacityFault,+    _InsufficientStorageClusterCapacityFault,+    _InvalidDBClusterEndpointStateFault,+    _InvalidDBClusterSnapshotStateFault,+    _InvalidDBClusterStateFault,+    _InvalidDBInstanceStateFault,+    _InvalidDBParameterGroupStateFault,+    _InvalidDBSecurityGroupStateFault,+    _InvalidDBSnapshotStateFault,+    _InvalidDBSubnetGroupStateFault,+    _InvalidDBSubnetStateFault,+    _InvalidEventSubscriptionStateFault,+    _InvalidGlobalClusterStateFault,+    _InvalidRestoreFault,+    _InvalidSubnet,+    _InvalidVPCNetworkStateFault,+    _KMSKeyNotAccessibleFault,+    _OptionGroupNotFoundFault,+    _ProvisionedIopsNotAvailableInAZFault,+    _ResourceNotFoundFault,+    _SNSInvalidTopicFault,+    _SNSNoAuthorizationFault,+    _SNSTopicArnNotFoundFault,+    _SharedSnapshotQuotaExceededFault,+    _SnapshotQuotaExceededFault,+    _SourceNotFoundFault,+    _StorageQuotaExceededFault,+    _StorageTypeNotSupportedFault,+    _SubnetAlreadyInUse,+    _SubscriptionAlreadyExistFault,+    _SubscriptionCategoryNotFoundFault,+    _SubscriptionNotFoundFault,++    -- * ApplyMethod+    ApplyMethod (..),++    -- * SourceType+    SourceType (..),++    -- * AvailabilityZone+    AvailabilityZone (..),+    newAvailabilityZone,+    availabilityZone_name,++    -- * CharacterSet+    CharacterSet (..),+    newCharacterSet,+    characterSet_characterSetDescription,+    characterSet_characterSetName,++    -- * CloudwatchLogsExportConfiguration+    CloudwatchLogsExportConfiguration (..),+    newCloudwatchLogsExportConfiguration,+    cloudwatchLogsExportConfiguration_disableLogTypes,+    cloudwatchLogsExportConfiguration_enableLogTypes,++    -- * DBCluster+    DBCluster (..),+    newDBCluster,+    dbCluster_allocatedStorage,+    dbCluster_associatedRoles,+    dbCluster_automaticRestartTime,+    dbCluster_availabilityZones,+    dbCluster_backupRetentionPeriod,+    dbCluster_characterSetName,+    dbCluster_cloneGroupId,+    dbCluster_clusterCreateTime,+    dbCluster_copyTagsToSnapshot,+    dbCluster_crossAccountClone,+    dbCluster_dbClusterArn,+    dbCluster_dbClusterIdentifier,+    dbCluster_dbClusterMembers,+    dbCluster_dbClusterOptionGroupMemberships,+    dbCluster_dbClusterParameterGroup,+    dbCluster_dbSubnetGroup,+    dbCluster_databaseName,+    dbCluster_dbClusterResourceId,+    dbCluster_deletionProtection,+    dbCluster_earliestRestorableTime,+    dbCluster_enabledCloudwatchLogsExports,+    dbCluster_endpoint,+    dbCluster_engine,+    dbCluster_engineVersion,+    dbCluster_hostedZoneId,+    dbCluster_iAMDatabaseAuthenticationEnabled,+    dbCluster_kmsKeyId,+    dbCluster_latestRestorableTime,+    dbCluster_masterUsername,+    dbCluster_multiAZ,+    dbCluster_percentProgress,+    dbCluster_port,+    dbCluster_preferredBackupWindow,+    dbCluster_preferredMaintenanceWindow,+    dbCluster_readReplicaIdentifiers,+    dbCluster_readerEndpoint,+    dbCluster_replicationSourceIdentifier,+    dbCluster_serverlessV2ScalingConfiguration,+    dbCluster_status,+    dbCluster_storageEncrypted,+    dbCluster_vpcSecurityGroups,++    -- * DBClusterEndpoint+    DBClusterEndpoint (..),+    newDBClusterEndpoint,+    dbClusterEndpoint_customEndpointType,+    dbClusterEndpoint_dbClusterEndpointArn,+    dbClusterEndpoint_dbClusterEndpointIdentifier,+    dbClusterEndpoint_dbClusterEndpointResourceIdentifier,+    dbClusterEndpoint_dbClusterIdentifier,+    dbClusterEndpoint_endpoint,+    dbClusterEndpoint_endpointType,+    dbClusterEndpoint_excludedMembers,+    dbClusterEndpoint_staticMembers,+    dbClusterEndpoint_status,++    -- * DBClusterMember+    DBClusterMember (..),+    newDBClusterMember,+    dbClusterMember_dbClusterParameterGroupStatus,+    dbClusterMember_dbInstanceIdentifier,+    dbClusterMember_isClusterWriter,+    dbClusterMember_promotionTier,++    -- * DBClusterOptionGroupStatus+    DBClusterOptionGroupStatus (..),+    newDBClusterOptionGroupStatus,+    dbClusterOptionGroupStatus_dbClusterOptionGroupName,+    dbClusterOptionGroupStatus_status,++    -- * DBClusterParameterGroup+    DBClusterParameterGroup (..),+    newDBClusterParameterGroup,+    dbClusterParameterGroup_dbClusterParameterGroupArn,+    dbClusterParameterGroup_dbClusterParameterGroupName,+    dbClusterParameterGroup_dbParameterGroupFamily,+    dbClusterParameterGroup_description,++    -- * DBClusterParameterGroupNameMessage+    DBClusterParameterGroupNameMessage (..),+    newDBClusterParameterGroupNameMessage,+    dbClusterParameterGroupNameMessage_dbClusterParameterGroupName,++    -- * DBClusterRole+    DBClusterRole (..),+    newDBClusterRole,+    dbClusterRole_featureName,+    dbClusterRole_roleArn,+    dbClusterRole_status,++    -- * DBClusterSnapshot+    DBClusterSnapshot (..),+    newDBClusterSnapshot,+    dbClusterSnapshot_allocatedStorage,+    dbClusterSnapshot_availabilityZones,+    dbClusterSnapshot_clusterCreateTime,+    dbClusterSnapshot_dbClusterIdentifier,+    dbClusterSnapshot_dbClusterSnapshotArn,+    dbClusterSnapshot_dbClusterSnapshotIdentifier,+    dbClusterSnapshot_engine,+    dbClusterSnapshot_engineVersion,+    dbClusterSnapshot_iAMDatabaseAuthenticationEnabled,+    dbClusterSnapshot_kmsKeyId,+    dbClusterSnapshot_licenseModel,+    dbClusterSnapshot_masterUsername,+    dbClusterSnapshot_percentProgress,+    dbClusterSnapshot_port,+    dbClusterSnapshot_snapshotCreateTime,+    dbClusterSnapshot_snapshotType,+    dbClusterSnapshot_sourceDBClusterSnapshotArn,+    dbClusterSnapshot_status,+    dbClusterSnapshot_storageEncrypted,+    dbClusterSnapshot_vpcId,++    -- * DBClusterSnapshotAttribute+    DBClusterSnapshotAttribute (..),+    newDBClusterSnapshotAttribute,+    dbClusterSnapshotAttribute_attributeName,+    dbClusterSnapshotAttribute_attributeValues,++    -- * DBClusterSnapshotAttributesResult+    DBClusterSnapshotAttributesResult (..),+    newDBClusterSnapshotAttributesResult,+    dbClusterSnapshotAttributesResult_dbClusterSnapshotAttributes,+    dbClusterSnapshotAttributesResult_dbClusterSnapshotIdentifier,++    -- * DBEngineVersion+    DBEngineVersion (..),+    newDBEngineVersion,+    dbEngineVersion_dbEngineDescription,+    dbEngineVersion_dbEngineVersionDescription,+    dbEngineVersion_dbParameterGroupFamily,+    dbEngineVersion_defaultCharacterSet,+    dbEngineVersion_engine,+    dbEngineVersion_engineVersion,+    dbEngineVersion_exportableLogTypes,+    dbEngineVersion_supportedCharacterSets,+    dbEngineVersion_supportedTimezones,+    dbEngineVersion_supportsGlobalDatabases,+    dbEngineVersion_supportsLogExportsToCloudwatchLogs,+    dbEngineVersion_supportsReadReplica,+    dbEngineVersion_validUpgradeTarget,++    -- * DBInstance+    DBInstance (..),+    newDBInstance,+    dbInstance_allocatedStorage,+    dbInstance_autoMinorVersionUpgrade,+    dbInstance_availabilityZone,+    dbInstance_backupRetentionPeriod,+    dbInstance_cACertificateIdentifier,+    dbInstance_characterSetName,+    dbInstance_copyTagsToSnapshot,+    dbInstance_dbClusterIdentifier,+    dbInstance_dbInstanceArn,+    dbInstance_dbInstanceClass,+    dbInstance_dbInstanceIdentifier,+    dbInstance_dbInstanceStatus,+    dbInstance_dbName,+    dbInstance_dbParameterGroups,+    dbInstance_dbSecurityGroups,+    dbInstance_dbSubnetGroup,+    dbInstance_dbInstancePort,+    dbInstance_dbiResourceId,+    dbInstance_deletionProtection,+    dbInstance_domainMemberships,+    dbInstance_enabledCloudwatchLogsExports,+    dbInstance_endpoint,+    dbInstance_engine,+    dbInstance_engineVersion,+    dbInstance_enhancedMonitoringResourceArn,+    dbInstance_iAMDatabaseAuthenticationEnabled,+    dbInstance_instanceCreateTime,+    dbInstance_iops,+    dbInstance_kmsKeyId,+    dbInstance_latestRestorableTime,+    dbInstance_licenseModel,+    dbInstance_masterUsername,+    dbInstance_monitoringInterval,+    dbInstance_monitoringRoleArn,+    dbInstance_multiAZ,+    dbInstance_optionGroupMemberships,+    dbInstance_pendingModifiedValues,+    dbInstance_performanceInsightsEnabled,+    dbInstance_performanceInsightsKMSKeyId,+    dbInstance_preferredBackupWindow,+    dbInstance_preferredMaintenanceWindow,+    dbInstance_promotionTier,+    dbInstance_publiclyAccessible,+    dbInstance_readReplicaDBClusterIdentifiers,+    dbInstance_readReplicaDBInstanceIdentifiers,+    dbInstance_readReplicaSourceDBInstanceIdentifier,+    dbInstance_secondaryAvailabilityZone,+    dbInstance_statusInfos,+    dbInstance_storageEncrypted,+    dbInstance_storageType,+    dbInstance_tdeCredentialArn,+    dbInstance_timezone,+    dbInstance_vpcSecurityGroups,++    -- * DBInstanceStatusInfo+    DBInstanceStatusInfo (..),+    newDBInstanceStatusInfo,+    dbInstanceStatusInfo_message,+    dbInstanceStatusInfo_normal,+    dbInstanceStatusInfo_status,+    dbInstanceStatusInfo_statusType,++    -- * DBParameterGroup+    DBParameterGroup (..),+    newDBParameterGroup,+    dbParameterGroup_dbParameterGroupArn,+    dbParameterGroup_dbParameterGroupFamily,+    dbParameterGroup_dbParameterGroupName,+    dbParameterGroup_description,++    -- * DBParameterGroupNameMessage+    DBParameterGroupNameMessage (..),+    newDBParameterGroupNameMessage,+    dbParameterGroupNameMessage_dbParameterGroupName,++    -- * DBParameterGroupStatus+    DBParameterGroupStatus (..),+    newDBParameterGroupStatus,+    dbParameterGroupStatus_dbParameterGroupName,+    dbParameterGroupStatus_parameterApplyStatus,++    -- * DBSecurityGroupMembership+    DBSecurityGroupMembership (..),+    newDBSecurityGroupMembership,+    dbSecurityGroupMembership_dbSecurityGroupName,+    dbSecurityGroupMembership_status,++    -- * DBSubnetGroup+    DBSubnetGroup (..),+    newDBSubnetGroup,+    dbSubnetGroup_dbSubnetGroupArn,+    dbSubnetGroup_dbSubnetGroupDescription,+    dbSubnetGroup_dbSubnetGroupName,+    dbSubnetGroup_subnetGroupStatus,+    dbSubnetGroup_subnets,+    dbSubnetGroup_vpcId,++    -- * DomainMembership+    DomainMembership (..),+    newDomainMembership,+    domainMembership_domain,+    domainMembership_fqdn,+    domainMembership_iAMRoleName,+    domainMembership_status,++    -- * DoubleRange+    DoubleRange (..),+    newDoubleRange,+    doubleRange_from,+    doubleRange_to,++    -- * Endpoint+    Endpoint (..),+    newEndpoint,+    endpoint_address,+    endpoint_hostedZoneId,+    endpoint_port,++    -- * EngineDefaults+    EngineDefaults (..),+    newEngineDefaults,+    engineDefaults_dbParameterGroupFamily,+    engineDefaults_marker,+    engineDefaults_parameters,++    -- * Event+    Event (..),+    newEvent,+    event_date,+    event_eventCategories,+    event_message,+    event_sourceArn,+    event_sourceIdentifier,+    event_sourceType,++    -- * EventCategoriesMap+    EventCategoriesMap (..),+    newEventCategoriesMap,+    eventCategoriesMap_eventCategories,+    eventCategoriesMap_sourceType,++    -- * EventSubscription+    EventSubscription (..),+    newEventSubscription,+    eventSubscription_custSubscriptionId,+    eventSubscription_customerAwsId,+    eventSubscription_enabled,+    eventSubscription_eventCategoriesList,+    eventSubscription_eventSubscriptionArn,+    eventSubscription_snsTopicArn,+    eventSubscription_sourceIdsList,+    eventSubscription_sourceType,+    eventSubscription_status,+    eventSubscription_subscriptionCreationTime,++    -- * Filter+    Filter (..),+    newFilter,+    filter_name,+    filter_values,++    -- * GlobalCluster+    GlobalCluster (..),+    newGlobalCluster,+    globalCluster_deletionProtection,+    globalCluster_engine,+    globalCluster_engineVersion,+    globalCluster_globalClusterArn,+    globalCluster_globalClusterIdentifier,+    globalCluster_globalClusterMembers,+    globalCluster_globalClusterResourceId,+    globalCluster_status,+    globalCluster_storageEncrypted,++    -- * GlobalClusterMember+    GlobalClusterMember (..),+    newGlobalClusterMember,+    globalClusterMember_dbClusterArn,+    globalClusterMember_isWriter,+    globalClusterMember_readers,++    -- * OptionGroupMembership+    OptionGroupMembership (..),+    newOptionGroupMembership,+    optionGroupMembership_optionGroupName,+    optionGroupMembership_status,++    -- * OrderableDBInstanceOption+    OrderableDBInstanceOption (..),+    newOrderableDBInstanceOption,+    orderableDBInstanceOption_availabilityZones,+    orderableDBInstanceOption_dbInstanceClass,+    orderableDBInstanceOption_engine,+    orderableDBInstanceOption_engineVersion,+    orderableDBInstanceOption_licenseModel,+    orderableDBInstanceOption_maxIopsPerDbInstance,+    orderableDBInstanceOption_maxIopsPerGib,+    orderableDBInstanceOption_maxStorageSize,+    orderableDBInstanceOption_minIopsPerDbInstance,+    orderableDBInstanceOption_minIopsPerGib,+    orderableDBInstanceOption_minStorageSize,+    orderableDBInstanceOption_multiAZCapable,+    orderableDBInstanceOption_readReplicaCapable,+    orderableDBInstanceOption_storageType,+    orderableDBInstanceOption_supportsEnhancedMonitoring,+    orderableDBInstanceOption_supportsGlobalDatabases,+    orderableDBInstanceOption_supportsIAMDatabaseAuthentication,+    orderableDBInstanceOption_supportsIops,+    orderableDBInstanceOption_supportsPerformanceInsights,+    orderableDBInstanceOption_supportsStorageEncryption,+    orderableDBInstanceOption_vpc,++    -- * Parameter+    Parameter (..),+    newParameter,+    parameter_allowedValues,+    parameter_applyMethod,+    parameter_applyType,+    parameter_dataType,+    parameter_description,+    parameter_isModifiable,+    parameter_minimumEngineVersion,+    parameter_parameterName,+    parameter_parameterValue,+    parameter_source,++    -- * PendingCloudwatchLogsExports+    PendingCloudwatchLogsExports (..),+    newPendingCloudwatchLogsExports,+    pendingCloudwatchLogsExports_logTypesToDisable,+    pendingCloudwatchLogsExports_logTypesToEnable,++    -- * PendingMaintenanceAction+    PendingMaintenanceAction (..),+    newPendingMaintenanceAction,+    pendingMaintenanceAction_action,+    pendingMaintenanceAction_autoAppliedAfterDate,+    pendingMaintenanceAction_currentApplyDate,+    pendingMaintenanceAction_description,+    pendingMaintenanceAction_forcedApplyDate,+    pendingMaintenanceAction_optInStatus,++    -- * PendingModifiedValues+    PendingModifiedValues (..),+    newPendingModifiedValues,+    pendingModifiedValues_allocatedStorage,+    pendingModifiedValues_backupRetentionPeriod,+    pendingModifiedValues_cACertificateIdentifier,+    pendingModifiedValues_dbInstanceClass,+    pendingModifiedValues_dbInstanceIdentifier,+    pendingModifiedValues_dbSubnetGroupName,+    pendingModifiedValues_engineVersion,+    pendingModifiedValues_iops,+    pendingModifiedValues_licenseModel,+    pendingModifiedValues_masterUserPassword,+    pendingModifiedValues_multiAZ,+    pendingModifiedValues_pendingCloudwatchLogsExports,+    pendingModifiedValues_port,+    pendingModifiedValues_storageType,++    -- * Range+    Range (..),+    newRange,+    range_from,+    range_step,+    range_to,++    -- * ResourcePendingMaintenanceActions+    ResourcePendingMaintenanceActions (..),+    newResourcePendingMaintenanceActions,+    resourcePendingMaintenanceActions_pendingMaintenanceActionDetails,+    resourcePendingMaintenanceActions_resourceIdentifier,++    -- * ServerlessV2ScalingConfiguration+    ServerlessV2ScalingConfiguration (..),+    newServerlessV2ScalingConfiguration,+    serverlessV2ScalingConfiguration_maxCapacity,+    serverlessV2ScalingConfiguration_minCapacity,++    -- * ServerlessV2ScalingConfigurationInfo+    ServerlessV2ScalingConfigurationInfo (..),+    newServerlessV2ScalingConfigurationInfo,+    serverlessV2ScalingConfigurationInfo_maxCapacity,+    serverlessV2ScalingConfigurationInfo_minCapacity,++    -- * Subnet+    Subnet (..),+    newSubnet,+    subnet_subnetAvailabilityZone,+    subnet_subnetIdentifier,+    subnet_subnetStatus,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * Timezone+    Timezone (..),+    newTimezone,+    timezone_timezoneName,++    -- * UpgradeTarget+    UpgradeTarget (..),+    newUpgradeTarget,+    upgradeTarget_autoUpgrade,+    upgradeTarget_description,+    upgradeTarget_engine,+    upgradeTarget_engineVersion,+    upgradeTarget_isMajorVersionUpgrade,+    upgradeTarget_supportsGlobalDatabases,++    -- * ValidDBInstanceModificationsMessage+    ValidDBInstanceModificationsMessage (..),+    newValidDBInstanceModificationsMessage,+    validDBInstanceModificationsMessage_storage,++    -- * ValidStorageOptions+    ValidStorageOptions (..),+    newValidStorageOptions,+    validStorageOptions_iopsToStorageRatio,+    validStorageOptions_provisionedIops,+    validStorageOptions_storageSize,+    validStorageOptions_storageType,++    -- * VpcSecurityGroupMembership+    VpcSecurityGroupMembership (..),+    newVpcSecurityGroupMembership,+    vpcSecurityGroupMembership_status,+    vpcSecurityGroupMembership_vpcSecurityGroupId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Neptune.Types.ApplyMethod+import Amazonka.Neptune.Types.AvailabilityZone+import Amazonka.Neptune.Types.CharacterSet+import Amazonka.Neptune.Types.CloudwatchLogsExportConfiguration+import Amazonka.Neptune.Types.DBCluster+import Amazonka.Neptune.Types.DBClusterEndpoint+import Amazonka.Neptune.Types.DBClusterMember+import Amazonka.Neptune.Types.DBClusterOptionGroupStatus+import Amazonka.Neptune.Types.DBClusterParameterGroup+import Amazonka.Neptune.Types.DBClusterParameterGroupNameMessage+import Amazonka.Neptune.Types.DBClusterRole+import Amazonka.Neptune.Types.DBClusterSnapshot+import Amazonka.Neptune.Types.DBClusterSnapshotAttribute+import Amazonka.Neptune.Types.DBClusterSnapshotAttributesResult+import Amazonka.Neptune.Types.DBEngineVersion+import Amazonka.Neptune.Types.DBInstance+import Amazonka.Neptune.Types.DBInstanceStatusInfo+import Amazonka.Neptune.Types.DBParameterGroup+import Amazonka.Neptune.Types.DBParameterGroupNameMessage+import Amazonka.Neptune.Types.DBParameterGroupStatus+import Amazonka.Neptune.Types.DBSecurityGroupMembership+import Amazonka.Neptune.Types.DBSubnetGroup+import Amazonka.Neptune.Types.DomainMembership+import Amazonka.Neptune.Types.DoubleRange+import Amazonka.Neptune.Types.Endpoint+import Amazonka.Neptune.Types.EngineDefaults+import Amazonka.Neptune.Types.Event+import Amazonka.Neptune.Types.EventCategoriesMap+import Amazonka.Neptune.Types.EventSubscription+import Amazonka.Neptune.Types.Filter+import Amazonka.Neptune.Types.GlobalCluster+import Amazonka.Neptune.Types.GlobalClusterMember+import Amazonka.Neptune.Types.OptionGroupMembership+import Amazonka.Neptune.Types.OrderableDBInstanceOption+import Amazonka.Neptune.Types.Parameter+import Amazonka.Neptune.Types.PendingCloudwatchLogsExports+import Amazonka.Neptune.Types.PendingMaintenanceAction+import Amazonka.Neptune.Types.PendingModifiedValues+import Amazonka.Neptune.Types.Range+import Amazonka.Neptune.Types.ResourcePendingMaintenanceActions+import Amazonka.Neptune.Types.ServerlessV2ScalingConfiguration+import Amazonka.Neptune.Types.ServerlessV2ScalingConfigurationInfo+import Amazonka.Neptune.Types.SourceType+import Amazonka.Neptune.Types.Subnet+import Amazonka.Neptune.Types.Tag+import Amazonka.Neptune.Types.Timezone+import Amazonka.Neptune.Types.UpgradeTarget+import Amazonka.Neptune.Types.ValidDBInstanceModificationsMessage+import Amazonka.Neptune.Types.ValidStorageOptions+import Amazonka.Neptune.Types.VpcSecurityGroupMembership+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2014-10-31@ of the Amazon Neptune SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Neptune",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "rds",+      Core.signingName = "rds",+      Core.version = "2014-10-31",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseXMLError "Neptune",+      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++-- | Specified CIDRIP or EC2 security group is not authorized for the+-- specified DB security group.+--+-- Neptune may not also be authorized via IAM to perform necessary actions+-- on your behalf.+_AuthorizationNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AuthorizationNotFoundFault =+  Core._MatchServiceError+    defaultService+    "AuthorizationNotFound"+    Prelude.. Core.hasStatus 404++-- | /CertificateIdentifier/ does not refer to an existing certificate.+_CertificateNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_CertificateNotFoundFault =+  Core._MatchServiceError+    defaultService+    "CertificateNotFound"+    Prelude.. Core.hasStatus 404++-- | User already has a DB cluster with the given identifier.+_DBClusterAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBClusterAlreadyExistsFault"+    Prelude.. Core.hasStatus 400++-- | The specified custom endpoint cannot be created because it already+-- exists.+_DBClusterEndpointAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterEndpointAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBClusterEndpointAlreadyExistsFault"+    Prelude.. Core.hasStatus 400++-- | The specified custom endpoint doesn\'t exist.+_DBClusterEndpointNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterEndpointNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBClusterEndpointNotFoundFault"+    Prelude.. Core.hasStatus 400++-- | The cluster already has the maximum number of custom endpoints.+_DBClusterEndpointQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterEndpointQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBClusterEndpointQuotaExceededFault"+    Prelude.. Core.hasStatus 403++-- | /DBClusterIdentifier/ does not refer to an existing DB cluster.+_DBClusterNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBClusterNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | /DBClusterParameterGroupName/ does not refer to an existing DB Cluster+-- parameter group.+_DBClusterParameterGroupNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterParameterGroupNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBClusterParameterGroupNotFound"+    Prelude.. Core.hasStatus 404++-- | User attempted to create a new DB cluster and the user has already+-- reached the maximum allowed DB cluster quota.+_DBClusterQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBClusterQuotaExceededFault"+    Prelude.. Core.hasStatus 403++-- | The specified IAM role Amazon Resource Name (ARN) is already associated+-- with the specified DB cluster.+_DBClusterRoleAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterRoleAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBClusterRoleAlreadyExists"+    Prelude.. Core.hasStatus 400++-- | The specified IAM role Amazon Resource Name (ARN) is not associated with+-- the specified DB cluster.+_DBClusterRoleNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterRoleNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBClusterRoleNotFound"+    Prelude.. Core.hasStatus 404++-- | You have exceeded the maximum number of IAM roles that can be associated+-- with the specified DB cluster.+_DBClusterRoleQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterRoleQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBClusterRoleQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | User already has a DB cluster snapshot with the given identifier.+_DBClusterSnapshotAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterSnapshotAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBClusterSnapshotAlreadyExistsFault"+    Prelude.. Core.hasStatus 400++-- | /DBClusterSnapshotIdentifier/ does not refer to an existing DB cluster+-- snapshot.+_DBClusterSnapshotNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBClusterSnapshotNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBClusterSnapshotNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | User already has a DB instance with the given identifier.+_DBInstanceAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBInstanceAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBInstanceAlreadyExists"+    Prelude.. Core.hasStatus 400++-- | /DBInstanceIdentifier/ does not refer to an existing DB instance.+_DBInstanceNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBInstanceNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBInstanceNotFound"+    Prelude.. Core.hasStatus 404++-- | A DB parameter group with the same name exists.+_DBParameterGroupAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBParameterGroupAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBParameterGroupAlreadyExists"+    Prelude.. Core.hasStatus 400++-- | /DBParameterGroupName/ does not refer to an existing DB parameter group.+_DBParameterGroupNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBParameterGroupNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBParameterGroupNotFound"+    Prelude.. Core.hasStatus 404++-- | Request would result in user exceeding the allowed number of DB+-- parameter groups.+_DBParameterGroupQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBParameterGroupQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBParameterGroupQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | /DBSecurityGroupName/ does not refer to an existing DB security group.+_DBSecurityGroupNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSecurityGroupNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBSecurityGroupNotFound"+    Prelude.. Core.hasStatus 404++-- | /DBSnapshotIdentifier/ is already used by an existing snapshot.+_DBSnapshotAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSnapshotAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBSnapshotAlreadyExists"+    Prelude.. Core.hasStatus 400++-- | /DBSnapshotIdentifier/ does not refer to an existing DB snapshot.+_DBSnapshotNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSnapshotNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBSnapshotNotFound"+    Prelude.. Core.hasStatus 404++-- | /DBSubnetGroupName/ is already used by an existing DB subnet group.+_DBSubnetGroupAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSubnetGroupAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "DBSubnetGroupAlreadyExists"+    Prelude.. Core.hasStatus 400++-- | Subnets in the DB subnet group should cover at least two Availability+-- Zones unless there is only one Availability Zone.+_DBSubnetGroupDoesNotCoverEnoughAZs :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSubnetGroupDoesNotCoverEnoughAZs =+  Core._MatchServiceError+    defaultService+    "DBSubnetGroupDoesNotCoverEnoughAZs"+    Prelude.. Core.hasStatus 400++-- | /DBSubnetGroupName/ does not refer to an existing DB subnet group.+_DBSubnetGroupNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSubnetGroupNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DBSubnetGroupNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | Request would result in user exceeding the allowed number of DB subnet+-- groups.+_DBSubnetGroupQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSubnetGroupQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBSubnetGroupQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | Request would result in user exceeding the allowed number of subnets in+-- a DB subnet groups.+_DBSubnetQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBSubnetQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "DBSubnetQuotaExceededFault"+    Prelude.. Core.hasStatus 400++-- | The DB upgrade failed because a resource the DB depends on could not be+-- modified.+_DBUpgradeDependencyFailureFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DBUpgradeDependencyFailureFault =+  Core._MatchServiceError+    defaultService+    "DBUpgradeDependencyFailure"+    Prelude.. Core.hasStatus 400++-- | /Domain/ does not refer to an existing Active Directory Domain.+_DomainNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DomainNotFoundFault =+  Core._MatchServiceError+    defaultService+    "DomainNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | You have exceeded the number of events you can subscribe to.+_EventSubscriptionQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_EventSubscriptionQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "EventSubscriptionQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | The @GlobalClusterIdentifier@ already exists. Choose a new global+-- database identifier (unique name) to create a new global database+-- cluster.+_GlobalClusterAlreadyExistsFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_GlobalClusterAlreadyExistsFault =+  Core._MatchServiceError+    defaultService+    "GlobalClusterAlreadyExistsFault"+    Prelude.. Core.hasStatus 400++-- | The @GlobalClusterIdentifier@ doesn\'t refer to an existing global+-- database cluster.+_GlobalClusterNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_GlobalClusterNotFoundFault =+  Core._MatchServiceError+    defaultService+    "GlobalClusterNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | The number of global database clusters for this account is already at+-- the maximum allowed.+_GlobalClusterQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_GlobalClusterQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "GlobalClusterQuotaExceededFault"+    Prelude.. Core.hasStatus 400++-- | Request would result in user exceeding the allowed number of DB+-- instances.+_InstanceQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InstanceQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "InstanceQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | The DB cluster does not have enough capacity for the current operation.+_InsufficientDBClusterCapacityFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InsufficientDBClusterCapacityFault =+  Core._MatchServiceError+    defaultService+    "InsufficientDBClusterCapacityFault"+    Prelude.. Core.hasStatus 403++-- | Specified DB instance class is not available in the specified+-- Availability Zone.+_InsufficientDBInstanceCapacityFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InsufficientDBInstanceCapacityFault =+  Core._MatchServiceError+    defaultService+    "InsufficientDBInstanceCapacity"+    Prelude.. Core.hasStatus 400++-- | There is insufficient storage available for the current action. You may+-- be able to resolve this error by updating your subnet group to use+-- different Availability Zones that have more storage available.+_InsufficientStorageClusterCapacityFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InsufficientStorageClusterCapacityFault =+  Core._MatchServiceError+    defaultService+    "InsufficientStorageClusterCapacity"+    Prelude.. Core.hasStatus 400++-- | The requested operation cannot be performed on the endpoint while the+-- endpoint is in this state.+_InvalidDBClusterEndpointStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBClusterEndpointStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBClusterEndpointStateFault"+    Prelude.. Core.hasStatus 400++-- | The supplied value is not a valid DB cluster snapshot state.+_InvalidDBClusterSnapshotStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBClusterSnapshotStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBClusterSnapshotStateFault"+    Prelude.. Core.hasStatus 400++-- | The DB cluster is not in a valid state.+_InvalidDBClusterStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBClusterStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBClusterStateFault"+    Prelude.. Core.hasStatus 400++-- | The specified DB instance is not in the /available/ state.+_InvalidDBInstanceStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBInstanceStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBInstanceState"+    Prelude.. Core.hasStatus 400++-- | The DB parameter group is in use or is in an invalid state. If you are+-- attempting to delete the parameter group, you cannot delete it when the+-- parameter group is in this state.+_InvalidDBParameterGroupStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBParameterGroupStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBParameterGroupState"+    Prelude.. Core.hasStatus 400++-- | The state of the DB security group does not allow deletion.+_InvalidDBSecurityGroupStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBSecurityGroupStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBSecurityGroupState"+    Prelude.. Core.hasStatus 400++-- | The state of the DB snapshot does not allow deletion.+_InvalidDBSnapshotStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBSnapshotStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBSnapshotState"+    Prelude.. Core.hasStatus 400++-- | The DB subnet group cannot be deleted because it is in use.+_InvalidDBSubnetGroupStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBSubnetGroupStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBSubnetGroupStateFault"+    Prelude.. Core.hasStatus 400++-- | The DB subnet is not in the /available/ state.+_InvalidDBSubnetStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDBSubnetStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidDBSubnetStateFault"+    Prelude.. Core.hasStatus 400++-- | The event subscription is in an invalid state.+_InvalidEventSubscriptionStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidEventSubscriptionStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidEventSubscriptionState"+    Prelude.. Core.hasStatus 400++-- | The global cluster is in an invalid state and can\'t perform the+-- requested operation.+_InvalidGlobalClusterStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidGlobalClusterStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidGlobalClusterStateFault"+    Prelude.. Core.hasStatus 400++-- | Cannot restore from vpc backup to non-vpc DB instance.+_InvalidRestoreFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRestoreFault =+  Core._MatchServiceError+    defaultService+    "InvalidRestoreFault"+    Prelude.. Core.hasStatus 400++-- | The requested subnet is invalid, or multiple subnets were requested that+-- are not all in a common VPC.+_InvalidSubnet :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidSubnet =+  Core._MatchServiceError+    defaultService+    "InvalidSubnet"+    Prelude.. Core.hasStatus 400++-- | DB subnet group does not cover all Availability Zones after it is+-- created because users\' change.+_InvalidVPCNetworkStateFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidVPCNetworkStateFault =+  Core._MatchServiceError+    defaultService+    "InvalidVPCNetworkStateFault"+    Prelude.. Core.hasStatus 400++-- | Error accessing KMS key.+_KMSKeyNotAccessibleFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_KMSKeyNotAccessibleFault =+  Core._MatchServiceError+    defaultService+    "KMSKeyNotAccessibleFault"+    Prelude.. Core.hasStatus 400++-- | The designated option group could not be found.+_OptionGroupNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_OptionGroupNotFoundFault =+  Core._MatchServiceError+    defaultService+    "OptionGroupNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | Provisioned IOPS not available in the specified Availability Zone.+_ProvisionedIopsNotAvailableInAZFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ProvisionedIopsNotAvailableInAZFault =+  Core._MatchServiceError+    defaultService+    "ProvisionedIopsNotAvailableInAZFault"+    Prelude.. Core.hasStatus 400++-- | The specified resource ID was not found.+_ResourceNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundFault =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundFault"+    Prelude.. Core.hasStatus 404++-- | The SNS topic is invalid.+_SNSInvalidTopicFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SNSInvalidTopicFault =+  Core._MatchServiceError+    defaultService+    "SNSInvalidTopic"+    Prelude.. Core.hasStatus 400++-- | There is no SNS authorization.+_SNSNoAuthorizationFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SNSNoAuthorizationFault =+  Core._MatchServiceError+    defaultService+    "SNSNoAuthorization"+    Prelude.. Core.hasStatus 400++-- | The ARN of the SNS topic could not be found.+_SNSTopicArnNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SNSTopicArnNotFoundFault =+  Core._MatchServiceError+    defaultService+    "SNSTopicArnNotFound"+    Prelude.. Core.hasStatus 404++-- | You have exceeded the maximum number of accounts that you can share a+-- manual DB snapshot with.+_SharedSnapshotQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SharedSnapshotQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "SharedSnapshotQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | Request would result in user exceeding the allowed number of DB+-- snapshots.+_SnapshotQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SnapshotQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "SnapshotQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | The source could not be found.+_SourceNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SourceNotFoundFault =+  Core._MatchServiceError+    defaultService+    "SourceNotFound"+    Prelude.. Core.hasStatus 404++-- | Request would result in user exceeding the allowed amount of storage+-- available across all DB instances.+_StorageQuotaExceededFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_StorageQuotaExceededFault =+  Core._MatchServiceError+    defaultService+    "StorageQuotaExceeded"+    Prelude.. Core.hasStatus 400++-- | /StorageType/ specified cannot be associated with the DB Instance.+_StorageTypeNotSupportedFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_StorageTypeNotSupportedFault =+  Core._MatchServiceError+    defaultService+    "StorageTypeNotSupported"+    Prelude.. Core.hasStatus 400++-- | The DB subnet is already in use in the Availability Zone.+_SubnetAlreadyInUse :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SubnetAlreadyInUse =+  Core._MatchServiceError+    defaultService+    "SubnetAlreadyInUse"+    Prelude.. Core.hasStatus 400++-- | This subscription already exists.+_SubscriptionAlreadyExistFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SubscriptionAlreadyExistFault =+  Core._MatchServiceError+    defaultService+    "SubscriptionAlreadyExist"+    Prelude.. Core.hasStatus 400++-- | The designated subscription category could not be found.+_SubscriptionCategoryNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SubscriptionCategoryNotFoundFault =+  Core._MatchServiceError+    defaultService+    "SubscriptionCategoryNotFound"+    Prelude.. Core.hasStatus 404++-- | The designated subscription could not be found.+_SubscriptionNotFoundFault :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SubscriptionNotFoundFault =+  Core._MatchServiceError+    defaultService+    "SubscriptionNotFound"+    Prelude.. Core.hasStatus 404
+ gen/Amazonka/Neptune/Types/ApplyMethod.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.Neptune.Types.ApplyMethod+-- 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.Neptune.Types.ApplyMethod+  ( ApplyMethod+      ( ..,+        ApplyMethod_Immediate,+        ApplyMethod_Pending_reboot+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplyMethod = ApplyMethod'+  { fromApplyMethod ::+      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 ApplyMethod_Immediate :: ApplyMethod+pattern ApplyMethod_Immediate = ApplyMethod' "immediate"++pattern ApplyMethod_Pending_reboot :: ApplyMethod+pattern ApplyMethod_Pending_reboot = ApplyMethod' "pending-reboot"++{-# COMPLETE+  ApplyMethod_Immediate,+  ApplyMethod_Pending_reboot,+  ApplyMethod'+  #-}
+ gen/Amazonka/Neptune/Types/AvailabilityZone.hs view
@@ -0,0 +1,63 @@+{-# 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.Neptune.Types.AvailabilityZone+-- 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.Neptune.Types.AvailabilityZone 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++-- | Specifies an Availability Zone.+--+-- /See:/ 'newAvailabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+  { -- | The name of the availability zone.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvailabilityZone' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'availabilityZone_name' - The name of the availability zone.+newAvailabilityZone ::+  AvailabilityZone+newAvailabilityZone =+  AvailabilityZone' {name = Prelude.Nothing}++-- | The name of the availability zone.+availabilityZone_name :: Lens.Lens' AvailabilityZone (Prelude.Maybe Prelude.Text)+availabilityZone_name = Lens.lens (\AvailabilityZone' {name} -> name) (\s@AvailabilityZone' {} a -> s {name = a} :: AvailabilityZone)++instance Data.FromXML AvailabilityZone where+  parseXML x =+    AvailabilityZone' Prelude.<$> (x Data..@? "Name")++instance Prelude.Hashable AvailabilityZone where+  hashWithSalt _salt AvailabilityZone' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData AvailabilityZone where+  rnf AvailabilityZone' {..} = Prelude.rnf name
+ gen/Amazonka/Neptune/Types/CharacterSet.hs view
@@ -0,0 +1,81 @@+{-# 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.Neptune.Types.CharacterSet+-- 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.Neptune.Types.CharacterSet 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++-- | Specifies a character set.+--+-- /See:/ 'newCharacterSet' smart constructor.+data CharacterSet = CharacterSet'+  { -- | The description of the character set.+    characterSetDescription :: Prelude.Maybe Prelude.Text,+    -- | The name of the character set.+    characterSetName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CharacterSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'characterSetDescription', 'characterSet_characterSetDescription' - The description of the character set.+--+-- 'characterSetName', 'characterSet_characterSetName' - The name of the character set.+newCharacterSet ::+  CharacterSet+newCharacterSet =+  CharacterSet'+    { characterSetDescription =+        Prelude.Nothing,+      characterSetName = Prelude.Nothing+    }++-- | The description of the character set.+characterSet_characterSetDescription :: Lens.Lens' CharacterSet (Prelude.Maybe Prelude.Text)+characterSet_characterSetDescription = Lens.lens (\CharacterSet' {characterSetDescription} -> characterSetDescription) (\s@CharacterSet' {} a -> s {characterSetDescription = a} :: CharacterSet)++-- | The name of the character set.+characterSet_characterSetName :: Lens.Lens' CharacterSet (Prelude.Maybe Prelude.Text)+characterSet_characterSetName = Lens.lens (\CharacterSet' {characterSetName} -> characterSetName) (\s@CharacterSet' {} a -> s {characterSetName = a} :: CharacterSet)++instance Data.FromXML CharacterSet where+  parseXML x =+    CharacterSet'+      Prelude.<$> (x Data..@? "CharacterSetDescription")+      Prelude.<*> (x Data..@? "CharacterSetName")++instance Prelude.Hashable CharacterSet where+  hashWithSalt _salt CharacterSet' {..} =+    _salt+      `Prelude.hashWithSalt` characterSetDescription+      `Prelude.hashWithSalt` characterSetName++instance Prelude.NFData CharacterSet where+  rnf CharacterSet' {..} =+    Prelude.rnf characterSetDescription+      `Prelude.seq` Prelude.rnf characterSetName
+ gen/Amazonka/Neptune/Types/CloudwatchLogsExportConfiguration.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.CloudwatchLogsExportConfiguration+-- 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.Neptune.Types.CloudwatchLogsExportConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration setting for the log types to be enabled for export to+-- CloudWatch Logs for a specific DB instance or DB cluster.+--+-- The @EnableLogTypes@ and @DisableLogTypes@ arrays determine which logs+-- will be exported (or not exported) to CloudWatch Logs.+--+-- /See:/ 'newCloudwatchLogsExportConfiguration' smart constructor.+data CloudwatchLogsExportConfiguration = CloudwatchLogsExportConfiguration'+  { -- | The list of log types to disable.+    disableLogTypes :: Prelude.Maybe [Prelude.Text],+    -- | The list of log types to enable.+    enableLogTypes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudwatchLogsExportConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disableLogTypes', 'cloudwatchLogsExportConfiguration_disableLogTypes' - The list of log types to disable.+--+-- 'enableLogTypes', 'cloudwatchLogsExportConfiguration_enableLogTypes' - The list of log types to enable.+newCloudwatchLogsExportConfiguration ::+  CloudwatchLogsExportConfiguration+newCloudwatchLogsExportConfiguration =+  CloudwatchLogsExportConfiguration'+    { disableLogTypes =+        Prelude.Nothing,+      enableLogTypes = Prelude.Nothing+    }++-- | The list of log types to disable.+cloudwatchLogsExportConfiguration_disableLogTypes :: Lens.Lens' CloudwatchLogsExportConfiguration (Prelude.Maybe [Prelude.Text])+cloudwatchLogsExportConfiguration_disableLogTypes = Lens.lens (\CloudwatchLogsExportConfiguration' {disableLogTypes} -> disableLogTypes) (\s@CloudwatchLogsExportConfiguration' {} a -> s {disableLogTypes = a} :: CloudwatchLogsExportConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The list of log types to enable.+cloudwatchLogsExportConfiguration_enableLogTypes :: Lens.Lens' CloudwatchLogsExportConfiguration (Prelude.Maybe [Prelude.Text])+cloudwatchLogsExportConfiguration_enableLogTypes = Lens.lens (\CloudwatchLogsExportConfiguration' {enableLogTypes} -> enableLogTypes) (\s@CloudwatchLogsExportConfiguration' {} a -> s {enableLogTypes = a} :: CloudwatchLogsExportConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+  Prelude.Hashable+    CloudwatchLogsExportConfiguration+  where+  hashWithSalt+    _salt+    CloudwatchLogsExportConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` disableLogTypes+        `Prelude.hashWithSalt` enableLogTypes++instance+  Prelude.NFData+    CloudwatchLogsExportConfiguration+  where+  rnf CloudwatchLogsExportConfiguration' {..} =+    Prelude.rnf disableLogTypes+      `Prelude.seq` Prelude.rnf enableLogTypes++instance+  Data.ToQuery+    CloudwatchLogsExportConfiguration+  where+  toQuery CloudwatchLogsExportConfiguration' {..} =+    Prelude.mconcat+      [ "DisableLogTypes"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> disableLogTypes+            ),+        "EnableLogTypes"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> enableLogTypes+            )+      ]
+ gen/Amazonka/Neptune/Types/DBCluster.hs view
@@ -0,0 +1,719 @@+{-# 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.Neptune.Types.DBCluster+-- 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.Neptune.Types.DBCluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.DBClusterMember+import Amazonka.Neptune.Types.DBClusterOptionGroupStatus+import Amazonka.Neptune.Types.DBClusterRole+import Amazonka.Neptune.Types.ServerlessV2ScalingConfigurationInfo+import Amazonka.Neptune.Types.VpcSecurityGroupMembership+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an Amazon Neptune DB cluster.+--+-- This data type is used as a response element in the DescribeDBClusters+-- action.+--+-- /See:/ 'newDBCluster' smart constructor.+data DBCluster = DBCluster'+  { -- | @AllocatedStorage@ always returns 1, because Neptune DB cluster storage+    -- size is not fixed, but instead automatically adjusts as needed.+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Provides a list of the Amazon Identity and Access Management (IAM) roles+    -- that are associated with the DB cluster. IAM roles that are associated+    -- with a DB cluster grant permission for the DB cluster to access other+    -- Amazon services on your behalf.+    associatedRoles :: Prelude.Maybe [DBClusterRole],+    -- | Time at which the DB cluster will be automatically restarted.+    automaticRestartTime :: Prelude.Maybe Data.ISO8601,+    -- | Provides the list of EC2 Availability Zones that instances in the DB+    -- cluster can be created in.+    availabilityZones :: Prelude.Maybe [Prelude.Text],+    -- | Specifies the number of days for which automatic DB snapshots are+    -- retained.+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | Not supported by Neptune.+    characterSetName :: Prelude.Maybe Prelude.Text,+    -- | Identifies the clone group to which the DB cluster is associated.+    cloneGroupId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the time when the DB cluster was created, in Universal+    -- Coordinated Time (UTC).+    clusterCreateTime :: Prelude.Maybe Data.ISO8601,+    -- | /If set to @true@, tags are copied to any snapshot of the DB cluster+    -- that is created./+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | If set to @true@, the DB cluster can be cloned across accounts.+    crossAccountClone :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) for the DB cluster.+    dbClusterArn :: Prelude.Maybe Prelude.Text,+    -- | Contains a user-supplied DB cluster identifier. This identifier is the+    -- unique key that identifies a DB cluster.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Provides the list of instances that make up the DB cluster.+    dbClusterMembers :: Prelude.Maybe [DBClusterMember],+    -- | Not supported by Neptune.+    dbClusterOptionGroupMemberships :: Prelude.Maybe [DBClusterOptionGroupStatus],+    -- | Specifies the name of the DB cluster parameter group for the DB cluster.+    dbClusterParameterGroup :: Prelude.Maybe Prelude.Text,+    -- | Specifies information on the subnet group associated with the DB+    -- cluster, including the name, description, and subnets in the subnet+    -- group.+    dbSubnetGroup :: Prelude.Maybe Prelude.Text,+    -- | Contains the name of the initial database of this DB cluster that was+    -- provided at create time, if one was specified when the DB cluster was+    -- created. This same name is returned for the life of the DB cluster.+    databaseName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Region-unique, immutable identifier for the DB cluster. This+    -- identifier is found in Amazon CloudTrail log entries whenever the Amazon+    -- KMS key for the DB cluster is accessed.+    dbClusterResourceId :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether or not the DB cluster has deletion protection enabled.+    -- The database can\'t be deleted when deletion protection is enabled.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the earliest time to which a database can be restored with+    -- point-in-time restore.+    earliestRestorableTime :: Prelude.Maybe Data.ISO8601,+    -- | A list of log types that this DB cluster is configured to export to+    -- CloudWatch Logs.+    enabledCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | Specifies the connection endpoint for the primary instance of the DB+    -- cluster.+    endpoint :: Prelude.Maybe Prelude.Text,+    -- | Provides the name of the database engine to be used for this DB cluster.+    engine :: Prelude.Maybe Prelude.Text,+    -- | Indicates the database engine version.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | Specifies the ID that Amazon Route 53 assigns when you create a hosted+    -- zone.+    hostedZoneId :: Prelude.Maybe Prelude.Text,+    -- | True if mapping of Amazon Identity and Access Management (IAM) accounts+    -- to database accounts is enabled, and otherwise false.+    iAMDatabaseAuthenticationEnabled :: Prelude.Maybe Prelude.Bool,+    -- | If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+    -- encrypted DB cluster.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the latest time to which a database can be restored with+    -- point-in-time restore.+    latestRestorableTime :: Prelude.Maybe Data.ISO8601,+    -- | Not supported by Neptune.+    masterUsername :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the DB cluster has instances in multiple Availability+    -- Zones.+    multiAZ :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the progress of the operation as a percentage.+    percentProgress :: Prelude.Maybe Prelude.Text,+    -- | Specifies the port that the database engine is listening on.+    port :: Prelude.Maybe Prelude.Int,+    -- | Specifies the daily time range during which automated backups are+    -- created if automated backups are enabled, as determined by the+    -- @BackupRetentionPeriod@.+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | Specifies the weekly time range during which system maintenance can+    -- occur, in Universal Coordinated Time (UTC).+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    -- | Contains one or more identifiers of the Read Replicas associated with+    -- this DB cluster.+    readReplicaIdentifiers :: Prelude.Maybe [Prelude.Text],+    -- | The reader endpoint for the DB cluster. The reader endpoint for a DB+    -- cluster load-balances connections across the Read Replicas that are+    -- available in a DB cluster. As clients request new connections to the+    -- reader endpoint, Neptune distributes the connection requests among the+    -- Read Replicas in the DB cluster. This functionality can help balance+    -- your read workload across multiple Read Replicas in your DB cluster.+    --+    -- If a failover occurs, and the Read Replica that you are connected to is+    -- promoted to be the primary instance, your connection is dropped. To+    -- continue sending your read workload to other Read Replicas in the+    -- cluster, you can then reconnect to the reader endpoint.+    readerEndpoint :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    replicationSourceIdentifier :: Prelude.Maybe Prelude.Text,+    serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfigurationInfo,+    -- | Specifies the current state of this DB cluster.+    status :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the DB cluster is encrypted.+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | Provides a list of VPC security groups that the DB cluster belongs to.+    vpcSecurityGroups :: Prelude.Maybe [VpcSecurityGroupMembership]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'dbCluster_allocatedStorage' - @AllocatedStorage@ always returns 1, because Neptune DB cluster storage+-- size is not fixed, but instead automatically adjusts as needed.+--+-- 'associatedRoles', 'dbCluster_associatedRoles' - Provides a list of the Amazon Identity and Access Management (IAM) roles+-- that are associated with the DB cluster. IAM roles that are associated+-- with a DB cluster grant permission for the DB cluster to access other+-- Amazon services on your behalf.+--+-- 'automaticRestartTime', 'dbCluster_automaticRestartTime' - Time at which the DB cluster will be automatically restarted.+--+-- 'availabilityZones', 'dbCluster_availabilityZones' - Provides the list of EC2 Availability Zones that instances in the DB+-- cluster can be created in.+--+-- 'backupRetentionPeriod', 'dbCluster_backupRetentionPeriod' - Specifies the number of days for which automatic DB snapshots are+-- retained.+--+-- 'characterSetName', 'dbCluster_characterSetName' - Not supported by Neptune.+--+-- 'cloneGroupId', 'dbCluster_cloneGroupId' - Identifies the clone group to which the DB cluster is associated.+--+-- 'clusterCreateTime', 'dbCluster_clusterCreateTime' - Specifies the time when the DB cluster was created, in Universal+-- Coordinated Time (UTC).+--+-- 'copyTagsToSnapshot', 'dbCluster_copyTagsToSnapshot' - /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+--+-- 'crossAccountClone', 'dbCluster_crossAccountClone' - If set to @true@, the DB cluster can be cloned across accounts.+--+-- 'dbClusterArn', 'dbCluster_dbClusterArn' - The Amazon Resource Name (ARN) for the DB cluster.+--+-- 'dbClusterIdentifier', 'dbCluster_dbClusterIdentifier' - Contains a user-supplied DB cluster identifier. This identifier is the+-- unique key that identifies a DB cluster.+--+-- 'dbClusterMembers', 'dbCluster_dbClusterMembers' - Provides the list of instances that make up the DB cluster.+--+-- 'dbClusterOptionGroupMemberships', 'dbCluster_dbClusterOptionGroupMemberships' - Not supported by Neptune.+--+-- 'dbClusterParameterGroup', 'dbCluster_dbClusterParameterGroup' - Specifies the name of the DB cluster parameter group for the DB cluster.+--+-- 'dbSubnetGroup', 'dbCluster_dbSubnetGroup' - Specifies information on the subnet group associated with the DB+-- cluster, including the name, description, and subnets in the subnet+-- group.+--+-- 'databaseName', 'dbCluster_databaseName' - Contains the name of the initial database of this DB cluster that was+-- provided at create time, if one was specified when the DB cluster was+-- created. This same name is returned for the life of the DB cluster.+--+-- 'dbClusterResourceId', 'dbCluster_dbClusterResourceId' - The Amazon Region-unique, immutable identifier for the DB cluster. This+-- identifier is found in Amazon CloudTrail log entries whenever the Amazon+-- KMS key for the DB cluster is accessed.+--+-- 'deletionProtection', 'dbCluster_deletionProtection' - Indicates whether or not the DB cluster has deletion protection enabled.+-- The database can\'t be deleted when deletion protection is enabled.+--+-- 'earliestRestorableTime', 'dbCluster_earliestRestorableTime' - Specifies the earliest time to which a database can be restored with+-- point-in-time restore.+--+-- 'enabledCloudwatchLogsExports', 'dbCluster_enabledCloudwatchLogsExports' - A list of log types that this DB cluster is configured to export to+-- CloudWatch Logs.+--+-- 'endpoint', 'dbCluster_endpoint' - Specifies the connection endpoint for the primary instance of the DB+-- cluster.+--+-- 'engine', 'dbCluster_engine' - Provides the name of the database engine to be used for this DB cluster.+--+-- 'engineVersion', 'dbCluster_engineVersion' - Indicates the database engine version.+--+-- 'hostedZoneId', 'dbCluster_hostedZoneId' - Specifies the ID that Amazon Route 53 assigns when you create a hosted+-- zone.+--+-- 'iAMDatabaseAuthenticationEnabled', 'dbCluster_iAMDatabaseAuthenticationEnabled' - True if mapping of Amazon Identity and Access Management (IAM) accounts+-- to database accounts is enabled, and otherwise false.+--+-- 'kmsKeyId', 'dbCluster_kmsKeyId' - If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+-- encrypted DB cluster.+--+-- 'latestRestorableTime', 'dbCluster_latestRestorableTime' - Specifies the latest time to which a database can be restored with+-- point-in-time restore.+--+-- 'masterUsername', 'dbCluster_masterUsername' - Not supported by Neptune.+--+-- 'multiAZ', 'dbCluster_multiAZ' - Specifies whether the DB cluster has instances in multiple Availability+-- Zones.+--+-- 'percentProgress', 'dbCluster_percentProgress' - Specifies the progress of the operation as a percentage.+--+-- 'port', 'dbCluster_port' - Specifies the port that the database engine is listening on.+--+-- 'preferredBackupWindow', 'dbCluster_preferredBackupWindow' - Specifies the daily time range during which automated backups are+-- created if automated backups are enabled, as determined by the+-- @BackupRetentionPeriod@.+--+-- 'preferredMaintenanceWindow', 'dbCluster_preferredMaintenanceWindow' - Specifies the weekly time range during which system maintenance can+-- occur, in Universal Coordinated Time (UTC).+--+-- 'readReplicaIdentifiers', 'dbCluster_readReplicaIdentifiers' - Contains one or more identifiers of the Read Replicas associated with+-- this DB cluster.+--+-- 'readerEndpoint', 'dbCluster_readerEndpoint' - The reader endpoint for the DB cluster. The reader endpoint for a DB+-- cluster load-balances connections across the Read Replicas that are+-- available in a DB cluster. As clients request new connections to the+-- reader endpoint, Neptune distributes the connection requests among the+-- Read Replicas in the DB cluster. This functionality can help balance+-- your read workload across multiple Read Replicas in your DB cluster.+--+-- If a failover occurs, and the Read Replica that you are connected to is+-- promoted to be the primary instance, your connection is dropped. To+-- continue sending your read workload to other Read Replicas in the+-- cluster, you can then reconnect to the reader endpoint.+--+-- 'replicationSourceIdentifier', 'dbCluster_replicationSourceIdentifier' - Not supported by Neptune.+--+-- 'serverlessV2ScalingConfiguration', 'dbCluster_serverlessV2ScalingConfiguration' - Undocumented member.+--+-- 'status', 'dbCluster_status' - Specifies the current state of this DB cluster.+--+-- 'storageEncrypted', 'dbCluster_storageEncrypted' - Specifies whether the DB cluster is encrypted.+--+-- 'vpcSecurityGroups', 'dbCluster_vpcSecurityGroups' - Provides a list of VPC security groups that the DB cluster belongs to.+newDBCluster ::+  DBCluster+newDBCluster =+  DBCluster'+    { allocatedStorage = Prelude.Nothing,+      associatedRoles = Prelude.Nothing,+      automaticRestartTime = Prelude.Nothing,+      availabilityZones = Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      characterSetName = Prelude.Nothing,+      cloneGroupId = Prelude.Nothing,+      clusterCreateTime = Prelude.Nothing,+      copyTagsToSnapshot = Prelude.Nothing,+      crossAccountClone = Prelude.Nothing,+      dbClusterArn = Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      dbClusterMembers = Prelude.Nothing,+      dbClusterOptionGroupMemberships = Prelude.Nothing,+      dbClusterParameterGroup = Prelude.Nothing,+      dbSubnetGroup = Prelude.Nothing,+      databaseName = Prelude.Nothing,+      dbClusterResourceId = Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      earliestRestorableTime = Prelude.Nothing,+      enabledCloudwatchLogsExports = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      hostedZoneId = Prelude.Nothing,+      iAMDatabaseAuthenticationEnabled = Prelude.Nothing,+      kmsKeyId = Prelude.Nothing,+      latestRestorableTime = Prelude.Nothing,+      masterUsername = Prelude.Nothing,+      multiAZ = Prelude.Nothing,+      percentProgress = Prelude.Nothing,+      port = Prelude.Nothing,+      preferredBackupWindow = Prelude.Nothing,+      preferredMaintenanceWindow = Prelude.Nothing,+      readReplicaIdentifiers = Prelude.Nothing,+      readerEndpoint = Prelude.Nothing,+      replicationSourceIdentifier = Prelude.Nothing,+      serverlessV2ScalingConfiguration = Prelude.Nothing,+      status = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing,+      vpcSecurityGroups = Prelude.Nothing+    }++-- | @AllocatedStorage@ always returns 1, because Neptune DB cluster storage+-- size is not fixed, but instead automatically adjusts as needed.+dbCluster_allocatedStorage :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)+dbCluster_allocatedStorage = Lens.lens (\DBCluster' {allocatedStorage} -> allocatedStorage) (\s@DBCluster' {} a -> s {allocatedStorage = a} :: DBCluster)++-- | Provides a list of the Amazon Identity and Access Management (IAM) roles+-- that are associated with the DB cluster. IAM roles that are associated+-- with a DB cluster grant permission for the DB cluster to access other+-- Amazon services on your behalf.+dbCluster_associatedRoles :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterRole])+dbCluster_associatedRoles = Lens.lens (\DBCluster' {associatedRoles} -> associatedRoles) (\s@DBCluster' {} a -> s {associatedRoles = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | Time at which the DB cluster will be automatically restarted.+dbCluster_automaticRestartTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)+dbCluster_automaticRestartTime = Lens.lens (\DBCluster' {automaticRestartTime} -> automaticRestartTime) (\s@DBCluster' {} a -> s {automaticRestartTime = a} :: DBCluster) Prelude.. Lens.mapping Data._Time++-- | Provides the list of EC2 Availability Zones that instances in the DB+-- cluster can be created in.+dbCluster_availabilityZones :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])+dbCluster_availabilityZones = Lens.lens (\DBCluster' {availabilityZones} -> availabilityZones) (\s@DBCluster' {} a -> s {availabilityZones = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the number of days for which automatic DB snapshots are+-- retained.+dbCluster_backupRetentionPeriod :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)+dbCluster_backupRetentionPeriod = Lens.lens (\DBCluster' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@DBCluster' {} a -> s {backupRetentionPeriod = a} :: DBCluster)++-- | Not supported by Neptune.+dbCluster_characterSetName :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_characterSetName = Lens.lens (\DBCluster' {characterSetName} -> characterSetName) (\s@DBCluster' {} a -> s {characterSetName = a} :: DBCluster)++-- | Identifies the clone group to which the DB cluster is associated.+dbCluster_cloneGroupId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_cloneGroupId = Lens.lens (\DBCluster' {cloneGroupId} -> cloneGroupId) (\s@DBCluster' {} a -> s {cloneGroupId = a} :: DBCluster)++-- | Specifies the time when the DB cluster was created, in Universal+-- Coordinated Time (UTC).+dbCluster_clusterCreateTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)+dbCluster_clusterCreateTime = Lens.lens (\DBCluster' {clusterCreateTime} -> clusterCreateTime) (\s@DBCluster' {} a -> s {clusterCreateTime = a} :: DBCluster) Prelude.. Lens.mapping Data._Time++-- | /If set to @true@, tags are copied to any snapshot of the DB cluster+-- that is created./+dbCluster_copyTagsToSnapshot :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_copyTagsToSnapshot = Lens.lens (\DBCluster' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@DBCluster' {} a -> s {copyTagsToSnapshot = a} :: DBCluster)++-- | If set to @true@, the DB cluster can be cloned across accounts.+dbCluster_crossAccountClone :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_crossAccountClone = Lens.lens (\DBCluster' {crossAccountClone} -> crossAccountClone) (\s@DBCluster' {} a -> s {crossAccountClone = a} :: DBCluster)++-- | The Amazon Resource Name (ARN) for the DB cluster.+dbCluster_dbClusterArn :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_dbClusterArn = Lens.lens (\DBCluster' {dbClusterArn} -> dbClusterArn) (\s@DBCluster' {} a -> s {dbClusterArn = a} :: DBCluster)++-- | Contains a user-supplied DB cluster identifier. This identifier is the+-- unique key that identifies a DB cluster.+dbCluster_dbClusterIdentifier :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_dbClusterIdentifier = Lens.lens (\DBCluster' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DBCluster' {} a -> s {dbClusterIdentifier = a} :: DBCluster)++-- | Provides the list of instances that make up the DB cluster.+dbCluster_dbClusterMembers :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterMember])+dbCluster_dbClusterMembers = Lens.lens (\DBCluster' {dbClusterMembers} -> dbClusterMembers) (\s@DBCluster' {} a -> s {dbClusterMembers = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | Not supported by Neptune.+dbCluster_dbClusterOptionGroupMemberships :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterOptionGroupStatus])+dbCluster_dbClusterOptionGroupMemberships = Lens.lens (\DBCluster' {dbClusterOptionGroupMemberships} -> dbClusterOptionGroupMemberships) (\s@DBCluster' {} a -> s {dbClusterOptionGroupMemberships = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the name of the DB cluster parameter group for the DB cluster.+dbCluster_dbClusterParameterGroup :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_dbClusterParameterGroup = Lens.lens (\DBCluster' {dbClusterParameterGroup} -> dbClusterParameterGroup) (\s@DBCluster' {} a -> s {dbClusterParameterGroup = a} :: DBCluster)++-- | Specifies information on the subnet group associated with the DB+-- cluster, including the name, description, and subnets in the subnet+-- group.+dbCluster_dbSubnetGroup :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_dbSubnetGroup = Lens.lens (\DBCluster' {dbSubnetGroup} -> dbSubnetGroup) (\s@DBCluster' {} a -> s {dbSubnetGroup = a} :: DBCluster)++-- | Contains the name of the initial database of this DB cluster that was+-- provided at create time, if one was specified when the DB cluster was+-- created. This same name is returned for the life of the DB cluster.+dbCluster_databaseName :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_databaseName = Lens.lens (\DBCluster' {databaseName} -> databaseName) (\s@DBCluster' {} a -> s {databaseName = a} :: DBCluster)++-- | The Amazon Region-unique, immutable identifier for the DB cluster. This+-- identifier is found in Amazon CloudTrail log entries whenever the Amazon+-- KMS key for the DB cluster is accessed.+dbCluster_dbClusterResourceId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_dbClusterResourceId = Lens.lens (\DBCluster' {dbClusterResourceId} -> dbClusterResourceId) (\s@DBCluster' {} a -> s {dbClusterResourceId = a} :: DBCluster)++-- | Indicates whether or not the DB cluster has deletion protection enabled.+-- The database can\'t be deleted when deletion protection is enabled.+dbCluster_deletionProtection :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_deletionProtection = Lens.lens (\DBCluster' {deletionProtection} -> deletionProtection) (\s@DBCluster' {} a -> s {deletionProtection = a} :: DBCluster)++-- | Specifies the earliest time to which a database can be restored with+-- point-in-time restore.+dbCluster_earliestRestorableTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)+dbCluster_earliestRestorableTime = Lens.lens (\DBCluster' {earliestRestorableTime} -> earliestRestorableTime) (\s@DBCluster' {} a -> s {earliestRestorableTime = a} :: DBCluster) Prelude.. Lens.mapping Data._Time++-- | A list of log types that this DB cluster is configured to export to+-- CloudWatch Logs.+dbCluster_enabledCloudwatchLogsExports :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])+dbCluster_enabledCloudwatchLogsExports = Lens.lens (\DBCluster' {enabledCloudwatchLogsExports} -> enabledCloudwatchLogsExports) (\s@DBCluster' {} a -> s {enabledCloudwatchLogsExports = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the connection endpoint for the primary instance of the DB+-- cluster.+dbCluster_endpoint :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_endpoint = Lens.lens (\DBCluster' {endpoint} -> endpoint) (\s@DBCluster' {} a -> s {endpoint = a} :: DBCluster)++-- | Provides the name of the database engine to be used for this DB cluster.+dbCluster_engine :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_engine = Lens.lens (\DBCluster' {engine} -> engine) (\s@DBCluster' {} a -> s {engine = a} :: DBCluster)++-- | Indicates the database engine version.+dbCluster_engineVersion :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_engineVersion = Lens.lens (\DBCluster' {engineVersion} -> engineVersion) (\s@DBCluster' {} a -> s {engineVersion = a} :: DBCluster)++-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted+-- zone.+dbCluster_hostedZoneId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_hostedZoneId = Lens.lens (\DBCluster' {hostedZoneId} -> hostedZoneId) (\s@DBCluster' {} a -> s {hostedZoneId = a} :: DBCluster)++-- | True if mapping of Amazon Identity and Access Management (IAM) accounts+-- to database accounts is enabled, and otherwise false.+dbCluster_iAMDatabaseAuthenticationEnabled :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_iAMDatabaseAuthenticationEnabled = Lens.lens (\DBCluster' {iAMDatabaseAuthenticationEnabled} -> iAMDatabaseAuthenticationEnabled) (\s@DBCluster' {} a -> s {iAMDatabaseAuthenticationEnabled = a} :: DBCluster)++-- | If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+-- encrypted DB cluster.+dbCluster_kmsKeyId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_kmsKeyId = Lens.lens (\DBCluster' {kmsKeyId} -> kmsKeyId) (\s@DBCluster' {} a -> s {kmsKeyId = a} :: DBCluster)++-- | Specifies the latest time to which a database can be restored with+-- point-in-time restore.+dbCluster_latestRestorableTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)+dbCluster_latestRestorableTime = Lens.lens (\DBCluster' {latestRestorableTime} -> latestRestorableTime) (\s@DBCluster' {} a -> s {latestRestorableTime = a} :: DBCluster) Prelude.. Lens.mapping Data._Time++-- | Not supported by Neptune.+dbCluster_masterUsername :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_masterUsername = Lens.lens (\DBCluster' {masterUsername} -> masterUsername) (\s@DBCluster' {} a -> s {masterUsername = a} :: DBCluster)++-- | Specifies whether the DB cluster has instances in multiple Availability+-- Zones.+dbCluster_multiAZ :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_multiAZ = Lens.lens (\DBCluster' {multiAZ} -> multiAZ) (\s@DBCluster' {} a -> s {multiAZ = a} :: DBCluster)++-- | Specifies the progress of the operation as a percentage.+dbCluster_percentProgress :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_percentProgress = Lens.lens (\DBCluster' {percentProgress} -> percentProgress) (\s@DBCluster' {} a -> s {percentProgress = a} :: DBCluster)++-- | Specifies the port that the database engine is listening on.+dbCluster_port :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)+dbCluster_port = Lens.lens (\DBCluster' {port} -> port) (\s@DBCluster' {} a -> s {port = a} :: DBCluster)++-- | Specifies the daily time range during which automated backups are+-- created if automated backups are enabled, as determined by the+-- @BackupRetentionPeriod@.+dbCluster_preferredBackupWindow :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_preferredBackupWindow = Lens.lens (\DBCluster' {preferredBackupWindow} -> preferredBackupWindow) (\s@DBCluster' {} a -> s {preferredBackupWindow = a} :: DBCluster)++-- | Specifies the weekly time range during which system maintenance can+-- occur, in Universal Coordinated Time (UTC).+dbCluster_preferredMaintenanceWindow :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_preferredMaintenanceWindow = Lens.lens (\DBCluster' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@DBCluster' {} a -> s {preferredMaintenanceWindow = a} :: DBCluster)++-- | Contains one or more identifiers of the Read Replicas associated with+-- this DB cluster.+dbCluster_readReplicaIdentifiers :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])+dbCluster_readReplicaIdentifiers = Lens.lens (\DBCluster' {readReplicaIdentifiers} -> readReplicaIdentifiers) (\s@DBCluster' {} a -> s {readReplicaIdentifiers = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++-- | The reader endpoint for the DB cluster. The reader endpoint for a DB+-- cluster load-balances connections across the Read Replicas that are+-- available in a DB cluster. As clients request new connections to the+-- reader endpoint, Neptune distributes the connection requests among the+-- Read Replicas in the DB cluster. This functionality can help balance+-- your read workload across multiple Read Replicas in your DB cluster.+--+-- If a failover occurs, and the Read Replica that you are connected to is+-- promoted to be the primary instance, your connection is dropped. To+-- continue sending your read workload to other Read Replicas in the+-- cluster, you can then reconnect to the reader endpoint.+dbCluster_readerEndpoint :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_readerEndpoint = Lens.lens (\DBCluster' {readerEndpoint} -> readerEndpoint) (\s@DBCluster' {} a -> s {readerEndpoint = a} :: DBCluster)++-- | Not supported by Neptune.+dbCluster_replicationSourceIdentifier :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_replicationSourceIdentifier = Lens.lens (\DBCluster' {replicationSourceIdentifier} -> replicationSourceIdentifier) (\s@DBCluster' {} a -> s {replicationSourceIdentifier = a} :: DBCluster)++-- | Undocumented member.+dbCluster_serverlessV2ScalingConfiguration :: Lens.Lens' DBCluster (Prelude.Maybe ServerlessV2ScalingConfigurationInfo)+dbCluster_serverlessV2ScalingConfiguration = Lens.lens (\DBCluster' {serverlessV2ScalingConfiguration} -> serverlessV2ScalingConfiguration) (\s@DBCluster' {} a -> s {serverlessV2ScalingConfiguration = a} :: DBCluster)++-- | Specifies the current state of this DB cluster.+dbCluster_status :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)+dbCluster_status = Lens.lens (\DBCluster' {status} -> status) (\s@DBCluster' {} a -> s {status = a} :: DBCluster)++-- | Specifies whether the DB cluster is encrypted.+dbCluster_storageEncrypted :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)+dbCluster_storageEncrypted = Lens.lens (\DBCluster' {storageEncrypted} -> storageEncrypted) (\s@DBCluster' {} a -> s {storageEncrypted = a} :: DBCluster)++-- | Provides a list of VPC security groups that the DB cluster belongs to.+dbCluster_vpcSecurityGroups :: Lens.Lens' DBCluster (Prelude.Maybe [VpcSecurityGroupMembership])+dbCluster_vpcSecurityGroups = Lens.lens (\DBCluster' {vpcSecurityGroups} -> vpcSecurityGroups) (\s@DBCluster' {} a -> s {vpcSecurityGroups = a} :: DBCluster) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML DBCluster where+  parseXML x =+    DBCluster'+      Prelude.<$> (x Data..@? "AllocatedStorage")+      Prelude.<*> ( x+                      Data..@? "AssociatedRoles"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBClusterRole")+                  )+      Prelude.<*> (x Data..@? "AutomaticRestartTime")+      Prelude.<*> ( x+                      Data..@? "AvailabilityZones"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "AvailabilityZone")+                  )+      Prelude.<*> (x Data..@? "BackupRetentionPeriod")+      Prelude.<*> (x Data..@? "CharacterSetName")+      Prelude.<*> (x Data..@? "CloneGroupId")+      Prelude.<*> (x Data..@? "ClusterCreateTime")+      Prelude.<*> (x Data..@? "CopyTagsToSnapshot")+      Prelude.<*> (x Data..@? "CrossAccountClone")+      Prelude.<*> (x Data..@? "DBClusterArn")+      Prelude.<*> (x Data..@? "DBClusterIdentifier")+      Prelude.<*> ( x+                      Data..@? "DBClusterMembers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBClusterMember")+                  )+      Prelude.<*> ( x+                      Data..@? "DBClusterOptionGroupMemberships"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBClusterOptionGroup")+                  )+      Prelude.<*> (x Data..@? "DBClusterParameterGroup")+      Prelude.<*> (x Data..@? "DBSubnetGroup")+      Prelude.<*> (x Data..@? "DatabaseName")+      Prelude.<*> (x Data..@? "DbClusterResourceId")+      Prelude.<*> (x Data..@? "DeletionProtection")+      Prelude.<*> (x Data..@? "EarliestRestorableTime")+      Prelude.<*> ( x+                      Data..@? "EnabledCloudwatchLogsExports"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> (x Data..@? "Endpoint")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "HostedZoneId")+      Prelude.<*> (x Data..@? "IAMDatabaseAuthenticationEnabled")+      Prelude.<*> (x Data..@? "KmsKeyId")+      Prelude.<*> (x Data..@? "LatestRestorableTime")+      Prelude.<*> (x Data..@? "MasterUsername")+      Prelude.<*> (x Data..@? "MultiAZ")+      Prelude.<*> (x Data..@? "PercentProgress")+      Prelude.<*> (x Data..@? "Port")+      Prelude.<*> (x Data..@? "PreferredBackupWindow")+      Prelude.<*> (x Data..@? "PreferredMaintenanceWindow")+      Prelude.<*> ( x+                      Data..@? "ReadReplicaIdentifiers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "ReadReplicaIdentifier")+                  )+      Prelude.<*> (x Data..@? "ReaderEndpoint")+      Prelude.<*> (x Data..@? "ReplicationSourceIdentifier")+      Prelude.<*> (x Data..@? "ServerlessV2ScalingConfiguration")+      Prelude.<*> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "StorageEncrypted")+      Prelude.<*> ( x+                      Data..@? "VpcSecurityGroups"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        (Data.parseXMLList "VpcSecurityGroupMembership")+                  )++instance Prelude.Hashable DBCluster where+  hashWithSalt _salt DBCluster' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` associatedRoles+      `Prelude.hashWithSalt` automaticRestartTime+      `Prelude.hashWithSalt` availabilityZones+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` characterSetName+      `Prelude.hashWithSalt` cloneGroupId+      `Prelude.hashWithSalt` clusterCreateTime+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` crossAccountClone+      `Prelude.hashWithSalt` dbClusterArn+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbClusterMembers+      `Prelude.hashWithSalt` dbClusterOptionGroupMemberships+      `Prelude.hashWithSalt` dbClusterParameterGroup+      `Prelude.hashWithSalt` dbSubnetGroup+      `Prelude.hashWithSalt` databaseName+      `Prelude.hashWithSalt` dbClusterResourceId+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` earliestRestorableTime+      `Prelude.hashWithSalt` enabledCloudwatchLogsExports+      `Prelude.hashWithSalt` endpoint+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` hostedZoneId+      `Prelude.hashWithSalt` iAMDatabaseAuthenticationEnabled+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` latestRestorableTime+      `Prelude.hashWithSalt` masterUsername+      `Prelude.hashWithSalt` multiAZ+      `Prelude.hashWithSalt` percentProgress+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` readReplicaIdentifiers+      `Prelude.hashWithSalt` readerEndpoint+      `Prelude.hashWithSalt` replicationSourceIdentifier+      `Prelude.hashWithSalt` serverlessV2ScalingConfiguration+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` vpcSecurityGroups++instance Prelude.NFData DBCluster where+  rnf DBCluster' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf associatedRoles+      `Prelude.seq` Prelude.rnf automaticRestartTime+      `Prelude.seq` Prelude.rnf availabilityZones+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf characterSetName+      `Prelude.seq` Prelude.rnf cloneGroupId+      `Prelude.seq` Prelude.rnf clusterCreateTime+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf crossAccountClone+      `Prelude.seq` Prelude.rnf dbClusterArn+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbClusterMembers+      `Prelude.seq` Prelude.rnf+        dbClusterOptionGroupMemberships+      `Prelude.seq` Prelude.rnf dbClusterParameterGroup+      `Prelude.seq` Prelude.rnf dbSubnetGroup+      `Prelude.seq` Prelude.rnf databaseName+      `Prelude.seq` Prelude.rnf dbClusterResourceId+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf+        earliestRestorableTime+      `Prelude.seq` Prelude.rnf+        enabledCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf+        engineVersion+      `Prelude.seq` Prelude.rnf+        hostedZoneId+      `Prelude.seq` Prelude.rnf+        iAMDatabaseAuthenticationEnabled+      `Prelude.seq` Prelude.rnf+        kmsKeyId+      `Prelude.seq` Prelude.rnf+        latestRestorableTime+      `Prelude.seq` Prelude.rnf+        masterUsername+      `Prelude.seq` Prelude.rnf+        multiAZ+      `Prelude.seq` Prelude.rnf+        percentProgress+      `Prelude.seq` Prelude.rnf+        port+      `Prelude.seq` Prelude.rnf+        preferredBackupWindow+      `Prelude.seq` Prelude.rnf+        preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        readReplicaIdentifiers+      `Prelude.seq` Prelude.rnf+        readerEndpoint+      `Prelude.seq` Prelude.rnf+        replicationSourceIdentifier+      `Prelude.seq` Prelude.rnf+        serverlessV2ScalingConfiguration+      `Prelude.seq` Prelude.rnf+        status+      `Prelude.seq` Prelude.rnf+        storageEncrypted+      `Prelude.seq` Prelude.rnf+        vpcSecurityGroups
+ gen/Amazonka/Neptune/Types/DBClusterEndpoint.hs view
@@ -0,0 +1,232 @@+{-# 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.Neptune.Types.DBClusterEndpoint+-- 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.Neptune.Types.DBClusterEndpoint 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++-- | This data type represents the information you need to connect to an+-- Amazon Neptune DB cluster. This data type is used as a response element+-- in the following actions:+--+-- -   @CreateDBClusterEndpoint@+--+-- -   @DescribeDBClusterEndpoints@+--+-- -   @ModifyDBClusterEndpoint@+--+-- -   @DeleteDBClusterEndpoint@+--+-- For the data structure that represents Amazon Neptune DB instance+-- endpoints, see @Endpoint@.+--+-- /See:/ 'newDBClusterEndpoint' smart constructor.+data DBClusterEndpoint = DBClusterEndpoint'+  { -- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+    -- @ANY@.+    customEndpointType :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the endpoint.+    dbClusterEndpointArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier associated with the endpoint. This parameter is stored as+    -- a lowercase string.+    dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A unique system-generated identifier for an endpoint. It remains the+    -- same for the whole life of the endpoint.+    dbClusterEndpointResourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DB cluster identifier of the DB cluster associated with the+    -- endpoint. This parameter is stored as a lowercase string.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The DNS address of the endpoint.+    endpoint :: Prelude.Maybe Prelude.Text,+    -- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+    endpointType :: Prelude.Maybe Prelude.Text,+    -- | List of DB instance identifiers that aren\'t part of the custom endpoint+    -- group. All other eligible instances are reachable through the custom+    -- endpoint. Only relevant if the list of static members is empty.+    excludedMembers :: Prelude.Maybe [Prelude.Text],+    -- | List of DB instance identifiers that are part of the custom endpoint+    -- group.+    staticMembers :: Prelude.Maybe [Prelude.Text],+    -- | The current status of the endpoint. One of: @creating@, @available@,+    -- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+    -- endpoint that cannot be used for a certain kind of cluster, such as a+    -- @writer@ endpoint for a read-only secondary cluster in a global+    -- database.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customEndpointType', 'dbClusterEndpoint_customEndpointType' - The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+--+-- 'dbClusterEndpointArn', 'dbClusterEndpoint_dbClusterEndpointArn' - The Amazon Resource Name (ARN) for the endpoint.+--+-- 'dbClusterEndpointIdentifier', 'dbClusterEndpoint_dbClusterEndpointIdentifier' - The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+--+-- 'dbClusterEndpointResourceIdentifier', 'dbClusterEndpoint_dbClusterEndpointResourceIdentifier' - A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+--+-- 'dbClusterIdentifier', 'dbClusterEndpoint_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+--+-- 'endpoint', 'dbClusterEndpoint_endpoint' - The DNS address of the endpoint.+--+-- 'endpointType', 'dbClusterEndpoint_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+--+-- 'excludedMembers', 'dbClusterEndpoint_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+--+-- 'staticMembers', 'dbClusterEndpoint_staticMembers' - List of DB instance identifiers that are part of the custom endpoint+-- group.+--+-- 'status', 'dbClusterEndpoint_status' - The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+newDBClusterEndpoint ::+  DBClusterEndpoint+newDBClusterEndpoint =+  DBClusterEndpoint'+    { customEndpointType =+        Prelude.Nothing,+      dbClusterEndpointArn = Prelude.Nothing,+      dbClusterEndpointIdentifier = Prelude.Nothing,+      dbClusterEndpointResourceIdentifier =+        Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      excludedMembers = Prelude.Nothing,+      staticMembers = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,+-- @ANY@.+dbClusterEndpoint_customEndpointType :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_customEndpointType = Lens.lens (\DBClusterEndpoint' {customEndpointType} -> customEndpointType) (\s@DBClusterEndpoint' {} a -> s {customEndpointType = a} :: DBClusterEndpoint)++-- | The Amazon Resource Name (ARN) for the endpoint.+dbClusterEndpoint_dbClusterEndpointArn :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_dbClusterEndpointArn = Lens.lens (\DBClusterEndpoint' {dbClusterEndpointArn} -> dbClusterEndpointArn) (\s@DBClusterEndpoint' {} a -> s {dbClusterEndpointArn = a} :: DBClusterEndpoint)++-- | The identifier associated with the endpoint. This parameter is stored as+-- a lowercase string.+dbClusterEndpoint_dbClusterEndpointIdentifier :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_dbClusterEndpointIdentifier = Lens.lens (\DBClusterEndpoint' {dbClusterEndpointIdentifier} -> dbClusterEndpointIdentifier) (\s@DBClusterEndpoint' {} a -> s {dbClusterEndpointIdentifier = a} :: DBClusterEndpoint)++-- | A unique system-generated identifier for an endpoint. It remains the+-- same for the whole life of the endpoint.+dbClusterEndpoint_dbClusterEndpointResourceIdentifier :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_dbClusterEndpointResourceIdentifier = Lens.lens (\DBClusterEndpoint' {dbClusterEndpointResourceIdentifier} -> dbClusterEndpointResourceIdentifier) (\s@DBClusterEndpoint' {} a -> s {dbClusterEndpointResourceIdentifier = a} :: DBClusterEndpoint)++-- | The DB cluster identifier of the DB cluster associated with the+-- endpoint. This parameter is stored as a lowercase string.+dbClusterEndpoint_dbClusterIdentifier :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_dbClusterIdentifier = Lens.lens (\DBClusterEndpoint' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DBClusterEndpoint' {} a -> s {dbClusterIdentifier = a} :: DBClusterEndpoint)++-- | The DNS address of the endpoint.+dbClusterEndpoint_endpoint :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_endpoint = Lens.lens (\DBClusterEndpoint' {endpoint} -> endpoint) (\s@DBClusterEndpoint' {} a -> s {endpoint = a} :: DBClusterEndpoint)++-- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.+dbClusterEndpoint_endpointType :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_endpointType = Lens.lens (\DBClusterEndpoint' {endpointType} -> endpointType) (\s@DBClusterEndpoint' {} a -> s {endpointType = a} :: DBClusterEndpoint)++-- | List of DB instance identifiers that aren\'t part of the custom endpoint+-- group. All other eligible instances are reachable through the custom+-- endpoint. Only relevant if the list of static members is empty.+dbClusterEndpoint_excludedMembers :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe [Prelude.Text])+dbClusterEndpoint_excludedMembers = Lens.lens (\DBClusterEndpoint' {excludedMembers} -> excludedMembers) (\s@DBClusterEndpoint' {} a -> s {excludedMembers = a} :: DBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | List of DB instance identifiers that are part of the custom endpoint+-- group.+dbClusterEndpoint_staticMembers :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe [Prelude.Text])+dbClusterEndpoint_staticMembers = Lens.lens (\DBClusterEndpoint' {staticMembers} -> staticMembers) (\s@DBClusterEndpoint' {} a -> s {staticMembers = a} :: DBClusterEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint. One of: @creating@, @available@,+-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an+-- endpoint that cannot be used for a certain kind of cluster, such as a+-- @writer@ endpoint for a read-only secondary cluster in a global+-- database.+dbClusterEndpoint_status :: Lens.Lens' DBClusterEndpoint (Prelude.Maybe Prelude.Text)+dbClusterEndpoint_status = Lens.lens (\DBClusterEndpoint' {status} -> status) (\s@DBClusterEndpoint' {} a -> s {status = a} :: DBClusterEndpoint)++instance Data.FromXML DBClusterEndpoint where+  parseXML x =+    DBClusterEndpoint'+      Prelude.<$> (x Data..@? "CustomEndpointType")+      Prelude.<*> (x Data..@? "DBClusterEndpointArn")+      Prelude.<*> (x Data..@? "DBClusterEndpointIdentifier")+      Prelude.<*> (x Data..@? "DBClusterEndpointResourceIdentifier")+      Prelude.<*> (x Data..@? "DBClusterIdentifier")+      Prelude.<*> (x Data..@? "Endpoint")+      Prelude.<*> (x Data..@? "EndpointType")+      Prelude.<*> ( x+                      Data..@? "ExcludedMembers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> ( x+                      Data..@? "StaticMembers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable DBClusterEndpoint where+  hashWithSalt _salt DBClusterEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` customEndpointType+      `Prelude.hashWithSalt` dbClusterEndpointArn+      `Prelude.hashWithSalt` dbClusterEndpointIdentifier+      `Prelude.hashWithSalt` dbClusterEndpointResourceIdentifier+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` endpoint+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` excludedMembers+      `Prelude.hashWithSalt` staticMembers+      `Prelude.hashWithSalt` status++instance Prelude.NFData DBClusterEndpoint where+  rnf DBClusterEndpoint' {..} =+    Prelude.rnf customEndpointType+      `Prelude.seq` Prelude.rnf dbClusterEndpointArn+      `Prelude.seq` Prelude.rnf dbClusterEndpointIdentifier+      `Prelude.seq` Prelude.rnf dbClusterEndpointResourceIdentifier+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf excludedMembers+      `Prelude.seq` Prelude.rnf staticMembers+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/DBClusterMember.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.Neptune.Types.DBClusterMember+-- 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.Neptune.Types.DBClusterMember 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++-- | Contains information about an instance that is part of a DB cluster.+--+-- /See:/ 'newDBClusterMember' smart constructor.+data DBClusterMember = DBClusterMember'+  { -- | Specifies the status of the DB cluster parameter group for this member+    -- of the DB cluster.+    dbClusterParameterGroupStatus :: Prelude.Maybe Prelude.Text,+    -- | Specifies the instance identifier for this member of the DB cluster.+    dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Value that is @true@ if the cluster member is the primary instance for+    -- the DB cluster and @false@ otherwise.+    isClusterWriter :: Prelude.Maybe Prelude.Bool,+    -- | A value that specifies the order in which a Read Replica is promoted to+    -- the primary instance after a failure of the existing primary instance.+    promotionTier :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupStatus', 'dbClusterMember_dbClusterParameterGroupStatus' - Specifies the status of the DB cluster parameter group for this member+-- of the DB cluster.+--+-- 'dbInstanceIdentifier', 'dbClusterMember_dbInstanceIdentifier' - Specifies the instance identifier for this member of the DB cluster.+--+-- 'isClusterWriter', 'dbClusterMember_isClusterWriter' - Value that is @true@ if the cluster member is the primary instance for+-- the DB cluster and @false@ otherwise.+--+-- 'promotionTier', 'dbClusterMember_promotionTier' - A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+newDBClusterMember ::+  DBClusterMember+newDBClusterMember =+  DBClusterMember'+    { dbClusterParameterGroupStatus =+        Prelude.Nothing,+      dbInstanceIdentifier = Prelude.Nothing,+      isClusterWriter = Prelude.Nothing,+      promotionTier = Prelude.Nothing+    }++-- | Specifies the status of the DB cluster parameter group for this member+-- of the DB cluster.+dbClusterMember_dbClusterParameterGroupStatus :: Lens.Lens' DBClusterMember (Prelude.Maybe Prelude.Text)+dbClusterMember_dbClusterParameterGroupStatus = Lens.lens (\DBClusterMember' {dbClusterParameterGroupStatus} -> dbClusterParameterGroupStatus) (\s@DBClusterMember' {} a -> s {dbClusterParameterGroupStatus = a} :: DBClusterMember)++-- | Specifies the instance identifier for this member of the DB cluster.+dbClusterMember_dbInstanceIdentifier :: Lens.Lens' DBClusterMember (Prelude.Maybe Prelude.Text)+dbClusterMember_dbInstanceIdentifier = Lens.lens (\DBClusterMember' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@DBClusterMember' {} a -> s {dbInstanceIdentifier = a} :: DBClusterMember)++-- | Value that is @true@ if the cluster member is the primary instance for+-- the DB cluster and @false@ otherwise.+dbClusterMember_isClusterWriter :: Lens.Lens' DBClusterMember (Prelude.Maybe Prelude.Bool)+dbClusterMember_isClusterWriter = Lens.lens (\DBClusterMember' {isClusterWriter} -> isClusterWriter) (\s@DBClusterMember' {} a -> s {isClusterWriter = a} :: DBClusterMember)++-- | A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+dbClusterMember_promotionTier :: Lens.Lens' DBClusterMember (Prelude.Maybe Prelude.Int)+dbClusterMember_promotionTier = Lens.lens (\DBClusterMember' {promotionTier} -> promotionTier) (\s@DBClusterMember' {} a -> s {promotionTier = a} :: DBClusterMember)++instance Data.FromXML DBClusterMember where+  parseXML x =+    DBClusterMember'+      Prelude.<$> (x Data..@? "DBClusterParameterGroupStatus")+      Prelude.<*> (x Data..@? "DBInstanceIdentifier")+      Prelude.<*> (x Data..@? "IsClusterWriter")+      Prelude.<*> (x Data..@? "PromotionTier")++instance Prelude.Hashable DBClusterMember where+  hashWithSalt _salt DBClusterMember' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterParameterGroupStatus+      `Prelude.hashWithSalt` dbInstanceIdentifier+      `Prelude.hashWithSalt` isClusterWriter+      `Prelude.hashWithSalt` promotionTier++instance Prelude.NFData DBClusterMember where+  rnf DBClusterMember' {..} =+    Prelude.rnf dbClusterParameterGroupStatus+      `Prelude.seq` Prelude.rnf dbInstanceIdentifier+      `Prelude.seq` Prelude.rnf isClusterWriter+      `Prelude.seq` Prelude.rnf promotionTier
+ gen/Amazonka/Neptune/Types/DBClusterOptionGroupStatus.hs view
@@ -0,0 +1,81 @@+{-# 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.Neptune.Types.DBClusterOptionGroupStatus+-- 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.Neptune.Types.DBClusterOptionGroupStatus 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++-- | Not supported by Neptune.+--+-- /See:/ 'newDBClusterOptionGroupStatus' smart constructor.+data DBClusterOptionGroupStatus = DBClusterOptionGroupStatus'+  { -- | Not supported by Neptune.+    dbClusterOptionGroupName :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterOptionGroupStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterOptionGroupName', 'dbClusterOptionGroupStatus_dbClusterOptionGroupName' - Not supported by Neptune.+--+-- 'status', 'dbClusterOptionGroupStatus_status' - Not supported by Neptune.+newDBClusterOptionGroupStatus ::+  DBClusterOptionGroupStatus+newDBClusterOptionGroupStatus =+  DBClusterOptionGroupStatus'+    { dbClusterOptionGroupName =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Not supported by Neptune.+dbClusterOptionGroupStatus_dbClusterOptionGroupName :: Lens.Lens' DBClusterOptionGroupStatus (Prelude.Maybe Prelude.Text)+dbClusterOptionGroupStatus_dbClusterOptionGroupName = Lens.lens (\DBClusterOptionGroupStatus' {dbClusterOptionGroupName} -> dbClusterOptionGroupName) (\s@DBClusterOptionGroupStatus' {} a -> s {dbClusterOptionGroupName = a} :: DBClusterOptionGroupStatus)++-- | Not supported by Neptune.+dbClusterOptionGroupStatus_status :: Lens.Lens' DBClusterOptionGroupStatus (Prelude.Maybe Prelude.Text)+dbClusterOptionGroupStatus_status = Lens.lens (\DBClusterOptionGroupStatus' {status} -> status) (\s@DBClusterOptionGroupStatus' {} a -> s {status = a} :: DBClusterOptionGroupStatus)++instance Data.FromXML DBClusterOptionGroupStatus where+  parseXML x =+    DBClusterOptionGroupStatus'+      Prelude.<$> (x Data..@? "DBClusterOptionGroupName")+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable DBClusterOptionGroupStatus where+  hashWithSalt _salt DBClusterOptionGroupStatus' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterOptionGroupName+      `Prelude.hashWithSalt` status++instance Prelude.NFData DBClusterOptionGroupStatus where+  rnf DBClusterOptionGroupStatus' {..} =+    Prelude.rnf dbClusterOptionGroupName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/DBClusterParameterGroup.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.Neptune.Types.DBClusterParameterGroup+-- 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.Neptune.Types.DBClusterParameterGroup 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++-- | Contains the details of an Amazon Neptune DB cluster parameter group.+--+-- This data type is used as a response element in the+-- DescribeDBClusterParameterGroups action.+--+-- /See:/ 'newDBClusterParameterGroup' smart constructor.+data DBClusterParameterGroup = DBClusterParameterGroup'+  { -- | The Amazon Resource Name (ARN) for the DB cluster parameter group.+    dbClusterParameterGroupArn :: Prelude.Maybe Prelude.Text,+    -- | Provides the name of the DB cluster parameter group.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | Provides the name of the DB parameter group family that this DB cluster+    -- parameter group is compatible with.+    dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,+    -- | Provides the customer-specified description for this DB cluster+    -- parameter group.+    description :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupArn', 'dbClusterParameterGroup_dbClusterParameterGroupArn' - The Amazon Resource Name (ARN) for the DB cluster parameter group.+--+-- 'dbClusterParameterGroupName', 'dbClusterParameterGroup_dbClusterParameterGroupName' - Provides the name of the DB cluster parameter group.+--+-- 'dbParameterGroupFamily', 'dbClusterParameterGroup_dbParameterGroupFamily' - Provides the name of the DB parameter group family that this DB cluster+-- parameter group is compatible with.+--+-- 'description', 'dbClusterParameterGroup_description' - Provides the customer-specified description for this DB cluster+-- parameter group.+newDBClusterParameterGroup ::+  DBClusterParameterGroup+newDBClusterParameterGroup =+  DBClusterParameterGroup'+    { dbClusterParameterGroupArn =+        Prelude.Nothing,+      dbClusterParameterGroupName = Prelude.Nothing,+      dbParameterGroupFamily = Prelude.Nothing,+      description = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the DB cluster parameter group.+dbClusterParameterGroup_dbClusterParameterGroupArn :: Lens.Lens' DBClusterParameterGroup (Prelude.Maybe Prelude.Text)+dbClusterParameterGroup_dbClusterParameterGroupArn = Lens.lens (\DBClusterParameterGroup' {dbClusterParameterGroupArn} -> dbClusterParameterGroupArn) (\s@DBClusterParameterGroup' {} a -> s {dbClusterParameterGroupArn = a} :: DBClusterParameterGroup)++-- | Provides the name of the DB cluster parameter group.+dbClusterParameterGroup_dbClusterParameterGroupName :: Lens.Lens' DBClusterParameterGroup (Prelude.Maybe Prelude.Text)+dbClusterParameterGroup_dbClusterParameterGroupName = Lens.lens (\DBClusterParameterGroup' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@DBClusterParameterGroup' {} a -> s {dbClusterParameterGroupName = a} :: DBClusterParameterGroup)++-- | Provides the name of the DB parameter group family that this DB cluster+-- parameter group is compatible with.+dbClusterParameterGroup_dbParameterGroupFamily :: Lens.Lens' DBClusterParameterGroup (Prelude.Maybe Prelude.Text)+dbClusterParameterGroup_dbParameterGroupFamily = Lens.lens (\DBClusterParameterGroup' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DBClusterParameterGroup' {} a -> s {dbParameterGroupFamily = a} :: DBClusterParameterGroup)++-- | Provides the customer-specified description for this DB cluster+-- parameter group.+dbClusterParameterGroup_description :: Lens.Lens' DBClusterParameterGroup (Prelude.Maybe Prelude.Text)+dbClusterParameterGroup_description = Lens.lens (\DBClusterParameterGroup' {description} -> description) (\s@DBClusterParameterGroup' {} a -> s {description = a} :: DBClusterParameterGroup)++instance Data.FromXML DBClusterParameterGroup where+  parseXML x =+    DBClusterParameterGroup'+      Prelude.<$> (x Data..@? "DBClusterParameterGroupArn")+      Prelude.<*> (x Data..@? "DBClusterParameterGroupName")+      Prelude.<*> (x Data..@? "DBParameterGroupFamily")+      Prelude.<*> (x Data..@? "Description")++instance Prelude.Hashable DBClusterParameterGroup where+  hashWithSalt _salt DBClusterParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterParameterGroupArn+      `Prelude.hashWithSalt` dbClusterParameterGroupName+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` description++instance Prelude.NFData DBClusterParameterGroup where+  rnf DBClusterParameterGroup' {..} =+    Prelude.rnf dbClusterParameterGroupArn+      `Prelude.seq` Prelude.rnf dbClusterParameterGroupName+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf description
+ gen/Amazonka/Neptune/Types/DBClusterParameterGroupNameMessage.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBClusterParameterGroupNameMessage+-- 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.Neptune.Types.DBClusterParameterGroupNameMessage 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++-- | /See:/ 'newDBClusterParameterGroupNameMessage' smart constructor.+data DBClusterParameterGroupNameMessage = DBClusterParameterGroupNameMessage'+  { -- | The name of the DB cluster parameter group.+    --+    -- Constraints:+    --+    -- -   Must be 1 to 255 letters or numbers.+    --+    -- -   First character must be a letter+    --+    -- -   Cannot end with a hyphen or contain two consecutive hyphens+    --+    -- This value is stored as a lowercase string.+    dbClusterParameterGroupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterParameterGroupNameMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterParameterGroupName', 'dbClusterParameterGroupNameMessage_dbClusterParameterGroupName' - The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters or numbers.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- This value is stored as a lowercase string.+newDBClusterParameterGroupNameMessage ::+  DBClusterParameterGroupNameMessage+newDBClusterParameterGroupNameMessage =+  DBClusterParameterGroupNameMessage'+    { dbClusterParameterGroupName =+        Prelude.Nothing+    }++-- | The name of the DB cluster parameter group.+--+-- Constraints:+--+-- -   Must be 1 to 255 letters or numbers.+--+-- -   First character must be a letter+--+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- This value is stored as a lowercase string.+dbClusterParameterGroupNameMessage_dbClusterParameterGroupName :: Lens.Lens' DBClusterParameterGroupNameMessage (Prelude.Maybe Prelude.Text)+dbClusterParameterGroupNameMessage_dbClusterParameterGroupName = Lens.lens (\DBClusterParameterGroupNameMessage' {dbClusterParameterGroupName} -> dbClusterParameterGroupName) (\s@DBClusterParameterGroupNameMessage' {} a -> s {dbClusterParameterGroupName = a} :: DBClusterParameterGroupNameMessage)++instance+  Data.FromXML+    DBClusterParameterGroupNameMessage+  where+  parseXML x =+    DBClusterParameterGroupNameMessage'+      Prelude.<$> (x Data..@? "DBClusterParameterGroupName")++instance+  Prelude.Hashable+    DBClusterParameterGroupNameMessage+  where+  hashWithSalt+    _salt+    DBClusterParameterGroupNameMessage' {..} =+      _salt+        `Prelude.hashWithSalt` dbClusterParameterGroupName++instance+  Prelude.NFData+    DBClusterParameterGroupNameMessage+  where+  rnf DBClusterParameterGroupNameMessage' {..} =+    Prelude.rnf dbClusterParameterGroupName
+ gen/Amazonka/Neptune/Types/DBClusterRole.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBClusterRole+-- 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.Neptune.Types.DBClusterRole 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 an Amazon Identity and Access Management (IAM) role that is+-- associated with a DB cluster.+--+-- /See:/ 'newDBClusterRole' smart constructor.+data DBClusterRole = DBClusterRole'+  { -- | The name of the feature associated with the Amazon Identity and Access+    -- Management (IAM) role. For the list of supported feature names, see+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+    featureName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role that is associated with+    -- the DB cluster.+    roleArn :: Prelude.Maybe Prelude.Text,+    -- | Describes the state of association between the IAM role and the DB+    -- cluster. The Status property returns one of the following values:+    --+    -- -   @ACTIVE@ - the IAM role ARN is associated with the DB cluster and+    --     can be used to access other Amazon services on your behalf.+    --+    -- -   @PENDING@ - the IAM role ARN is being associated with the DB+    --     cluster.+    --+    -- -   @INVALID@ - the IAM role ARN is associated with the DB cluster, but+    --     the DB cluster is unable to assume the IAM role in order to access+    --     other Amazon services on your behalf.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterRole' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'featureName', 'dbClusterRole_featureName' - The name of the feature associated with the Amazon Identity and Access+-- Management (IAM) role. For the list of supported feature names, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+--+-- 'roleArn', 'dbClusterRole_roleArn' - The Amazon Resource Name (ARN) of the IAM role that is associated with+-- the DB cluster.+--+-- 'status', 'dbClusterRole_status' - Describes the state of association between the IAM role and the DB+-- cluster. The Status property returns one of the following values:+--+-- -   @ACTIVE@ - the IAM role ARN is associated with the DB cluster and+--     can be used to access other Amazon services on your behalf.+--+-- -   @PENDING@ - the IAM role ARN is being associated with the DB+--     cluster.+--+-- -   @INVALID@ - the IAM role ARN is associated with the DB cluster, but+--     the DB cluster is unable to assume the IAM role in order to access+--     other Amazon services on your behalf.+newDBClusterRole ::+  DBClusterRole+newDBClusterRole =+  DBClusterRole'+    { featureName = Prelude.Nothing,+      roleArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The name of the feature associated with the Amazon Identity and Access+-- Management (IAM) role. For the list of supported feature names, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions DescribeDBEngineVersions>.+dbClusterRole_featureName :: Lens.Lens' DBClusterRole (Prelude.Maybe Prelude.Text)+dbClusterRole_featureName = Lens.lens (\DBClusterRole' {featureName} -> featureName) (\s@DBClusterRole' {} a -> s {featureName = a} :: DBClusterRole)++-- | The Amazon Resource Name (ARN) of the IAM role that is associated with+-- the DB cluster.+dbClusterRole_roleArn :: Lens.Lens' DBClusterRole (Prelude.Maybe Prelude.Text)+dbClusterRole_roleArn = Lens.lens (\DBClusterRole' {roleArn} -> roleArn) (\s@DBClusterRole' {} a -> s {roleArn = a} :: DBClusterRole)++-- | Describes the state of association between the IAM role and the DB+-- cluster. The Status property returns one of the following values:+--+-- -   @ACTIVE@ - the IAM role ARN is associated with the DB cluster and+--     can be used to access other Amazon services on your behalf.+--+-- -   @PENDING@ - the IAM role ARN is being associated with the DB+--     cluster.+--+-- -   @INVALID@ - the IAM role ARN is associated with the DB cluster, but+--     the DB cluster is unable to assume the IAM role in order to access+--     other Amazon services on your behalf.+dbClusterRole_status :: Lens.Lens' DBClusterRole (Prelude.Maybe Prelude.Text)+dbClusterRole_status = Lens.lens (\DBClusterRole' {status} -> status) (\s@DBClusterRole' {} a -> s {status = a} :: DBClusterRole)++instance Data.FromXML DBClusterRole where+  parseXML x =+    DBClusterRole'+      Prelude.<$> (x Data..@? "FeatureName")+      Prelude.<*> (x Data..@? "RoleArn")+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable DBClusterRole where+  hashWithSalt _salt DBClusterRole' {..} =+    _salt+      `Prelude.hashWithSalt` featureName+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData DBClusterRole where+  rnf DBClusterRole' {..} =+    Prelude.rnf featureName+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/DBClusterSnapshot.hs view
@@ -0,0 +1,380 @@+{-# 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.Neptune.Types.DBClusterSnapshot+-- 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.Neptune.Types.DBClusterSnapshot 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++-- | Contains the details for an Amazon Neptune DB cluster snapshot+--+-- This data type is used as a response element in the+-- DescribeDBClusterSnapshots action.+--+-- /See:/ 'newDBClusterSnapshot' smart constructor.+data DBClusterSnapshot = DBClusterSnapshot'+  { -- | Specifies the allocated storage size in gibibytes (GiB).+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Provides the list of EC2 Availability Zones that instances in the DB+    -- cluster snapshot can be restored in.+    availabilityZones :: Prelude.Maybe [Prelude.Text],+    -- | Specifies the time when the DB cluster was created, in Universal+    -- Coordinated Time (UTC).+    clusterCreateTime :: Prelude.Maybe Data.ISO8601,+    -- | Specifies the DB cluster identifier of the DB cluster that this DB+    -- cluster snapshot was created from.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the DB cluster snapshot.+    dbClusterSnapshotArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies the identifier for a DB cluster snapshot. Must match the+    -- identifier of an existing snapshot.+    --+    -- After you restore a DB cluster using a @DBClusterSnapshotIdentifier@,+    -- you must specify the same @DBClusterSnapshotIdentifier@ for any future+    -- updates to the DB cluster. When you specify this property for an update,+    -- the DB cluster is not restored from the snapshot again, and the data in+    -- the database is not changed.+    --+    -- However, if you don\'t specify the @DBClusterSnapshotIdentifier@, an+    -- empty DB cluster is created, and the original DB cluster is deleted. If+    -- you specify a property that is different from the previous snapshot+    -- restore property, the DB cluster is restored from the snapshot specified+    -- by the @DBClusterSnapshotIdentifier@, and the original DB cluster is+    -- deleted.+    dbClusterSnapshotIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Specifies the name of the database engine.+    engine :: Prelude.Maybe Prelude.Text,+    -- | Provides the version of the database engine for this DB cluster+    -- snapshot.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | True if mapping of Amazon Identity and Access Management (IAM) accounts+    -- to database accounts is enabled, and otherwise false.+    iAMDatabaseAuthenticationEnabled :: Prelude.Maybe Prelude.Bool,+    -- | If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+    -- encrypted DB cluster snapshot.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Provides the license model information for this DB cluster snapshot.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUsername :: Prelude.Maybe Prelude.Text,+    -- | Specifies the percentage of the estimated data that has been+    -- transferred.+    percentProgress :: Prelude.Maybe Prelude.Int,+    -- | Specifies the port that the DB cluster was listening on at the time of+    -- the snapshot.+    port :: Prelude.Maybe Prelude.Int,+    -- | Provides the time when the snapshot was taken, in Universal Coordinated+    -- Time (UTC).+    snapshotCreateTime :: Prelude.Maybe Data.ISO8601,+    -- | Provides the type of the DB cluster snapshot.+    snapshotType :: Prelude.Maybe Prelude.Text,+    -- | If the DB cluster snapshot was copied from a source DB cluster snapshot,+    -- the Amazon Resource Name (ARN) for the source DB cluster snapshot,+    -- otherwise, a null value.+    sourceDBClusterSnapshotArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies the status of this DB cluster snapshot.+    status :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the DB cluster snapshot is encrypted.+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | Provides the VPC ID associated with the DB cluster snapshot.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'dbClusterSnapshot_allocatedStorage' - Specifies the allocated storage size in gibibytes (GiB).+--+-- 'availabilityZones', 'dbClusterSnapshot_availabilityZones' - Provides the list of EC2 Availability Zones that instances in the DB+-- cluster snapshot can be restored in.+--+-- 'clusterCreateTime', 'dbClusterSnapshot_clusterCreateTime' - Specifies the time when the DB cluster was created, in Universal+-- Coordinated Time (UTC).+--+-- 'dbClusterIdentifier', 'dbClusterSnapshot_dbClusterIdentifier' - Specifies the DB cluster identifier of the DB cluster that this DB+-- cluster snapshot was created from.+--+-- 'dbClusterSnapshotArn', 'dbClusterSnapshot_dbClusterSnapshotArn' - The Amazon Resource Name (ARN) for the DB cluster snapshot.+--+-- 'dbClusterSnapshotIdentifier', 'dbClusterSnapshot_dbClusterSnapshotIdentifier' - Specifies the identifier for a DB cluster snapshot. Must match the+-- identifier of an existing snapshot.+--+-- After you restore a DB cluster using a @DBClusterSnapshotIdentifier@,+-- you must specify the same @DBClusterSnapshotIdentifier@ for any future+-- updates to the DB cluster. When you specify this property for an update,+-- the DB cluster is not restored from the snapshot again, and the data in+-- the database is not changed.+--+-- However, if you don\'t specify the @DBClusterSnapshotIdentifier@, an+-- empty DB cluster is created, and the original DB cluster is deleted. If+-- you specify a property that is different from the previous snapshot+-- restore property, the DB cluster is restored from the snapshot specified+-- by the @DBClusterSnapshotIdentifier@, and the original DB cluster is+-- deleted.+--+-- 'engine', 'dbClusterSnapshot_engine' - Specifies the name of the database engine.+--+-- 'engineVersion', 'dbClusterSnapshot_engineVersion' - Provides the version of the database engine for this DB cluster+-- snapshot.+--+-- 'iAMDatabaseAuthenticationEnabled', 'dbClusterSnapshot_iAMDatabaseAuthenticationEnabled' - True if mapping of Amazon Identity and Access Management (IAM) accounts+-- to database accounts is enabled, and otherwise false.+--+-- 'kmsKeyId', 'dbClusterSnapshot_kmsKeyId' - If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+-- encrypted DB cluster snapshot.+--+-- 'licenseModel', 'dbClusterSnapshot_licenseModel' - Provides the license model information for this DB cluster snapshot.+--+-- 'masterUsername', 'dbClusterSnapshot_masterUsername' - Not supported by Neptune.+--+-- 'percentProgress', 'dbClusterSnapshot_percentProgress' - Specifies the percentage of the estimated data that has been+-- transferred.+--+-- 'port', 'dbClusterSnapshot_port' - Specifies the port that the DB cluster was listening on at the time of+-- the snapshot.+--+-- 'snapshotCreateTime', 'dbClusterSnapshot_snapshotCreateTime' - Provides the time when the snapshot was taken, in Universal Coordinated+-- Time (UTC).+--+-- 'snapshotType', 'dbClusterSnapshot_snapshotType' - Provides the type of the DB cluster snapshot.+--+-- 'sourceDBClusterSnapshotArn', 'dbClusterSnapshot_sourceDBClusterSnapshotArn' - If the DB cluster snapshot was copied from a source DB cluster snapshot,+-- the Amazon Resource Name (ARN) for the source DB cluster snapshot,+-- otherwise, a null value.+--+-- 'status', 'dbClusterSnapshot_status' - Specifies the status of this DB cluster snapshot.+--+-- 'storageEncrypted', 'dbClusterSnapshot_storageEncrypted' - Specifies whether the DB cluster snapshot is encrypted.+--+-- 'vpcId', 'dbClusterSnapshot_vpcId' - Provides the VPC ID associated with the DB cluster snapshot.+newDBClusterSnapshot ::+  DBClusterSnapshot+newDBClusterSnapshot =+  DBClusterSnapshot'+    { allocatedStorage =+        Prelude.Nothing,+      availabilityZones = Prelude.Nothing,+      clusterCreateTime = Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      dbClusterSnapshotArn = Prelude.Nothing,+      dbClusterSnapshotIdentifier = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      iAMDatabaseAuthenticationEnabled = Prelude.Nothing,+      kmsKeyId = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      masterUsername = Prelude.Nothing,+      percentProgress = Prelude.Nothing,+      port = Prelude.Nothing,+      snapshotCreateTime = Prelude.Nothing,+      snapshotType = Prelude.Nothing,+      sourceDBClusterSnapshotArn = Prelude.Nothing,+      status = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | Specifies the allocated storage size in gibibytes (GiB).+dbClusterSnapshot_allocatedStorage :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Int)+dbClusterSnapshot_allocatedStorage = Lens.lens (\DBClusterSnapshot' {allocatedStorage} -> allocatedStorage) (\s@DBClusterSnapshot' {} a -> s {allocatedStorage = a} :: DBClusterSnapshot)++-- | Provides the list of EC2 Availability Zones that instances in the DB+-- cluster snapshot can be restored in.+dbClusterSnapshot_availabilityZones :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe [Prelude.Text])+dbClusterSnapshot_availabilityZones = Lens.lens (\DBClusterSnapshot' {availabilityZones} -> availabilityZones) (\s@DBClusterSnapshot' {} a -> s {availabilityZones = a} :: DBClusterSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the time when the DB cluster was created, in Universal+-- Coordinated Time (UTC).+dbClusterSnapshot_clusterCreateTime :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.UTCTime)+dbClusterSnapshot_clusterCreateTime = Lens.lens (\DBClusterSnapshot' {clusterCreateTime} -> clusterCreateTime) (\s@DBClusterSnapshot' {} a -> s {clusterCreateTime = a} :: DBClusterSnapshot) Prelude.. Lens.mapping Data._Time++-- | Specifies the DB cluster identifier of the DB cluster that this DB+-- cluster snapshot was created from.+dbClusterSnapshot_dbClusterIdentifier :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_dbClusterIdentifier = Lens.lens (\DBClusterSnapshot' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DBClusterSnapshot' {} a -> s {dbClusterIdentifier = a} :: DBClusterSnapshot)++-- | The Amazon Resource Name (ARN) for the DB cluster snapshot.+dbClusterSnapshot_dbClusterSnapshotArn :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_dbClusterSnapshotArn = Lens.lens (\DBClusterSnapshot' {dbClusterSnapshotArn} -> dbClusterSnapshotArn) (\s@DBClusterSnapshot' {} a -> s {dbClusterSnapshotArn = a} :: DBClusterSnapshot)++-- | Specifies the identifier for a DB cluster snapshot. Must match the+-- identifier of an existing snapshot.+--+-- After you restore a DB cluster using a @DBClusterSnapshotIdentifier@,+-- you must specify the same @DBClusterSnapshotIdentifier@ for any future+-- updates to the DB cluster. When you specify this property for an update,+-- the DB cluster is not restored from the snapshot again, and the data in+-- the database is not changed.+--+-- However, if you don\'t specify the @DBClusterSnapshotIdentifier@, an+-- empty DB cluster is created, and the original DB cluster is deleted. If+-- you specify a property that is different from the previous snapshot+-- restore property, the DB cluster is restored from the snapshot specified+-- by the @DBClusterSnapshotIdentifier@, and the original DB cluster is+-- deleted.+dbClusterSnapshot_dbClusterSnapshotIdentifier :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_dbClusterSnapshotIdentifier = Lens.lens (\DBClusterSnapshot' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@DBClusterSnapshot' {} a -> s {dbClusterSnapshotIdentifier = a} :: DBClusterSnapshot)++-- | Specifies the name of the database engine.+dbClusterSnapshot_engine :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_engine = Lens.lens (\DBClusterSnapshot' {engine} -> engine) (\s@DBClusterSnapshot' {} a -> s {engine = a} :: DBClusterSnapshot)++-- | Provides the version of the database engine for this DB cluster+-- snapshot.+dbClusterSnapshot_engineVersion :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_engineVersion = Lens.lens (\DBClusterSnapshot' {engineVersion} -> engineVersion) (\s@DBClusterSnapshot' {} a -> s {engineVersion = a} :: DBClusterSnapshot)++-- | True if mapping of Amazon Identity and Access Management (IAM) accounts+-- to database accounts is enabled, and otherwise false.+dbClusterSnapshot_iAMDatabaseAuthenticationEnabled :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Bool)+dbClusterSnapshot_iAMDatabaseAuthenticationEnabled = Lens.lens (\DBClusterSnapshot' {iAMDatabaseAuthenticationEnabled} -> iAMDatabaseAuthenticationEnabled) (\s@DBClusterSnapshot' {} a -> s {iAMDatabaseAuthenticationEnabled = a} :: DBClusterSnapshot)++-- | If @StorageEncrypted@ is true, the Amazon KMS key identifier for the+-- encrypted DB cluster snapshot.+dbClusterSnapshot_kmsKeyId :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_kmsKeyId = Lens.lens (\DBClusterSnapshot' {kmsKeyId} -> kmsKeyId) (\s@DBClusterSnapshot' {} a -> s {kmsKeyId = a} :: DBClusterSnapshot)++-- | Provides the license model information for this DB cluster snapshot.+dbClusterSnapshot_licenseModel :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_licenseModel = Lens.lens (\DBClusterSnapshot' {licenseModel} -> licenseModel) (\s@DBClusterSnapshot' {} a -> s {licenseModel = a} :: DBClusterSnapshot)++-- | Not supported by Neptune.+dbClusterSnapshot_masterUsername :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_masterUsername = Lens.lens (\DBClusterSnapshot' {masterUsername} -> masterUsername) (\s@DBClusterSnapshot' {} a -> s {masterUsername = a} :: DBClusterSnapshot)++-- | Specifies the percentage of the estimated data that has been+-- transferred.+dbClusterSnapshot_percentProgress :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Int)+dbClusterSnapshot_percentProgress = Lens.lens (\DBClusterSnapshot' {percentProgress} -> percentProgress) (\s@DBClusterSnapshot' {} a -> s {percentProgress = a} :: DBClusterSnapshot)++-- | Specifies the port that the DB cluster was listening on at the time of+-- the snapshot.+dbClusterSnapshot_port :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Int)+dbClusterSnapshot_port = Lens.lens (\DBClusterSnapshot' {port} -> port) (\s@DBClusterSnapshot' {} a -> s {port = a} :: DBClusterSnapshot)++-- | Provides the time when the snapshot was taken, in Universal Coordinated+-- Time (UTC).+dbClusterSnapshot_snapshotCreateTime :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.UTCTime)+dbClusterSnapshot_snapshotCreateTime = Lens.lens (\DBClusterSnapshot' {snapshotCreateTime} -> snapshotCreateTime) (\s@DBClusterSnapshot' {} a -> s {snapshotCreateTime = a} :: DBClusterSnapshot) Prelude.. Lens.mapping Data._Time++-- | Provides the type of the DB cluster snapshot.+dbClusterSnapshot_snapshotType :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_snapshotType = Lens.lens (\DBClusterSnapshot' {snapshotType} -> snapshotType) (\s@DBClusterSnapshot' {} a -> s {snapshotType = a} :: DBClusterSnapshot)++-- | If the DB cluster snapshot was copied from a source DB cluster snapshot,+-- the Amazon Resource Name (ARN) for the source DB cluster snapshot,+-- otherwise, a null value.+dbClusterSnapshot_sourceDBClusterSnapshotArn :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_sourceDBClusterSnapshotArn = Lens.lens (\DBClusterSnapshot' {sourceDBClusterSnapshotArn} -> sourceDBClusterSnapshotArn) (\s@DBClusterSnapshot' {} a -> s {sourceDBClusterSnapshotArn = a} :: DBClusterSnapshot)++-- | Specifies the status of this DB cluster snapshot.+dbClusterSnapshot_status :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_status = Lens.lens (\DBClusterSnapshot' {status} -> status) (\s@DBClusterSnapshot' {} a -> s {status = a} :: DBClusterSnapshot)++-- | Specifies whether the DB cluster snapshot is encrypted.+dbClusterSnapshot_storageEncrypted :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Bool)+dbClusterSnapshot_storageEncrypted = Lens.lens (\DBClusterSnapshot' {storageEncrypted} -> storageEncrypted) (\s@DBClusterSnapshot' {} a -> s {storageEncrypted = a} :: DBClusterSnapshot)++-- | Provides the VPC ID associated with the DB cluster snapshot.+dbClusterSnapshot_vpcId :: Lens.Lens' DBClusterSnapshot (Prelude.Maybe Prelude.Text)+dbClusterSnapshot_vpcId = Lens.lens (\DBClusterSnapshot' {vpcId} -> vpcId) (\s@DBClusterSnapshot' {} a -> s {vpcId = a} :: DBClusterSnapshot)++instance Data.FromXML DBClusterSnapshot where+  parseXML x =+    DBClusterSnapshot'+      Prelude.<$> (x Data..@? "AllocatedStorage")+      Prelude.<*> ( x+                      Data..@? "AvailabilityZones"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "AvailabilityZone")+                  )+      Prelude.<*> (x Data..@? "ClusterCreateTime")+      Prelude.<*> (x Data..@? "DBClusterIdentifier")+      Prelude.<*> (x Data..@? "DBClusterSnapshotArn")+      Prelude.<*> (x Data..@? "DBClusterSnapshotIdentifier")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "IAMDatabaseAuthenticationEnabled")+      Prelude.<*> (x Data..@? "KmsKeyId")+      Prelude.<*> (x Data..@? "LicenseModel")+      Prelude.<*> (x Data..@? "MasterUsername")+      Prelude.<*> (x Data..@? "PercentProgress")+      Prelude.<*> (x Data..@? "Port")+      Prelude.<*> (x Data..@? "SnapshotCreateTime")+      Prelude.<*> (x Data..@? "SnapshotType")+      Prelude.<*> (x Data..@? "SourceDBClusterSnapshotArn")+      Prelude.<*> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "StorageEncrypted")+      Prelude.<*> (x Data..@? "VpcId")++instance Prelude.Hashable DBClusterSnapshot where+  hashWithSalt _salt DBClusterSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` availabilityZones+      `Prelude.hashWithSalt` clusterCreateTime+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbClusterSnapshotArn+      `Prelude.hashWithSalt` dbClusterSnapshotIdentifier+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` iAMDatabaseAuthenticationEnabled+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` masterUsername+      `Prelude.hashWithSalt` percentProgress+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` snapshotCreateTime+      `Prelude.hashWithSalt` snapshotType+      `Prelude.hashWithSalt` sourceDBClusterSnapshotArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData DBClusterSnapshot where+  rnf DBClusterSnapshot' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf availabilityZones+      `Prelude.seq` Prelude.rnf clusterCreateTime+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbClusterSnapshotArn+      `Prelude.seq` Prelude.rnf dbClusterSnapshotIdentifier+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf iAMDatabaseAuthenticationEnabled+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf masterUsername+      `Prelude.seq` Prelude.rnf percentProgress+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf snapshotCreateTime+      `Prelude.seq` Prelude.rnf snapshotType+      `Prelude.seq` Prelude.rnf+        sourceDBClusterSnapshotArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf storageEncrypted+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/Neptune/Types/DBClusterSnapshotAttribute.hs view
@@ -0,0 +1,119 @@+{-# 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.Neptune.Types.DBClusterSnapshotAttribute+-- 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.Neptune.Types.DBClusterSnapshotAttribute 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++-- | Contains the name and values of a manual DB cluster snapshot attribute.+--+-- Manual DB cluster snapshot attributes are used to authorize other Amazon+-- accounts to restore a manual DB cluster snapshot. For more information,+-- see the ModifyDBClusterSnapshotAttribute API action.+--+-- /See:/ 'newDBClusterSnapshotAttribute' smart constructor.+data DBClusterSnapshotAttribute = DBClusterSnapshotAttribute'+  { -- | The name of the manual DB cluster snapshot attribute.+    --+    -- The attribute named @restore@ refers to the list of Amazon accounts that+    -- have permission to copy or restore the manual DB cluster snapshot. For+    -- more information, see the ModifyDBClusterSnapshotAttribute API action.+    attributeName :: Prelude.Maybe Prelude.Text,+    -- | The value(s) for the manual DB cluster snapshot attribute.+    --+    -- If the @AttributeName@ field is set to @restore@, then this element+    -- returns a list of IDs of the Amazon accounts that are authorized to copy+    -- or restore the manual DB cluster snapshot. If a value of @all@ is in the+    -- list, then the manual DB cluster snapshot is public and available for+    -- any Amazon account to copy or restore.+    attributeValues :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterSnapshotAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributeName', 'dbClusterSnapshotAttribute_attributeName' - The name of the manual DB cluster snapshot attribute.+--+-- The attribute named @restore@ refers to the list of Amazon accounts that+-- have permission to copy or restore the manual DB cluster snapshot. For+-- more information, see the ModifyDBClusterSnapshotAttribute API action.+--+-- 'attributeValues', 'dbClusterSnapshotAttribute_attributeValues' - The value(s) for the manual DB cluster snapshot attribute.+--+-- If the @AttributeName@ field is set to @restore@, then this element+-- returns a list of IDs of the Amazon accounts that are authorized to copy+-- or restore the manual DB cluster snapshot. If a value of @all@ is in the+-- list, then the manual DB cluster snapshot is public and available for+-- any Amazon account to copy or restore.+newDBClusterSnapshotAttribute ::+  DBClusterSnapshotAttribute+newDBClusterSnapshotAttribute =+  DBClusterSnapshotAttribute'+    { attributeName =+        Prelude.Nothing,+      attributeValues = Prelude.Nothing+    }++-- | The name of the manual DB cluster snapshot attribute.+--+-- The attribute named @restore@ refers to the list of Amazon accounts that+-- have permission to copy or restore the manual DB cluster snapshot. For+-- more information, see the ModifyDBClusterSnapshotAttribute API action.+dbClusterSnapshotAttribute_attributeName :: Lens.Lens' DBClusterSnapshotAttribute (Prelude.Maybe Prelude.Text)+dbClusterSnapshotAttribute_attributeName = Lens.lens (\DBClusterSnapshotAttribute' {attributeName} -> attributeName) (\s@DBClusterSnapshotAttribute' {} a -> s {attributeName = a} :: DBClusterSnapshotAttribute)++-- | The value(s) for the manual DB cluster snapshot attribute.+--+-- If the @AttributeName@ field is set to @restore@, then this element+-- returns a list of IDs of the Amazon accounts that are authorized to copy+-- or restore the manual DB cluster snapshot. If a value of @all@ is in the+-- list, then the manual DB cluster snapshot is public and available for+-- any Amazon account to copy or restore.+dbClusterSnapshotAttribute_attributeValues :: Lens.Lens' DBClusterSnapshotAttribute (Prelude.Maybe [Prelude.Text])+dbClusterSnapshotAttribute_attributeValues = Lens.lens (\DBClusterSnapshotAttribute' {attributeValues} -> attributeValues) (\s@DBClusterSnapshotAttribute' {} a -> s {attributeValues = a} :: DBClusterSnapshotAttribute) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML DBClusterSnapshotAttribute where+  parseXML x =+    DBClusterSnapshotAttribute'+      Prelude.<$> (x Data..@? "AttributeName")+      Prelude.<*> ( x+                      Data..@? "AttributeValues"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "AttributeValue")+                  )++instance Prelude.Hashable DBClusterSnapshotAttribute where+  hashWithSalt _salt DBClusterSnapshotAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` attributeName+      `Prelude.hashWithSalt` attributeValues++instance Prelude.NFData DBClusterSnapshotAttribute where+  rnf DBClusterSnapshotAttribute' {..} =+    Prelude.rnf attributeName+      `Prelude.seq` Prelude.rnf attributeValues
+ gen/Amazonka/Neptune/Types/DBClusterSnapshotAttributesResult.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBClusterSnapshotAttributesResult+-- 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.Neptune.Types.DBClusterSnapshotAttributesResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.DBClusterSnapshotAttribute+import qualified Amazonka.Prelude as Prelude++-- | Contains the results of a successful call to the+-- DescribeDBClusterSnapshotAttributes API action.+--+-- Manual DB cluster snapshot attributes are used to authorize other Amazon+-- accounts to copy or restore a manual DB cluster snapshot. For more+-- information, see the ModifyDBClusterSnapshotAttribute API action.+--+-- /See:/ 'newDBClusterSnapshotAttributesResult' smart constructor.+data DBClusterSnapshotAttributesResult = DBClusterSnapshotAttributesResult'+  { -- | The list of attributes and values for the manual DB cluster snapshot.+    dbClusterSnapshotAttributes :: Prelude.Maybe [DBClusterSnapshotAttribute],+    -- | The identifier of the manual DB cluster snapshot that the attributes+    -- apply to.+    dbClusterSnapshotIdentifier :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBClusterSnapshotAttributesResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterSnapshotAttributes', 'dbClusterSnapshotAttributesResult_dbClusterSnapshotAttributes' - The list of attributes and values for the manual DB cluster snapshot.+--+-- 'dbClusterSnapshotIdentifier', 'dbClusterSnapshotAttributesResult_dbClusterSnapshotIdentifier' - The identifier of the manual DB cluster snapshot that the attributes+-- apply to.+newDBClusterSnapshotAttributesResult ::+  DBClusterSnapshotAttributesResult+newDBClusterSnapshotAttributesResult =+  DBClusterSnapshotAttributesResult'+    { dbClusterSnapshotAttributes =+        Prelude.Nothing,+      dbClusterSnapshotIdentifier =+        Prelude.Nothing+    }++-- | The list of attributes and values for the manual DB cluster snapshot.+dbClusterSnapshotAttributesResult_dbClusterSnapshotAttributes :: Lens.Lens' DBClusterSnapshotAttributesResult (Prelude.Maybe [DBClusterSnapshotAttribute])+dbClusterSnapshotAttributesResult_dbClusterSnapshotAttributes = Lens.lens (\DBClusterSnapshotAttributesResult' {dbClusterSnapshotAttributes} -> dbClusterSnapshotAttributes) (\s@DBClusterSnapshotAttributesResult' {} a -> s {dbClusterSnapshotAttributes = a} :: DBClusterSnapshotAttributesResult) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the manual DB cluster snapshot that the attributes+-- apply to.+dbClusterSnapshotAttributesResult_dbClusterSnapshotIdentifier :: Lens.Lens' DBClusterSnapshotAttributesResult (Prelude.Maybe Prelude.Text)+dbClusterSnapshotAttributesResult_dbClusterSnapshotIdentifier = Lens.lens (\DBClusterSnapshotAttributesResult' {dbClusterSnapshotIdentifier} -> dbClusterSnapshotIdentifier) (\s@DBClusterSnapshotAttributesResult' {} a -> s {dbClusterSnapshotIdentifier = a} :: DBClusterSnapshotAttributesResult)++instance+  Data.FromXML+    DBClusterSnapshotAttributesResult+  where+  parseXML x =+    DBClusterSnapshotAttributesResult'+      Prelude.<$> ( x+                      Data..@? "DBClusterSnapshotAttributes"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        (Data.parseXMLList "DBClusterSnapshotAttribute")+                  )+      Prelude.<*> (x Data..@? "DBClusterSnapshotIdentifier")++instance+  Prelude.Hashable+    DBClusterSnapshotAttributesResult+  where+  hashWithSalt+    _salt+    DBClusterSnapshotAttributesResult' {..} =+      _salt+        `Prelude.hashWithSalt` dbClusterSnapshotAttributes+        `Prelude.hashWithSalt` dbClusterSnapshotIdentifier++instance+  Prelude.NFData+    DBClusterSnapshotAttributesResult+  where+  rnf DBClusterSnapshotAttributesResult' {..} =+    Prelude.rnf dbClusterSnapshotAttributes+      `Prelude.seq` Prelude.rnf dbClusterSnapshotIdentifier
+ gen/Amazonka/Neptune/Types/DBEngineVersion.hs view
@@ -0,0 +1,248 @@+{-# 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.Neptune.Types.DBEngineVersion+-- 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.Neptune.Types.DBEngineVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.CharacterSet+import Amazonka.Neptune.Types.Timezone+import Amazonka.Neptune.Types.UpgradeTarget+import qualified Amazonka.Prelude as Prelude++-- | This data type is used as a response element in the action+-- DescribeDBEngineVersions.+--+-- /See:/ 'newDBEngineVersion' smart constructor.+data DBEngineVersion = DBEngineVersion'+  { -- | The description of the database engine.+    dbEngineDescription :: Prelude.Maybe Prelude.Text,+    -- | The description of the database engine version.+    dbEngineVersionDescription :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB parameter group family for the database engine.+    dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    defaultCharacterSet :: Prelude.Maybe CharacterSet,+    -- | The name of the database engine.+    engine :: Prelude.Maybe Prelude.Text,+    -- | The version number of the database engine.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The types of logs that the database engine has available for export to+    -- CloudWatch Logs.+    exportableLogTypes :: Prelude.Maybe [Prelude.Text],+    -- | /(Not supported by Neptune)/+    supportedCharacterSets :: Prelude.Maybe [CharacterSet],+    -- | A list of the time zones supported by this engine for the @Timezone@+    -- parameter of the @CreateDBInstance@ action.+    supportedTimezones :: Prelude.Maybe [Timezone],+    -- | A value that indicates whether you can use Aurora global databases with+    -- a specific DB engine version.+    supportsGlobalDatabases :: Prelude.Maybe Prelude.Bool,+    -- | A value that indicates whether the engine version supports exporting the+    -- log types specified by ExportableLogTypes to CloudWatch Logs.+    supportsLogExportsToCloudwatchLogs :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether the database engine version supports read replicas.+    supportsReadReplica :: Prelude.Maybe Prelude.Bool,+    -- | A list of engine versions that this database engine version can be+    -- upgraded to.+    validUpgradeTarget :: Prelude.Maybe [UpgradeTarget]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBEngineVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbEngineDescription', 'dbEngineVersion_dbEngineDescription' - The description of the database engine.+--+-- 'dbEngineVersionDescription', 'dbEngineVersion_dbEngineVersionDescription' - The description of the database engine version.+--+-- 'dbParameterGroupFamily', 'dbEngineVersion_dbParameterGroupFamily' - The name of the DB parameter group family for the database engine.+--+-- 'defaultCharacterSet', 'dbEngineVersion_defaultCharacterSet' - /(Not supported by Neptune)/+--+-- 'engine', 'dbEngineVersion_engine' - The name of the database engine.+--+-- 'engineVersion', 'dbEngineVersion_engineVersion' - The version number of the database engine.+--+-- 'exportableLogTypes', 'dbEngineVersion_exportableLogTypes' - The types of logs that the database engine has available for export to+-- CloudWatch Logs.+--+-- 'supportedCharacterSets', 'dbEngineVersion_supportedCharacterSets' - /(Not supported by Neptune)/+--+-- 'supportedTimezones', 'dbEngineVersion_supportedTimezones' - A list of the time zones supported by this engine for the @Timezone@+-- parameter of the @CreateDBInstance@ action.+--+-- 'supportsGlobalDatabases', 'dbEngineVersion_supportsGlobalDatabases' - A value that indicates whether you can use Aurora global databases with+-- a specific DB engine version.+--+-- 'supportsLogExportsToCloudwatchLogs', 'dbEngineVersion_supportsLogExportsToCloudwatchLogs' - A value that indicates whether the engine version supports exporting the+-- log types specified by ExportableLogTypes to CloudWatch Logs.+--+-- 'supportsReadReplica', 'dbEngineVersion_supportsReadReplica' - Indicates whether the database engine version supports read replicas.+--+-- 'validUpgradeTarget', 'dbEngineVersion_validUpgradeTarget' - A list of engine versions that this database engine version can be+-- upgraded to.+newDBEngineVersion ::+  DBEngineVersion+newDBEngineVersion =+  DBEngineVersion'+    { dbEngineDescription =+        Prelude.Nothing,+      dbEngineVersionDescription = Prelude.Nothing,+      dbParameterGroupFamily = Prelude.Nothing,+      defaultCharacterSet = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      exportableLogTypes = Prelude.Nothing,+      supportedCharacterSets = Prelude.Nothing,+      supportedTimezones = Prelude.Nothing,+      supportsGlobalDatabases = Prelude.Nothing,+      supportsLogExportsToCloudwatchLogs = Prelude.Nothing,+      supportsReadReplica = Prelude.Nothing,+      validUpgradeTarget = Prelude.Nothing+    }++-- | The description of the database engine.+dbEngineVersion_dbEngineDescription :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Text)+dbEngineVersion_dbEngineDescription = Lens.lens (\DBEngineVersion' {dbEngineDescription} -> dbEngineDescription) (\s@DBEngineVersion' {} a -> s {dbEngineDescription = a} :: DBEngineVersion)++-- | The description of the database engine version.+dbEngineVersion_dbEngineVersionDescription :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Text)+dbEngineVersion_dbEngineVersionDescription = Lens.lens (\DBEngineVersion' {dbEngineVersionDescription} -> dbEngineVersionDescription) (\s@DBEngineVersion' {} a -> s {dbEngineVersionDescription = a} :: DBEngineVersion)++-- | The name of the DB parameter group family for the database engine.+dbEngineVersion_dbParameterGroupFamily :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Text)+dbEngineVersion_dbParameterGroupFamily = Lens.lens (\DBEngineVersion' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DBEngineVersion' {} a -> s {dbParameterGroupFamily = a} :: DBEngineVersion)++-- | /(Not supported by Neptune)/+dbEngineVersion_defaultCharacterSet :: Lens.Lens' DBEngineVersion (Prelude.Maybe CharacterSet)+dbEngineVersion_defaultCharacterSet = Lens.lens (\DBEngineVersion' {defaultCharacterSet} -> defaultCharacterSet) (\s@DBEngineVersion' {} a -> s {defaultCharacterSet = a} :: DBEngineVersion)++-- | The name of the database engine.+dbEngineVersion_engine :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Text)+dbEngineVersion_engine = Lens.lens (\DBEngineVersion' {engine} -> engine) (\s@DBEngineVersion' {} a -> s {engine = a} :: DBEngineVersion)++-- | The version number of the database engine.+dbEngineVersion_engineVersion :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Text)+dbEngineVersion_engineVersion = Lens.lens (\DBEngineVersion' {engineVersion} -> engineVersion) (\s@DBEngineVersion' {} a -> s {engineVersion = a} :: DBEngineVersion)++-- | The types of logs that the database engine has available for export to+-- CloudWatch Logs.+dbEngineVersion_exportableLogTypes :: Lens.Lens' DBEngineVersion (Prelude.Maybe [Prelude.Text])+dbEngineVersion_exportableLogTypes = Lens.lens (\DBEngineVersion' {exportableLogTypes} -> exportableLogTypes) (\s@DBEngineVersion' {} a -> s {exportableLogTypes = a} :: DBEngineVersion) Prelude.. Lens.mapping Lens.coerced++-- | /(Not supported by Neptune)/+dbEngineVersion_supportedCharacterSets :: Lens.Lens' DBEngineVersion (Prelude.Maybe [CharacterSet])+dbEngineVersion_supportedCharacterSets = Lens.lens (\DBEngineVersion' {supportedCharacterSets} -> supportedCharacterSets) (\s@DBEngineVersion' {} a -> s {supportedCharacterSets = a} :: DBEngineVersion) Prelude.. Lens.mapping Lens.coerced++-- | A list of the time zones supported by this engine for the @Timezone@+-- parameter of the @CreateDBInstance@ action.+dbEngineVersion_supportedTimezones :: Lens.Lens' DBEngineVersion (Prelude.Maybe [Timezone])+dbEngineVersion_supportedTimezones = Lens.lens (\DBEngineVersion' {supportedTimezones} -> supportedTimezones) (\s@DBEngineVersion' {} a -> s {supportedTimezones = a} :: DBEngineVersion) Prelude.. Lens.mapping Lens.coerced++-- | A value that indicates whether you can use Aurora global databases with+-- a specific DB engine version.+dbEngineVersion_supportsGlobalDatabases :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Bool)+dbEngineVersion_supportsGlobalDatabases = Lens.lens (\DBEngineVersion' {supportsGlobalDatabases} -> supportsGlobalDatabases) (\s@DBEngineVersion' {} a -> s {supportsGlobalDatabases = a} :: DBEngineVersion)++-- | A value that indicates whether the engine version supports exporting the+-- log types specified by ExportableLogTypes to CloudWatch Logs.+dbEngineVersion_supportsLogExportsToCloudwatchLogs :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Bool)+dbEngineVersion_supportsLogExportsToCloudwatchLogs = Lens.lens (\DBEngineVersion' {supportsLogExportsToCloudwatchLogs} -> supportsLogExportsToCloudwatchLogs) (\s@DBEngineVersion' {} a -> s {supportsLogExportsToCloudwatchLogs = a} :: DBEngineVersion)++-- | Indicates whether the database engine version supports read replicas.+dbEngineVersion_supportsReadReplica :: Lens.Lens' DBEngineVersion (Prelude.Maybe Prelude.Bool)+dbEngineVersion_supportsReadReplica = Lens.lens (\DBEngineVersion' {supportsReadReplica} -> supportsReadReplica) (\s@DBEngineVersion' {} a -> s {supportsReadReplica = a} :: DBEngineVersion)++-- | A list of engine versions that this database engine version can be+-- upgraded to.+dbEngineVersion_validUpgradeTarget :: Lens.Lens' DBEngineVersion (Prelude.Maybe [UpgradeTarget])+dbEngineVersion_validUpgradeTarget = Lens.lens (\DBEngineVersion' {validUpgradeTarget} -> validUpgradeTarget) (\s@DBEngineVersion' {} a -> s {validUpgradeTarget = a} :: DBEngineVersion) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML DBEngineVersion where+  parseXML x =+    DBEngineVersion'+      Prelude.<$> (x Data..@? "DBEngineDescription")+      Prelude.<*> (x Data..@? "DBEngineVersionDescription")+      Prelude.<*> (x Data..@? "DBParameterGroupFamily")+      Prelude.<*> (x Data..@? "DefaultCharacterSet")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> ( x+                      Data..@? "ExportableLogTypes"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> ( x+                      Data..@? "SupportedCharacterSets"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "CharacterSet")+                  )+      Prelude.<*> ( x+                      Data..@? "SupportedTimezones"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Timezone")+                  )+      Prelude.<*> (x Data..@? "SupportsGlobalDatabases")+      Prelude.<*> (x Data..@? "SupportsLogExportsToCloudwatchLogs")+      Prelude.<*> (x Data..@? "SupportsReadReplica")+      Prelude.<*> ( x+                      Data..@? "ValidUpgradeTarget"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "UpgradeTarget")+                  )++instance Prelude.Hashable DBEngineVersion where+  hashWithSalt _salt DBEngineVersion' {..} =+    _salt+      `Prelude.hashWithSalt` dbEngineDescription+      `Prelude.hashWithSalt` dbEngineVersionDescription+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` defaultCharacterSet+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` exportableLogTypes+      `Prelude.hashWithSalt` supportedCharacterSets+      `Prelude.hashWithSalt` supportedTimezones+      `Prelude.hashWithSalt` supportsGlobalDatabases+      `Prelude.hashWithSalt` supportsLogExportsToCloudwatchLogs+      `Prelude.hashWithSalt` supportsReadReplica+      `Prelude.hashWithSalt` validUpgradeTarget++instance Prelude.NFData DBEngineVersion where+  rnf DBEngineVersion' {..} =+    Prelude.rnf dbEngineDescription+      `Prelude.seq` Prelude.rnf dbEngineVersionDescription+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf defaultCharacterSet+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf exportableLogTypes+      `Prelude.seq` Prelude.rnf supportedCharacterSets+      `Prelude.seq` Prelude.rnf supportedTimezones+      `Prelude.seq` Prelude.rnf supportsGlobalDatabases+      `Prelude.seq` Prelude.rnf supportsLogExportsToCloudwatchLogs+      `Prelude.seq` Prelude.rnf supportsReadReplica+      `Prelude.seq` Prelude.rnf validUpgradeTarget
+ gen/Amazonka/Neptune/Types/DBInstance.hs view
@@ -0,0 +1,891 @@+{-# 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.Neptune.Types.DBInstance+-- 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.Neptune.Types.DBInstance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.DBInstanceStatusInfo+import Amazonka.Neptune.Types.DBParameterGroupStatus+import Amazonka.Neptune.Types.DBSecurityGroupMembership+import Amazonka.Neptune.Types.DBSubnetGroup+import Amazonka.Neptune.Types.DomainMembership+import Amazonka.Neptune.Types.Endpoint+import Amazonka.Neptune.Types.OptionGroupMembership+import Amazonka.Neptune.Types.PendingModifiedValues+import Amazonka.Neptune.Types.VpcSecurityGroupMembership+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an Amazon Neptune DB instance.+--+-- This data type is used as a response element in the DescribeDBInstances+-- action.+--+-- /See:/ 'newDBInstance' smart constructor.+data DBInstance = DBInstance'+  { -- | Not supported by Neptune.+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Indicates that minor version patches are applied automatically.+    autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the name of the Availability Zone the DB instance is located+    -- in.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | Specifies the number of days for which automatic DB snapshots are+    -- retained.+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | The identifier of the CA certificate for this DB instance.+    cACertificateIdentifier :: Prelude.Maybe Prelude.Text,+    -- | /(Not supported by Neptune)/+    characterSetName :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether tags are copied from the DB instance to snapshots of+    -- the DB instance.+    copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,+    -- | If the DB instance is a member of a DB cluster, contains the name of the+    -- DB cluster that the DB instance is a member of.+    dbClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the DB instance.+    dbInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | Contains the name of the compute and memory capacity class of the DB+    -- instance.+    dbInstanceClass :: Prelude.Maybe Prelude.Text,+    -- | Contains a user-supplied database identifier. This identifier is the+    -- unique key that identifies a DB instance.+    dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Specifies the current state of this database.+    dbInstanceStatus :: Prelude.Maybe Prelude.Text,+    -- | The database name.+    dbName :: Prelude.Maybe Prelude.Text,+    -- | Provides the list of DB parameter groups applied to this DB instance.+    dbParameterGroups :: Prelude.Maybe [DBParameterGroupStatus],+    -- | Provides List of DB security group elements containing only+    -- @DBSecurityGroup.Name@ and @DBSecurityGroup.Status@ subelements.+    dbSecurityGroups :: Prelude.Maybe [DBSecurityGroupMembership],+    -- | Specifies information on the subnet group associated with the DB+    -- instance, including the name, description, and subnets in the subnet+    -- group.+    dbSubnetGroup :: Prelude.Maybe DBSubnetGroup,+    -- | Specifies the port that the DB instance listens on. If the DB instance+    -- is part of a DB cluster, this can be a different port than the DB+    -- cluster port.+    dbInstancePort :: Prelude.Maybe Prelude.Int,+    -- | The Amazon Region-unique, immutable identifier for the DB instance. This+    -- identifier is found in Amazon CloudTrail log entries whenever the Amazon+    -- KMS key for the DB instance is accessed.+    dbiResourceId :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether or not the DB instance has deletion protection+    -- enabled. The instance can\'t be deleted when deletion protection is+    -- enabled. See+    -- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | Not supported+    domainMemberships :: Prelude.Maybe [DomainMembership],+    -- | A list of log types that this DB instance is configured to export to+    -- CloudWatch Logs.+    enabledCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],+    -- | Specifies the connection endpoint.+    endpoint :: Prelude.Maybe Endpoint,+    -- | Provides the name of the database engine to be used for this DB+    -- instance.+    engine :: Prelude.Maybe Prelude.Text,+    -- | Indicates the database engine version.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream+    -- that receives the Enhanced Monitoring metrics data for the DB instance.+    enhancedMonitoringResourceArn :: Prelude.Maybe Prelude.Text,+    -- | True if Amazon Identity and Access Management (IAM) authentication is+    -- enabled, and otherwise false.+    iAMDatabaseAuthenticationEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Provides the date and time the DB instance was created.+    instanceCreateTime :: Prelude.Maybe Data.ISO8601,+    -- | Specifies the Provisioned IOPS (I\/O operations per second) value.+    iops :: Prelude.Maybe Prelude.Int,+    -- | Not supported: The encryption for DB instances is managed by the DB+    -- cluster.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the latest time to which a database can be restored with+    -- point-in-time restore.+    latestRestorableTime :: Prelude.Maybe Data.ISO8601,+    -- | License model information for this DB instance.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUsername :: Prelude.Maybe Prelude.Text,+    -- | The interval, in seconds, between points when Enhanced Monitoring+    -- metrics are collected for the DB instance.+    monitoringInterval :: Prelude.Maybe Prelude.Int,+    -- | The ARN for the IAM role that permits Neptune to send Enhanced+    -- Monitoring metrics to Amazon CloudWatch Logs.+    monitoringRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies if the DB instance is a Multi-AZ deployment.+    multiAZ :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    optionGroupMemberships :: Prelude.Maybe [OptionGroupMembership],+    -- | Specifies that changes to the DB instance are pending. This element is+    -- only included when changes are pending. Specific changes are identified+    -- by subelements.+    pendingModifiedValues :: Prelude.Maybe PendingModifiedValues,+    -- | /(Not supported by Neptune)/+    performanceInsightsEnabled :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    performanceInsightsKMSKeyId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the daily time range during which automated backups are+    -- created if automated backups are enabled, as determined by the+    -- @BackupRetentionPeriod@.+    preferredBackupWindow :: Prelude.Maybe Prelude.Text,+    -- | Specifies the weekly time range during which system maintenance can+    -- occur, in Universal Coordinated Time (UTC).+    preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,+    -- | A value that specifies the order in which a Read Replica is promoted to+    -- the primary instance after a failure of the existing primary instance.+    promotionTier :: Prelude.Maybe Prelude.Int,+    -- | This flag should no longer be used.+    publiclyAccessible :: Prelude.Maybe Prelude.Bool,+    -- | Contains one or more identifiers of DB clusters that are Read Replicas+    -- of this DB instance.+    readReplicaDBClusterIdentifiers :: Prelude.Maybe [Prelude.Text],+    -- | Contains one or more identifiers of the Read Replicas associated with+    -- this DB instance.+    readReplicaDBInstanceIdentifiers :: Prelude.Maybe [Prelude.Text],+    -- | Contains the identifier of the source DB instance if this DB instance is+    -- a Read Replica.+    readReplicaSourceDBInstanceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the name of the secondary Availability Zone for a+    -- DB instance with multi-AZ support.+    secondaryAvailabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The status of a Read Replica. If the instance is not a Read Replica,+    -- this is blank.+    statusInfos :: Prelude.Maybe [DBInstanceStatusInfo],+    -- | Not supported: The encryption for DB instances is managed by the DB+    -- cluster.+    storageEncrypted :: Prelude.Maybe Prelude.Bool,+    -- | Specifies the storage type associated with DB instance.+    storageType :: Prelude.Maybe Prelude.Text,+    -- | The ARN from the key store with which the instance is associated for TDE+    -- encryption.+    tdeCredentialArn :: Prelude.Maybe Prelude.Text,+    -- | Not supported.+    timezone :: Prelude.Maybe Prelude.Text,+    -- | Provides a list of VPC security group elements that the DB instance+    -- belongs to.+    vpcSecurityGroups :: Prelude.Maybe [VpcSecurityGroupMembership]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'dbInstance_allocatedStorage' - Not supported by Neptune.+--+-- 'autoMinorVersionUpgrade', 'dbInstance_autoMinorVersionUpgrade' - Indicates that minor version patches are applied automatically.+--+-- 'availabilityZone', 'dbInstance_availabilityZone' - Specifies the name of the Availability Zone the DB instance is located+-- in.+--+-- 'backupRetentionPeriod', 'dbInstance_backupRetentionPeriod' - Specifies the number of days for which automatic DB snapshots are+-- retained.+--+-- 'cACertificateIdentifier', 'dbInstance_cACertificateIdentifier' - The identifier of the CA certificate for this DB instance.+--+-- 'characterSetName', 'dbInstance_characterSetName' - /(Not supported by Neptune)/+--+-- 'copyTagsToSnapshot', 'dbInstance_copyTagsToSnapshot' - Specifies whether tags are copied from the DB instance to snapshots of+-- the DB instance.+--+-- 'dbClusterIdentifier', 'dbInstance_dbClusterIdentifier' - If the DB instance is a member of a DB cluster, contains the name of the+-- DB cluster that the DB instance is a member of.+--+-- 'dbInstanceArn', 'dbInstance_dbInstanceArn' - The Amazon Resource Name (ARN) for the DB instance.+--+-- 'dbInstanceClass', 'dbInstance_dbInstanceClass' - Contains the name of the compute and memory capacity class of the DB+-- instance.+--+-- 'dbInstanceIdentifier', 'dbInstance_dbInstanceIdentifier' - Contains a user-supplied database identifier. This identifier is the+-- unique key that identifies a DB instance.+--+-- 'dbInstanceStatus', 'dbInstance_dbInstanceStatus' - Specifies the current state of this database.+--+-- 'dbName', 'dbInstance_dbName' - The database name.+--+-- 'dbParameterGroups', 'dbInstance_dbParameterGroups' - Provides the list of DB parameter groups applied to this DB instance.+--+-- 'dbSecurityGroups', 'dbInstance_dbSecurityGroups' - Provides List of DB security group elements containing only+-- @DBSecurityGroup.Name@ and @DBSecurityGroup.Status@ subelements.+--+-- 'dbSubnetGroup', 'dbInstance_dbSubnetGroup' - Specifies information on the subnet group associated with the DB+-- instance, including the name, description, and subnets in the subnet+-- group.+--+-- 'dbInstancePort', 'dbInstance_dbInstancePort' - Specifies the port that the DB instance listens on. If the DB instance+-- is part of a DB cluster, this can be a different port than the DB+-- cluster port.+--+-- 'dbiResourceId', 'dbInstance_dbiResourceId' - The Amazon Region-unique, immutable identifier for the DB instance. This+-- identifier is found in Amazon CloudTrail log entries whenever the Amazon+-- KMS key for the DB instance is accessed.+--+-- 'deletionProtection', 'dbInstance_deletionProtection' - Indicates whether or not the DB instance has deletion protection+-- enabled. The instance can\'t be deleted when deletion protection is+-- enabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+--+-- 'domainMemberships', 'dbInstance_domainMemberships' - Not supported+--+-- 'enabledCloudwatchLogsExports', 'dbInstance_enabledCloudwatchLogsExports' - A list of log types that this DB instance is configured to export to+-- CloudWatch Logs.+--+-- 'endpoint', 'dbInstance_endpoint' - Specifies the connection endpoint.+--+-- 'engine', 'dbInstance_engine' - Provides the name of the database engine to be used for this DB+-- instance.+--+-- 'engineVersion', 'dbInstance_engineVersion' - Indicates the database engine version.+--+-- 'enhancedMonitoringResourceArn', 'dbInstance_enhancedMonitoringResourceArn' - The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream+-- that receives the Enhanced Monitoring metrics data for the DB instance.+--+-- 'iAMDatabaseAuthenticationEnabled', 'dbInstance_iAMDatabaseAuthenticationEnabled' - True if Amazon Identity and Access Management (IAM) authentication is+-- enabled, and otherwise false.+--+-- 'instanceCreateTime', 'dbInstance_instanceCreateTime' - Provides the date and time the DB instance was created.+--+-- 'iops', 'dbInstance_iops' - Specifies the Provisioned IOPS (I\/O operations per second) value.+--+-- 'kmsKeyId', 'dbInstance_kmsKeyId' - Not supported: The encryption for DB instances is managed by the DB+-- cluster.+--+-- 'latestRestorableTime', 'dbInstance_latestRestorableTime' - Specifies the latest time to which a database can be restored with+-- point-in-time restore.+--+-- 'licenseModel', 'dbInstance_licenseModel' - License model information for this DB instance.+--+-- 'masterUsername', 'dbInstance_masterUsername' - Not supported by Neptune.+--+-- 'monitoringInterval', 'dbInstance_monitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance.+--+-- 'monitoringRoleArn', 'dbInstance_monitoringRoleArn' - The ARN for the IAM role that permits Neptune to send Enhanced+-- Monitoring metrics to Amazon CloudWatch Logs.+--+-- 'multiAZ', 'dbInstance_multiAZ' - Specifies if the DB instance is a Multi-AZ deployment.+--+-- 'optionGroupMemberships', 'dbInstance_optionGroupMemberships' - /(Not supported by Neptune)/+--+-- 'pendingModifiedValues', 'dbInstance_pendingModifiedValues' - Specifies that changes to the DB instance are pending. This element is+-- only included when changes are pending. Specific changes are identified+-- by subelements.+--+-- 'performanceInsightsEnabled', 'dbInstance_performanceInsightsEnabled' - /(Not supported by Neptune)/+--+-- 'performanceInsightsKMSKeyId', 'dbInstance_performanceInsightsKMSKeyId' - /(Not supported by Neptune)/+--+-- 'preferredBackupWindow', 'dbInstance_preferredBackupWindow' - Specifies the daily time range during which automated backups are+-- created if automated backups are enabled, as determined by the+-- @BackupRetentionPeriod@.+--+-- 'preferredMaintenanceWindow', 'dbInstance_preferredMaintenanceWindow' - Specifies the weekly time range during which system maintenance can+-- occur, in Universal Coordinated Time (UTC).+--+-- 'promotionTier', 'dbInstance_promotionTier' - A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+--+-- 'publiclyAccessible', 'dbInstance_publiclyAccessible' - This flag should no longer be used.+--+-- 'readReplicaDBClusterIdentifiers', 'dbInstance_readReplicaDBClusterIdentifiers' - Contains one or more identifiers of DB clusters that are Read Replicas+-- of this DB instance.+--+-- 'readReplicaDBInstanceIdentifiers', 'dbInstance_readReplicaDBInstanceIdentifiers' - Contains one or more identifiers of the Read Replicas associated with+-- this DB instance.+--+-- 'readReplicaSourceDBInstanceIdentifier', 'dbInstance_readReplicaSourceDBInstanceIdentifier' - Contains the identifier of the source DB instance if this DB instance is+-- a Read Replica.+--+-- 'secondaryAvailabilityZone', 'dbInstance_secondaryAvailabilityZone' - If present, specifies the name of the secondary Availability Zone for a+-- DB instance with multi-AZ support.+--+-- 'statusInfos', 'dbInstance_statusInfos' - The status of a Read Replica. If the instance is not a Read Replica,+-- this is blank.+--+-- 'storageEncrypted', 'dbInstance_storageEncrypted' - Not supported: The encryption for DB instances is managed by the DB+-- cluster.+--+-- 'storageType', 'dbInstance_storageType' - Specifies the storage type associated with DB instance.+--+-- 'tdeCredentialArn', 'dbInstance_tdeCredentialArn' - The ARN from the key store with which the instance is associated for TDE+-- encryption.+--+-- 'timezone', 'dbInstance_timezone' - Not supported.+--+-- 'vpcSecurityGroups', 'dbInstance_vpcSecurityGroups' - Provides a list of VPC security group elements that the DB instance+-- belongs to.+newDBInstance ::+  DBInstance+newDBInstance =+  DBInstance'+    { allocatedStorage = Prelude.Nothing,+      autoMinorVersionUpgrade = Prelude.Nothing,+      availabilityZone = Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      cACertificateIdentifier = Prelude.Nothing,+      characterSetName = Prelude.Nothing,+      copyTagsToSnapshot = Prelude.Nothing,+      dbClusterIdentifier = Prelude.Nothing,+      dbInstanceArn = Prelude.Nothing,+      dbInstanceClass = Prelude.Nothing,+      dbInstanceIdentifier = Prelude.Nothing,+      dbInstanceStatus = Prelude.Nothing,+      dbName = Prelude.Nothing,+      dbParameterGroups = Prelude.Nothing,+      dbSecurityGroups = Prelude.Nothing,+      dbSubnetGroup = Prelude.Nothing,+      dbInstancePort = Prelude.Nothing,+      dbiResourceId = Prelude.Nothing,+      deletionProtection = Prelude.Nothing,+      domainMemberships = Prelude.Nothing,+      enabledCloudwatchLogsExports = Prelude.Nothing,+      endpoint = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      enhancedMonitoringResourceArn = Prelude.Nothing,+      iAMDatabaseAuthenticationEnabled = Prelude.Nothing,+      instanceCreateTime = Prelude.Nothing,+      iops = Prelude.Nothing,+      kmsKeyId = Prelude.Nothing,+      latestRestorableTime = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      masterUsername = Prelude.Nothing,+      monitoringInterval = Prelude.Nothing,+      monitoringRoleArn = Prelude.Nothing,+      multiAZ = Prelude.Nothing,+      optionGroupMemberships = Prelude.Nothing,+      pendingModifiedValues = Prelude.Nothing,+      performanceInsightsEnabled = Prelude.Nothing,+      performanceInsightsKMSKeyId = Prelude.Nothing,+      preferredBackupWindow = Prelude.Nothing,+      preferredMaintenanceWindow = Prelude.Nothing,+      promotionTier = Prelude.Nothing,+      publiclyAccessible = Prelude.Nothing,+      readReplicaDBClusterIdentifiers = Prelude.Nothing,+      readReplicaDBInstanceIdentifiers = Prelude.Nothing,+      readReplicaSourceDBInstanceIdentifier =+        Prelude.Nothing,+      secondaryAvailabilityZone = Prelude.Nothing,+      statusInfos = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing,+      storageType = Prelude.Nothing,+      tdeCredentialArn = Prelude.Nothing,+      timezone = Prelude.Nothing,+      vpcSecurityGroups = Prelude.Nothing+    }++-- | Not supported by Neptune.+dbInstance_allocatedStorage :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_allocatedStorage = Lens.lens (\DBInstance' {allocatedStorage} -> allocatedStorage) (\s@DBInstance' {} a -> s {allocatedStorage = a} :: DBInstance)++-- | Indicates that minor version patches are applied automatically.+dbInstance_autoMinorVersionUpgrade :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_autoMinorVersionUpgrade = Lens.lens (\DBInstance' {autoMinorVersionUpgrade} -> autoMinorVersionUpgrade) (\s@DBInstance' {} a -> s {autoMinorVersionUpgrade = a} :: DBInstance)++-- | Specifies the name of the Availability Zone the DB instance is located+-- in.+dbInstance_availabilityZone :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_availabilityZone = Lens.lens (\DBInstance' {availabilityZone} -> availabilityZone) (\s@DBInstance' {} a -> s {availabilityZone = a} :: DBInstance)++-- | Specifies the number of days for which automatic DB snapshots are+-- retained.+dbInstance_backupRetentionPeriod :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_backupRetentionPeriod = Lens.lens (\DBInstance' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@DBInstance' {} a -> s {backupRetentionPeriod = a} :: DBInstance)++-- | The identifier of the CA certificate for this DB instance.+dbInstance_cACertificateIdentifier :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_cACertificateIdentifier = Lens.lens (\DBInstance' {cACertificateIdentifier} -> cACertificateIdentifier) (\s@DBInstance' {} a -> s {cACertificateIdentifier = a} :: DBInstance)++-- | /(Not supported by Neptune)/+dbInstance_characterSetName :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_characterSetName = Lens.lens (\DBInstance' {characterSetName} -> characterSetName) (\s@DBInstance' {} a -> s {characterSetName = a} :: DBInstance)++-- | Specifies whether tags are copied from the DB instance to snapshots of+-- the DB instance.+dbInstance_copyTagsToSnapshot :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_copyTagsToSnapshot = Lens.lens (\DBInstance' {copyTagsToSnapshot} -> copyTagsToSnapshot) (\s@DBInstance' {} a -> s {copyTagsToSnapshot = a} :: DBInstance)++-- | If the DB instance is a member of a DB cluster, contains the name of the+-- DB cluster that the DB instance is a member of.+dbInstance_dbClusterIdentifier :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbClusterIdentifier = Lens.lens (\DBInstance' {dbClusterIdentifier} -> dbClusterIdentifier) (\s@DBInstance' {} a -> s {dbClusterIdentifier = a} :: DBInstance)++-- | The Amazon Resource Name (ARN) for the DB instance.+dbInstance_dbInstanceArn :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbInstanceArn = Lens.lens (\DBInstance' {dbInstanceArn} -> dbInstanceArn) (\s@DBInstance' {} a -> s {dbInstanceArn = a} :: DBInstance)++-- | Contains the name of the compute and memory capacity class of the DB+-- instance.+dbInstance_dbInstanceClass :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbInstanceClass = Lens.lens (\DBInstance' {dbInstanceClass} -> dbInstanceClass) (\s@DBInstance' {} a -> s {dbInstanceClass = a} :: DBInstance)++-- | Contains a user-supplied database identifier. This identifier is the+-- unique key that identifies a DB instance.+dbInstance_dbInstanceIdentifier :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbInstanceIdentifier = Lens.lens (\DBInstance' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@DBInstance' {} a -> s {dbInstanceIdentifier = a} :: DBInstance)++-- | Specifies the current state of this database.+dbInstance_dbInstanceStatus :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbInstanceStatus = Lens.lens (\DBInstance' {dbInstanceStatus} -> dbInstanceStatus) (\s@DBInstance' {} a -> s {dbInstanceStatus = a} :: DBInstance)++-- | The database name.+dbInstance_dbName :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbName = Lens.lens (\DBInstance' {dbName} -> dbName) (\s@DBInstance' {} a -> s {dbName = a} :: DBInstance)++-- | Provides the list of DB parameter groups applied to this DB instance.+dbInstance_dbParameterGroups :: Lens.Lens' DBInstance (Prelude.Maybe [DBParameterGroupStatus])+dbInstance_dbParameterGroups = Lens.lens (\DBInstance' {dbParameterGroups} -> dbParameterGroups) (\s@DBInstance' {} a -> s {dbParameterGroups = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Provides List of DB security group elements containing only+-- @DBSecurityGroup.Name@ and @DBSecurityGroup.Status@ subelements.+dbInstance_dbSecurityGroups :: Lens.Lens' DBInstance (Prelude.Maybe [DBSecurityGroupMembership])+dbInstance_dbSecurityGroups = Lens.lens (\DBInstance' {dbSecurityGroups} -> dbSecurityGroups) (\s@DBInstance' {} a -> s {dbSecurityGroups = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Specifies information on the subnet group associated with the DB+-- instance, including the name, description, and subnets in the subnet+-- group.+dbInstance_dbSubnetGroup :: Lens.Lens' DBInstance (Prelude.Maybe DBSubnetGroup)+dbInstance_dbSubnetGroup = Lens.lens (\DBInstance' {dbSubnetGroup} -> dbSubnetGroup) (\s@DBInstance' {} a -> s {dbSubnetGroup = a} :: DBInstance)++-- | Specifies the port that the DB instance listens on. If the DB instance+-- is part of a DB cluster, this can be a different port than the DB+-- cluster port.+dbInstance_dbInstancePort :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_dbInstancePort = Lens.lens (\DBInstance' {dbInstancePort} -> dbInstancePort) (\s@DBInstance' {} a -> s {dbInstancePort = a} :: DBInstance)++-- | The Amazon Region-unique, immutable identifier for the DB instance. This+-- identifier is found in Amazon CloudTrail log entries whenever the Amazon+-- KMS key for the DB instance is accessed.+dbInstance_dbiResourceId :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_dbiResourceId = Lens.lens (\DBInstance' {dbiResourceId} -> dbiResourceId) (\s@DBInstance' {} a -> s {dbiResourceId = a} :: DBInstance)++-- | Indicates whether or not the DB instance has deletion protection+-- enabled. The instance can\'t be deleted when deletion protection is+-- enabled. See+-- <https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html Deleting a DB Instance>.+dbInstance_deletionProtection :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_deletionProtection = Lens.lens (\DBInstance' {deletionProtection} -> deletionProtection) (\s@DBInstance' {} a -> s {deletionProtection = a} :: DBInstance)++-- | Not supported+dbInstance_domainMemberships :: Lens.Lens' DBInstance (Prelude.Maybe [DomainMembership])+dbInstance_domainMemberships = Lens.lens (\DBInstance' {domainMemberships} -> domainMemberships) (\s@DBInstance' {} a -> s {domainMemberships = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | A list of log types that this DB instance is configured to export to+-- CloudWatch Logs.+dbInstance_enabledCloudwatchLogsExports :: Lens.Lens' DBInstance (Prelude.Maybe [Prelude.Text])+dbInstance_enabledCloudwatchLogsExports = Lens.lens (\DBInstance' {enabledCloudwatchLogsExports} -> enabledCloudwatchLogsExports) (\s@DBInstance' {} a -> s {enabledCloudwatchLogsExports = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the connection endpoint.+dbInstance_endpoint :: Lens.Lens' DBInstance (Prelude.Maybe Endpoint)+dbInstance_endpoint = Lens.lens (\DBInstance' {endpoint} -> endpoint) (\s@DBInstance' {} a -> s {endpoint = a} :: DBInstance)++-- | Provides the name of the database engine to be used for this DB+-- instance.+dbInstance_engine :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_engine = Lens.lens (\DBInstance' {engine} -> engine) (\s@DBInstance' {} a -> s {engine = a} :: DBInstance)++-- | Indicates the database engine version.+dbInstance_engineVersion :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_engineVersion = Lens.lens (\DBInstance' {engineVersion} -> engineVersion) (\s@DBInstance' {} a -> s {engineVersion = a} :: DBInstance)++-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream+-- that receives the Enhanced Monitoring metrics data for the DB instance.+dbInstance_enhancedMonitoringResourceArn :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_enhancedMonitoringResourceArn = Lens.lens (\DBInstance' {enhancedMonitoringResourceArn} -> enhancedMonitoringResourceArn) (\s@DBInstance' {} a -> s {enhancedMonitoringResourceArn = a} :: DBInstance)++-- | True if Amazon Identity and Access Management (IAM) authentication is+-- enabled, and otherwise false.+dbInstance_iAMDatabaseAuthenticationEnabled :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_iAMDatabaseAuthenticationEnabled = Lens.lens (\DBInstance' {iAMDatabaseAuthenticationEnabled} -> iAMDatabaseAuthenticationEnabled) (\s@DBInstance' {} a -> s {iAMDatabaseAuthenticationEnabled = a} :: DBInstance)++-- | Provides the date and time the DB instance was created.+dbInstance_instanceCreateTime :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.UTCTime)+dbInstance_instanceCreateTime = Lens.lens (\DBInstance' {instanceCreateTime} -> instanceCreateTime) (\s@DBInstance' {} a -> s {instanceCreateTime = a} :: DBInstance) Prelude.. Lens.mapping Data._Time++-- | Specifies the Provisioned IOPS (I\/O operations per second) value.+dbInstance_iops :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_iops = Lens.lens (\DBInstance' {iops} -> iops) (\s@DBInstance' {} a -> s {iops = a} :: DBInstance)++-- | Not supported: The encryption for DB instances is managed by the DB+-- cluster.+dbInstance_kmsKeyId :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_kmsKeyId = Lens.lens (\DBInstance' {kmsKeyId} -> kmsKeyId) (\s@DBInstance' {} a -> s {kmsKeyId = a} :: DBInstance)++-- | Specifies the latest time to which a database can be restored with+-- point-in-time restore.+dbInstance_latestRestorableTime :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.UTCTime)+dbInstance_latestRestorableTime = Lens.lens (\DBInstance' {latestRestorableTime} -> latestRestorableTime) (\s@DBInstance' {} a -> s {latestRestorableTime = a} :: DBInstance) Prelude.. Lens.mapping Data._Time++-- | License model information for this DB instance.+dbInstance_licenseModel :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_licenseModel = Lens.lens (\DBInstance' {licenseModel} -> licenseModel) (\s@DBInstance' {} a -> s {licenseModel = a} :: DBInstance)++-- | Not supported by Neptune.+dbInstance_masterUsername :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_masterUsername = Lens.lens (\DBInstance' {masterUsername} -> masterUsername) (\s@DBInstance' {} a -> s {masterUsername = a} :: DBInstance)++-- | The interval, in seconds, between points when Enhanced Monitoring+-- metrics are collected for the DB instance.+dbInstance_monitoringInterval :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_monitoringInterval = Lens.lens (\DBInstance' {monitoringInterval} -> monitoringInterval) (\s@DBInstance' {} a -> s {monitoringInterval = a} :: DBInstance)++-- | The ARN for the IAM role that permits Neptune to send Enhanced+-- Monitoring metrics to Amazon CloudWatch Logs.+dbInstance_monitoringRoleArn :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_monitoringRoleArn = Lens.lens (\DBInstance' {monitoringRoleArn} -> monitoringRoleArn) (\s@DBInstance' {} a -> s {monitoringRoleArn = a} :: DBInstance)++-- | Specifies if the DB instance is a Multi-AZ deployment.+dbInstance_multiAZ :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_multiAZ = Lens.lens (\DBInstance' {multiAZ} -> multiAZ) (\s@DBInstance' {} a -> s {multiAZ = a} :: DBInstance)++-- | /(Not supported by Neptune)/+dbInstance_optionGroupMemberships :: Lens.Lens' DBInstance (Prelude.Maybe [OptionGroupMembership])+dbInstance_optionGroupMemberships = Lens.lens (\DBInstance' {optionGroupMemberships} -> optionGroupMemberships) (\s@DBInstance' {} a -> s {optionGroupMemberships = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Specifies that changes to the DB instance are pending. This element is+-- only included when changes are pending. Specific changes are identified+-- by subelements.+dbInstance_pendingModifiedValues :: Lens.Lens' DBInstance (Prelude.Maybe PendingModifiedValues)+dbInstance_pendingModifiedValues = Lens.lens (\DBInstance' {pendingModifiedValues} -> pendingModifiedValues) (\s@DBInstance' {} a -> s {pendingModifiedValues = a} :: DBInstance)++-- | /(Not supported by Neptune)/+dbInstance_performanceInsightsEnabled :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_performanceInsightsEnabled = Lens.lens (\DBInstance' {performanceInsightsEnabled} -> performanceInsightsEnabled) (\s@DBInstance' {} a -> s {performanceInsightsEnabled = a} :: DBInstance)++-- | /(Not supported by Neptune)/+dbInstance_performanceInsightsKMSKeyId :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_performanceInsightsKMSKeyId = Lens.lens (\DBInstance' {performanceInsightsKMSKeyId} -> performanceInsightsKMSKeyId) (\s@DBInstance' {} a -> s {performanceInsightsKMSKeyId = a} :: DBInstance)++-- | Specifies the daily time range during which automated backups are+-- created if automated backups are enabled, as determined by the+-- @BackupRetentionPeriod@.+dbInstance_preferredBackupWindow :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_preferredBackupWindow = Lens.lens (\DBInstance' {preferredBackupWindow} -> preferredBackupWindow) (\s@DBInstance' {} a -> s {preferredBackupWindow = a} :: DBInstance)++-- | Specifies the weekly time range during which system maintenance can+-- occur, in Universal Coordinated Time (UTC).+dbInstance_preferredMaintenanceWindow :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_preferredMaintenanceWindow = Lens.lens (\DBInstance' {preferredMaintenanceWindow} -> preferredMaintenanceWindow) (\s@DBInstance' {} a -> s {preferredMaintenanceWindow = a} :: DBInstance)++-- | A value that specifies the order in which a Read Replica is promoted to+-- the primary instance after a failure of the existing primary instance.+dbInstance_promotionTier :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Int)+dbInstance_promotionTier = Lens.lens (\DBInstance' {promotionTier} -> promotionTier) (\s@DBInstance' {} a -> s {promotionTier = a} :: DBInstance)++-- | This flag should no longer be used.+dbInstance_publiclyAccessible :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_publiclyAccessible = Lens.lens (\DBInstance' {publiclyAccessible} -> publiclyAccessible) (\s@DBInstance' {} a -> s {publiclyAccessible = a} :: DBInstance)++-- | Contains one or more identifiers of DB clusters that are Read Replicas+-- of this DB instance.+dbInstance_readReplicaDBClusterIdentifiers :: Lens.Lens' DBInstance (Prelude.Maybe [Prelude.Text])+dbInstance_readReplicaDBClusterIdentifiers = Lens.lens (\DBInstance' {readReplicaDBClusterIdentifiers} -> readReplicaDBClusterIdentifiers) (\s@DBInstance' {} a -> s {readReplicaDBClusterIdentifiers = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Contains one or more identifiers of the Read Replicas associated with+-- this DB instance.+dbInstance_readReplicaDBInstanceIdentifiers :: Lens.Lens' DBInstance (Prelude.Maybe [Prelude.Text])+dbInstance_readReplicaDBInstanceIdentifiers = Lens.lens (\DBInstance' {readReplicaDBInstanceIdentifiers} -> readReplicaDBInstanceIdentifiers) (\s@DBInstance' {} a -> s {readReplicaDBInstanceIdentifiers = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Contains the identifier of the source DB instance if this DB instance is+-- a Read Replica.+dbInstance_readReplicaSourceDBInstanceIdentifier :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_readReplicaSourceDBInstanceIdentifier = Lens.lens (\DBInstance' {readReplicaSourceDBInstanceIdentifier} -> readReplicaSourceDBInstanceIdentifier) (\s@DBInstance' {} a -> s {readReplicaSourceDBInstanceIdentifier = a} :: DBInstance)++-- | If present, specifies the name of the secondary Availability Zone for a+-- DB instance with multi-AZ support.+dbInstance_secondaryAvailabilityZone :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_secondaryAvailabilityZone = Lens.lens (\DBInstance' {secondaryAvailabilityZone} -> secondaryAvailabilityZone) (\s@DBInstance' {} a -> s {secondaryAvailabilityZone = a} :: DBInstance)++-- | The status of a Read Replica. If the instance is not a Read Replica,+-- this is blank.+dbInstance_statusInfos :: Lens.Lens' DBInstance (Prelude.Maybe [DBInstanceStatusInfo])+dbInstance_statusInfos = Lens.lens (\DBInstance' {statusInfos} -> statusInfos) (\s@DBInstance' {} a -> s {statusInfos = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++-- | Not supported: The encryption for DB instances is managed by the DB+-- cluster.+dbInstance_storageEncrypted :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Bool)+dbInstance_storageEncrypted = Lens.lens (\DBInstance' {storageEncrypted} -> storageEncrypted) (\s@DBInstance' {} a -> s {storageEncrypted = a} :: DBInstance)++-- | Specifies the storage type associated with DB instance.+dbInstance_storageType :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_storageType = Lens.lens (\DBInstance' {storageType} -> storageType) (\s@DBInstance' {} a -> s {storageType = a} :: DBInstance)++-- | The ARN from the key store with which the instance is associated for TDE+-- encryption.+dbInstance_tdeCredentialArn :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_tdeCredentialArn = Lens.lens (\DBInstance' {tdeCredentialArn} -> tdeCredentialArn) (\s@DBInstance' {} a -> s {tdeCredentialArn = a} :: DBInstance)++-- | Not supported.+dbInstance_timezone :: Lens.Lens' DBInstance (Prelude.Maybe Prelude.Text)+dbInstance_timezone = Lens.lens (\DBInstance' {timezone} -> timezone) (\s@DBInstance' {} a -> s {timezone = a} :: DBInstance)++-- | Provides a list of VPC security group elements that the DB instance+-- belongs to.+dbInstance_vpcSecurityGroups :: Lens.Lens' DBInstance (Prelude.Maybe [VpcSecurityGroupMembership])+dbInstance_vpcSecurityGroups = Lens.lens (\DBInstance' {vpcSecurityGroups} -> vpcSecurityGroups) (\s@DBInstance' {} a -> s {vpcSecurityGroups = a} :: DBInstance) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML DBInstance where+  parseXML x =+    DBInstance'+      Prelude.<$> (x Data..@? "AllocatedStorage")+      Prelude.<*> (x Data..@? "AutoMinorVersionUpgrade")+      Prelude.<*> (x Data..@? "AvailabilityZone")+      Prelude.<*> (x Data..@? "BackupRetentionPeriod")+      Prelude.<*> (x Data..@? "CACertificateIdentifier")+      Prelude.<*> (x Data..@? "CharacterSetName")+      Prelude.<*> (x Data..@? "CopyTagsToSnapshot")+      Prelude.<*> (x Data..@? "DBClusterIdentifier")+      Prelude.<*> (x Data..@? "DBInstanceArn")+      Prelude.<*> (x Data..@? "DBInstanceClass")+      Prelude.<*> (x Data..@? "DBInstanceIdentifier")+      Prelude.<*> (x Data..@? "DBInstanceStatus")+      Prelude.<*> (x Data..@? "DBName")+      Prelude.<*> ( x+                      Data..@? "DBParameterGroups"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBParameterGroup")+                  )+      Prelude.<*> ( x+                      Data..@? "DBSecurityGroups"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBSecurityGroup")+                  )+      Prelude.<*> (x Data..@? "DBSubnetGroup")+      Prelude.<*> (x Data..@? "DbInstancePort")+      Prelude.<*> (x Data..@? "DbiResourceId")+      Prelude.<*> (x Data..@? "DeletionProtection")+      Prelude.<*> ( x+                      Data..@? "DomainMemberships"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DomainMembership")+                  )+      Prelude.<*> ( x+                      Data..@? "EnabledCloudwatchLogsExports"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> (x Data..@? "Endpoint")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "EnhancedMonitoringResourceArn")+      Prelude.<*> (x Data..@? "IAMDatabaseAuthenticationEnabled")+      Prelude.<*> (x Data..@? "InstanceCreateTime")+      Prelude.<*> (x Data..@? "Iops")+      Prelude.<*> (x Data..@? "KmsKeyId")+      Prelude.<*> (x Data..@? "LatestRestorableTime")+      Prelude.<*> (x Data..@? "LicenseModel")+      Prelude.<*> (x Data..@? "MasterUsername")+      Prelude.<*> (x Data..@? "MonitoringInterval")+      Prelude.<*> (x Data..@? "MonitoringRoleArn")+      Prelude.<*> (x Data..@? "MultiAZ")+      Prelude.<*> ( x+                      Data..@? "OptionGroupMemberships"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "OptionGroupMembership")+                  )+      Prelude.<*> (x Data..@? "PendingModifiedValues")+      Prelude.<*> (x Data..@? "PerformanceInsightsEnabled")+      Prelude.<*> (x Data..@? "PerformanceInsightsKMSKeyId")+      Prelude.<*> (x Data..@? "PreferredBackupWindow")+      Prelude.<*> (x Data..@? "PreferredMaintenanceWindow")+      Prelude.<*> (x Data..@? "PromotionTier")+      Prelude.<*> (x Data..@? "PubliclyAccessible")+      Prelude.<*> ( x+                      Data..@? "ReadReplicaDBClusterIdentifiers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        (Data.parseXMLList "ReadReplicaDBClusterIdentifier")+                  )+      Prelude.<*> ( x+                      Data..@? "ReadReplicaDBInstanceIdentifiers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        ( Data.parseXMLList+                            "ReadReplicaDBInstanceIdentifier"+                        )+                  )+      Prelude.<*> (x Data..@? "ReadReplicaSourceDBInstanceIdentifier")+      Prelude.<*> (x Data..@? "SecondaryAvailabilityZone")+      Prelude.<*> ( x+                      Data..@? "StatusInfos"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DBInstanceStatusInfo")+                  )+      Prelude.<*> (x Data..@? "StorageEncrypted")+      Prelude.<*> (x Data..@? "StorageType")+      Prelude.<*> (x Data..@? "TdeCredentialArn")+      Prelude.<*> (x Data..@? "Timezone")+      Prelude.<*> ( x+                      Data..@? "VpcSecurityGroups"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        (Data.parseXMLList "VpcSecurityGroupMembership")+                  )++instance Prelude.Hashable DBInstance where+  hashWithSalt _salt DBInstance' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` autoMinorVersionUpgrade+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` cACertificateIdentifier+      `Prelude.hashWithSalt` characterSetName+      `Prelude.hashWithSalt` copyTagsToSnapshot+      `Prelude.hashWithSalt` dbClusterIdentifier+      `Prelude.hashWithSalt` dbInstanceArn+      `Prelude.hashWithSalt` dbInstanceClass+      `Prelude.hashWithSalt` dbInstanceIdentifier+      `Prelude.hashWithSalt` dbInstanceStatus+      `Prelude.hashWithSalt` dbName+      `Prelude.hashWithSalt` dbParameterGroups+      `Prelude.hashWithSalt` dbSecurityGroups+      `Prelude.hashWithSalt` dbSubnetGroup+      `Prelude.hashWithSalt` dbInstancePort+      `Prelude.hashWithSalt` dbiResourceId+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` domainMemberships+      `Prelude.hashWithSalt` enabledCloudwatchLogsExports+      `Prelude.hashWithSalt` endpoint+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` enhancedMonitoringResourceArn+      `Prelude.hashWithSalt` iAMDatabaseAuthenticationEnabled+      `Prelude.hashWithSalt` instanceCreateTime+      `Prelude.hashWithSalt` iops+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` latestRestorableTime+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` masterUsername+      `Prelude.hashWithSalt` monitoringInterval+      `Prelude.hashWithSalt` monitoringRoleArn+      `Prelude.hashWithSalt` multiAZ+      `Prelude.hashWithSalt` optionGroupMemberships+      `Prelude.hashWithSalt` pendingModifiedValues+      `Prelude.hashWithSalt` performanceInsightsEnabled+      `Prelude.hashWithSalt` performanceInsightsKMSKeyId+      `Prelude.hashWithSalt` preferredBackupWindow+      `Prelude.hashWithSalt` preferredMaintenanceWindow+      `Prelude.hashWithSalt` promotionTier+      `Prelude.hashWithSalt` publiclyAccessible+      `Prelude.hashWithSalt` readReplicaDBClusterIdentifiers+      `Prelude.hashWithSalt` readReplicaDBInstanceIdentifiers+      `Prelude.hashWithSalt` readReplicaSourceDBInstanceIdentifier+      `Prelude.hashWithSalt` secondaryAvailabilityZone+      `Prelude.hashWithSalt` statusInfos+      `Prelude.hashWithSalt` storageEncrypted+      `Prelude.hashWithSalt` storageType+      `Prelude.hashWithSalt` tdeCredentialArn+      `Prelude.hashWithSalt` timezone+      `Prelude.hashWithSalt` vpcSecurityGroups++instance Prelude.NFData DBInstance where+  rnf DBInstance' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf autoMinorVersionUpgrade+      `Prelude.seq` Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf cACertificateIdentifier+      `Prelude.seq` Prelude.rnf characterSetName+      `Prelude.seq` Prelude.rnf copyTagsToSnapshot+      `Prelude.seq` Prelude.rnf dbClusterIdentifier+      `Prelude.seq` Prelude.rnf dbInstanceArn+      `Prelude.seq` Prelude.rnf dbInstanceClass+      `Prelude.seq` Prelude.rnf dbInstanceIdentifier+      `Prelude.seq` Prelude.rnf dbInstanceStatus+      `Prelude.seq` Prelude.rnf dbName+      `Prelude.seq` Prelude.rnf dbParameterGroups+      `Prelude.seq` Prelude.rnf dbSecurityGroups+      `Prelude.seq` Prelude.rnf dbSubnetGroup+      `Prelude.seq` Prelude.rnf dbInstancePort+      `Prelude.seq` Prelude.rnf dbiResourceId+      `Prelude.seq` Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf domainMemberships+      `Prelude.seq` Prelude.rnf+        enabledCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf endpoint+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf+        engineVersion+      `Prelude.seq` Prelude.rnf+        enhancedMonitoringResourceArn+      `Prelude.seq` Prelude.rnf+        iAMDatabaseAuthenticationEnabled+      `Prelude.seq` Prelude.rnf+        instanceCreateTime+      `Prelude.seq` Prelude.rnf+        iops+      `Prelude.seq` Prelude.rnf+        kmsKeyId+      `Prelude.seq` Prelude.rnf+        latestRestorableTime+      `Prelude.seq` Prelude.rnf+        licenseModel+      `Prelude.seq` Prelude.rnf+        masterUsername+      `Prelude.seq` Prelude.rnf+        monitoringInterval+      `Prelude.seq` Prelude.rnf+        monitoringRoleArn+      `Prelude.seq` Prelude.rnf+        multiAZ+      `Prelude.seq` Prelude.rnf+        optionGroupMemberships+      `Prelude.seq` Prelude.rnf+        pendingModifiedValues+      `Prelude.seq` Prelude.rnf+        performanceInsightsEnabled+      `Prelude.seq` Prelude.rnf+        performanceInsightsKMSKeyId+      `Prelude.seq` Prelude.rnf+        preferredBackupWindow+      `Prelude.seq` Prelude.rnf+        preferredMaintenanceWindow+      `Prelude.seq` Prelude.rnf+        promotionTier+      `Prelude.seq` Prelude.rnf+        publiclyAccessible+      `Prelude.seq` Prelude.rnf+        readReplicaDBClusterIdentifiers+      `Prelude.seq` Prelude.rnf+        readReplicaDBInstanceIdentifiers+      `Prelude.seq` Prelude.rnf+        readReplicaSourceDBInstanceIdentifier+      `Prelude.seq` Prelude.rnf+        secondaryAvailabilityZone+      `Prelude.seq` Prelude.rnf+        statusInfos+      `Prelude.seq` Prelude.rnf+        storageEncrypted+      `Prelude.seq` Prelude.rnf+        storageType+      `Prelude.seq` Prelude.rnf+        tdeCredentialArn+      `Prelude.seq` Prelude.rnf+        timezone+      `Prelude.seq` Prelude.rnf+        vpcSecurityGroups
+ gen/Amazonka/Neptune/Types/DBInstanceStatusInfo.hs view
@@ -0,0 +1,113 @@+{-# 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.Neptune.Types.DBInstanceStatusInfo+-- 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.Neptune.Types.DBInstanceStatusInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides a list of status information for a DB instance.+--+-- /See:/ 'newDBInstanceStatusInfo' smart constructor.+data DBInstanceStatusInfo = DBInstanceStatusInfo'+  { -- | Details of the error if there is an error for the instance. If the+    -- instance is not in an error state, this value is blank.+    message :: Prelude.Maybe Prelude.Text,+    -- | Boolean value that is true if the instance is operating normally, or+    -- false if the instance is in an error state.+    normal :: Prelude.Maybe Prelude.Bool,+    -- | Status of the DB instance. For a StatusType of read replica, the values+    -- can be replicating, error, stopped, or terminated.+    status :: Prelude.Maybe Prelude.Text,+    -- | This value is currently \"read replication.\"+    statusType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBInstanceStatusInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'dbInstanceStatusInfo_message' - Details of the error if there is an error for the instance. If the+-- instance is not in an error state, this value is blank.+--+-- 'normal', 'dbInstanceStatusInfo_normal' - Boolean value that is true if the instance is operating normally, or+-- false if the instance is in an error state.+--+-- 'status', 'dbInstanceStatusInfo_status' - Status of the DB instance. For a StatusType of read replica, the values+-- can be replicating, error, stopped, or terminated.+--+-- 'statusType', 'dbInstanceStatusInfo_statusType' - This value is currently \"read replication.\"+newDBInstanceStatusInfo ::+  DBInstanceStatusInfo+newDBInstanceStatusInfo =+  DBInstanceStatusInfo'+    { message = Prelude.Nothing,+      normal = Prelude.Nothing,+      status = Prelude.Nothing,+      statusType = Prelude.Nothing+    }++-- | Details of the error if there is an error for the instance. If the+-- instance is not in an error state, this value is blank.+dbInstanceStatusInfo_message :: Lens.Lens' DBInstanceStatusInfo (Prelude.Maybe Prelude.Text)+dbInstanceStatusInfo_message = Lens.lens (\DBInstanceStatusInfo' {message} -> message) (\s@DBInstanceStatusInfo' {} a -> s {message = a} :: DBInstanceStatusInfo)++-- | Boolean value that is true if the instance is operating normally, or+-- false if the instance is in an error state.+dbInstanceStatusInfo_normal :: Lens.Lens' DBInstanceStatusInfo (Prelude.Maybe Prelude.Bool)+dbInstanceStatusInfo_normal = Lens.lens (\DBInstanceStatusInfo' {normal} -> normal) (\s@DBInstanceStatusInfo' {} a -> s {normal = a} :: DBInstanceStatusInfo)++-- | Status of the DB instance. For a StatusType of read replica, the values+-- can be replicating, error, stopped, or terminated.+dbInstanceStatusInfo_status :: Lens.Lens' DBInstanceStatusInfo (Prelude.Maybe Prelude.Text)+dbInstanceStatusInfo_status = Lens.lens (\DBInstanceStatusInfo' {status} -> status) (\s@DBInstanceStatusInfo' {} a -> s {status = a} :: DBInstanceStatusInfo)++-- | This value is currently \"read replication.\"+dbInstanceStatusInfo_statusType :: Lens.Lens' DBInstanceStatusInfo (Prelude.Maybe Prelude.Text)+dbInstanceStatusInfo_statusType = Lens.lens (\DBInstanceStatusInfo' {statusType} -> statusType) (\s@DBInstanceStatusInfo' {} a -> s {statusType = a} :: DBInstanceStatusInfo)++instance Data.FromXML DBInstanceStatusInfo where+  parseXML x =+    DBInstanceStatusInfo'+      Prelude.<$> (x Data..@? "Message")+      Prelude.<*> (x Data..@? "Normal")+      Prelude.<*> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "StatusType")++instance Prelude.Hashable DBInstanceStatusInfo where+  hashWithSalt _salt DBInstanceStatusInfo' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` normal+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusType++instance Prelude.NFData DBInstanceStatusInfo where+  rnf DBInstanceStatusInfo' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf normal+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusType
+ gen/Amazonka/Neptune/Types/DBParameterGroup.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBParameterGroup+-- 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.Neptune.Types.DBParameterGroup 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++-- | Contains the details of an Amazon Neptune DB parameter group.+--+-- This data type is used as a response element in the+-- DescribeDBParameterGroups action.+--+-- /See:/ 'newDBParameterGroup' smart constructor.+data DBParameterGroup = DBParameterGroup'+  { -- | The Amazon Resource Name (ARN) for the DB parameter group.+    dbParameterGroupArn :: Prelude.Maybe Prelude.Text,+    -- | Provides the name of the DB parameter group family that this DB+    -- parameter group is compatible with.+    dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,+    -- | Provides the name of the DB parameter group.+    dbParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | Provides the customer-specified description for this DB parameter group.+    description :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBParameterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupArn', 'dbParameterGroup_dbParameterGroupArn' - The Amazon Resource Name (ARN) for the DB parameter group.+--+-- 'dbParameterGroupFamily', 'dbParameterGroup_dbParameterGroupFamily' - Provides the name of the DB parameter group family that this DB+-- parameter group is compatible with.+--+-- 'dbParameterGroupName', 'dbParameterGroup_dbParameterGroupName' - Provides the name of the DB parameter group.+--+-- 'description', 'dbParameterGroup_description' - Provides the customer-specified description for this DB parameter group.+newDBParameterGroup ::+  DBParameterGroup+newDBParameterGroup =+  DBParameterGroup'+    { dbParameterGroupArn =+        Prelude.Nothing,+      dbParameterGroupFamily = Prelude.Nothing,+      dbParameterGroupName = Prelude.Nothing,+      description = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the DB parameter group.+dbParameterGroup_dbParameterGroupArn :: Lens.Lens' DBParameterGroup (Prelude.Maybe Prelude.Text)+dbParameterGroup_dbParameterGroupArn = Lens.lens (\DBParameterGroup' {dbParameterGroupArn} -> dbParameterGroupArn) (\s@DBParameterGroup' {} a -> s {dbParameterGroupArn = a} :: DBParameterGroup)++-- | Provides the name of the DB parameter group family that this DB+-- parameter group is compatible with.+dbParameterGroup_dbParameterGroupFamily :: Lens.Lens' DBParameterGroup (Prelude.Maybe Prelude.Text)+dbParameterGroup_dbParameterGroupFamily = Lens.lens (\DBParameterGroup' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@DBParameterGroup' {} a -> s {dbParameterGroupFamily = a} :: DBParameterGroup)++-- | Provides the name of the DB parameter group.+dbParameterGroup_dbParameterGroupName :: Lens.Lens' DBParameterGroup (Prelude.Maybe Prelude.Text)+dbParameterGroup_dbParameterGroupName = Lens.lens (\DBParameterGroup' {dbParameterGroupName} -> dbParameterGroupName) (\s@DBParameterGroup' {} a -> s {dbParameterGroupName = a} :: DBParameterGroup)++-- | Provides the customer-specified description for this DB parameter group.+dbParameterGroup_description :: Lens.Lens' DBParameterGroup (Prelude.Maybe Prelude.Text)+dbParameterGroup_description = Lens.lens (\DBParameterGroup' {description} -> description) (\s@DBParameterGroup' {} a -> s {description = a} :: DBParameterGroup)++instance Data.FromXML DBParameterGroup where+  parseXML x =+    DBParameterGroup'+      Prelude.<$> (x Data..@? "DBParameterGroupArn")+      Prelude.<*> (x Data..@? "DBParameterGroupFamily")+      Prelude.<*> (x Data..@? "DBParameterGroupName")+      Prelude.<*> (x Data..@? "Description")++instance Prelude.Hashable DBParameterGroup where+  hashWithSalt _salt DBParameterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupArn+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` description++instance Prelude.NFData DBParameterGroup where+  rnf DBParameterGroup' {..} =+    Prelude.rnf dbParameterGroupArn+      `Prelude.seq` Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf description
+ gen/Amazonka/Neptune/Types/DBParameterGroupNameMessage.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBParameterGroupNameMessage+-- 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.Neptune.Types.DBParameterGroupNameMessage 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++-- | /See:/ 'newDBParameterGroupNameMessage' smart constructor.+data DBParameterGroupNameMessage = DBParameterGroupNameMessage'+  { -- | Provides the name of the DB parameter group.+    dbParameterGroupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBParameterGroupNameMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupName', 'dbParameterGroupNameMessage_dbParameterGroupName' - Provides the name of the DB parameter group.+newDBParameterGroupNameMessage ::+  DBParameterGroupNameMessage+newDBParameterGroupNameMessage =+  DBParameterGroupNameMessage'+    { dbParameterGroupName =+        Prelude.Nothing+    }++-- | Provides the name of the DB parameter group.+dbParameterGroupNameMessage_dbParameterGroupName :: Lens.Lens' DBParameterGroupNameMessage (Prelude.Maybe Prelude.Text)+dbParameterGroupNameMessage_dbParameterGroupName = Lens.lens (\DBParameterGroupNameMessage' {dbParameterGroupName} -> dbParameterGroupName) (\s@DBParameterGroupNameMessage' {} a -> s {dbParameterGroupName = a} :: DBParameterGroupNameMessage)++instance Data.FromXML DBParameterGroupNameMessage where+  parseXML x =+    DBParameterGroupNameMessage'+      Prelude.<$> (x Data..@? "DBParameterGroupName")++instance Prelude.Hashable DBParameterGroupNameMessage where+  hashWithSalt _salt DBParameterGroupNameMessage' {..} =+    _salt `Prelude.hashWithSalt` dbParameterGroupName++instance Prelude.NFData DBParameterGroupNameMessage where+  rnf DBParameterGroupNameMessage' {..} =+    Prelude.rnf dbParameterGroupName
+ gen/Amazonka/Neptune/Types/DBParameterGroupStatus.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.Neptune.Types.DBParameterGroupStatus+-- 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.Neptune.Types.DBParameterGroupStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of the DB parameter group.+--+-- This data type is used as a response element in the following actions:+--+-- -   CreateDBInstance+--+-- -   DeleteDBInstance+--+-- -   ModifyDBInstance+--+-- -   RebootDBInstance+--+-- /See:/ 'newDBParameterGroupStatus' smart constructor.+data DBParameterGroupStatus = DBParameterGroupStatus'+  { -- | The name of the DP parameter group.+    dbParameterGroupName :: Prelude.Maybe Prelude.Text,+    -- | The status of parameter updates.+    parameterApplyStatus :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBParameterGroupStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupName', 'dbParameterGroupStatus_dbParameterGroupName' - The name of the DP parameter group.+--+-- 'parameterApplyStatus', 'dbParameterGroupStatus_parameterApplyStatus' - The status of parameter updates.+newDBParameterGroupStatus ::+  DBParameterGroupStatus+newDBParameterGroupStatus =+  DBParameterGroupStatus'+    { dbParameterGroupName =+        Prelude.Nothing,+      parameterApplyStatus = Prelude.Nothing+    }++-- | The name of the DP parameter group.+dbParameterGroupStatus_dbParameterGroupName :: Lens.Lens' DBParameterGroupStatus (Prelude.Maybe Prelude.Text)+dbParameterGroupStatus_dbParameterGroupName = Lens.lens (\DBParameterGroupStatus' {dbParameterGroupName} -> dbParameterGroupName) (\s@DBParameterGroupStatus' {} a -> s {dbParameterGroupName = a} :: DBParameterGroupStatus)++-- | The status of parameter updates.+dbParameterGroupStatus_parameterApplyStatus :: Lens.Lens' DBParameterGroupStatus (Prelude.Maybe Prelude.Text)+dbParameterGroupStatus_parameterApplyStatus = Lens.lens (\DBParameterGroupStatus' {parameterApplyStatus} -> parameterApplyStatus) (\s@DBParameterGroupStatus' {} a -> s {parameterApplyStatus = a} :: DBParameterGroupStatus)++instance Data.FromXML DBParameterGroupStatus where+  parseXML x =+    DBParameterGroupStatus'+      Prelude.<$> (x Data..@? "DBParameterGroupName")+      Prelude.<*> (x Data..@? "ParameterApplyStatus")++instance Prelude.Hashable DBParameterGroupStatus where+  hashWithSalt _salt DBParameterGroupStatus' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupName+      `Prelude.hashWithSalt` parameterApplyStatus++instance Prelude.NFData DBParameterGroupStatus where+  rnf DBParameterGroupStatus' {..} =+    Prelude.rnf dbParameterGroupName+      `Prelude.seq` Prelude.rnf parameterApplyStatus
+ gen/Amazonka/Neptune/Types/DBSecurityGroupMembership.hs view
@@ -0,0 +1,81 @@+{-# 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.Neptune.Types.DBSecurityGroupMembership+-- 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.Neptune.Types.DBSecurityGroupMembership 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++-- | Specifies membership in a designated DB security group.+--+-- /See:/ 'newDBSecurityGroupMembership' smart constructor.+data DBSecurityGroupMembership = DBSecurityGroupMembership'+  { -- | The name of the DB security group.+    dbSecurityGroupName :: Prelude.Maybe Prelude.Text,+    -- | The status of the DB security group.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBSecurityGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSecurityGroupName', 'dbSecurityGroupMembership_dbSecurityGroupName' - The name of the DB security group.+--+-- 'status', 'dbSecurityGroupMembership_status' - The status of the DB security group.+newDBSecurityGroupMembership ::+  DBSecurityGroupMembership+newDBSecurityGroupMembership =+  DBSecurityGroupMembership'+    { dbSecurityGroupName =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The name of the DB security group.+dbSecurityGroupMembership_dbSecurityGroupName :: Lens.Lens' DBSecurityGroupMembership (Prelude.Maybe Prelude.Text)+dbSecurityGroupMembership_dbSecurityGroupName = Lens.lens (\DBSecurityGroupMembership' {dbSecurityGroupName} -> dbSecurityGroupName) (\s@DBSecurityGroupMembership' {} a -> s {dbSecurityGroupName = a} :: DBSecurityGroupMembership)++-- | The status of the DB security group.+dbSecurityGroupMembership_status :: Lens.Lens' DBSecurityGroupMembership (Prelude.Maybe Prelude.Text)+dbSecurityGroupMembership_status = Lens.lens (\DBSecurityGroupMembership' {status} -> status) (\s@DBSecurityGroupMembership' {} a -> s {status = a} :: DBSecurityGroupMembership)++instance Data.FromXML DBSecurityGroupMembership where+  parseXML x =+    DBSecurityGroupMembership'+      Prelude.<$> (x Data..@? "DBSecurityGroupName")+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable DBSecurityGroupMembership where+  hashWithSalt _salt DBSecurityGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` dbSecurityGroupName+      `Prelude.hashWithSalt` status++instance Prelude.NFData DBSecurityGroupMembership where+  rnf DBSecurityGroupMembership' {..} =+    Prelude.rnf dbSecurityGroupName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/DBSubnetGroup.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DBSubnetGroup+-- 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.Neptune.Types.DBSubnetGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.Subnet+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an Amazon Neptune DB subnet group.+--+-- This data type is used as a response element in the+-- DescribeDBSubnetGroups action.+--+-- /See:/ 'newDBSubnetGroup' smart constructor.+data DBSubnetGroup = DBSubnetGroup'+  { -- | The Amazon Resource Name (ARN) for the DB subnet group.+    dbSubnetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | Provides the description of the DB subnet group.+    dbSubnetGroupDescription :: Prelude.Maybe Prelude.Text,+    -- | The name of the DB subnet group.+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | Provides the status of the DB subnet group.+    subnetGroupStatus :: Prelude.Maybe Prelude.Text,+    -- | Contains a list of Subnet elements.+    subnets :: Prelude.Maybe [Subnet],+    -- | Provides the VpcId of the DB subnet group.+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DBSubnetGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbSubnetGroupArn', 'dbSubnetGroup_dbSubnetGroupArn' - The Amazon Resource Name (ARN) for the DB subnet group.+--+-- 'dbSubnetGroupDescription', 'dbSubnetGroup_dbSubnetGroupDescription' - Provides the description of the DB subnet group.+--+-- 'dbSubnetGroupName', 'dbSubnetGroup_dbSubnetGroupName' - The name of the DB subnet group.+--+-- 'subnetGroupStatus', 'dbSubnetGroup_subnetGroupStatus' - Provides the status of the DB subnet group.+--+-- 'subnets', 'dbSubnetGroup_subnets' - Contains a list of Subnet elements.+--+-- 'vpcId', 'dbSubnetGroup_vpcId' - Provides the VpcId of the DB subnet group.+newDBSubnetGroup ::+  DBSubnetGroup+newDBSubnetGroup =+  DBSubnetGroup'+    { dbSubnetGroupArn = Prelude.Nothing,+      dbSubnetGroupDescription = Prelude.Nothing,+      dbSubnetGroupName = Prelude.Nothing,+      subnetGroupStatus = Prelude.Nothing,+      subnets = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the DB subnet group.+dbSubnetGroup_dbSubnetGroupArn :: Lens.Lens' DBSubnetGroup (Prelude.Maybe Prelude.Text)+dbSubnetGroup_dbSubnetGroupArn = Lens.lens (\DBSubnetGroup' {dbSubnetGroupArn} -> dbSubnetGroupArn) (\s@DBSubnetGroup' {} a -> s {dbSubnetGroupArn = a} :: DBSubnetGroup)++-- | Provides the description of the DB subnet group.+dbSubnetGroup_dbSubnetGroupDescription :: Lens.Lens' DBSubnetGroup (Prelude.Maybe Prelude.Text)+dbSubnetGroup_dbSubnetGroupDescription = Lens.lens (\DBSubnetGroup' {dbSubnetGroupDescription} -> dbSubnetGroupDescription) (\s@DBSubnetGroup' {} a -> s {dbSubnetGroupDescription = a} :: DBSubnetGroup)++-- | The name of the DB subnet group.+dbSubnetGroup_dbSubnetGroupName :: Lens.Lens' DBSubnetGroup (Prelude.Maybe Prelude.Text)+dbSubnetGroup_dbSubnetGroupName = Lens.lens (\DBSubnetGroup' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@DBSubnetGroup' {} a -> s {dbSubnetGroupName = a} :: DBSubnetGroup)++-- | Provides the status of the DB subnet group.+dbSubnetGroup_subnetGroupStatus :: Lens.Lens' DBSubnetGroup (Prelude.Maybe Prelude.Text)+dbSubnetGroup_subnetGroupStatus = Lens.lens (\DBSubnetGroup' {subnetGroupStatus} -> subnetGroupStatus) (\s@DBSubnetGroup' {} a -> s {subnetGroupStatus = a} :: DBSubnetGroup)++-- | Contains a list of Subnet elements.+dbSubnetGroup_subnets :: Lens.Lens' DBSubnetGroup (Prelude.Maybe [Subnet])+dbSubnetGroup_subnets = Lens.lens (\DBSubnetGroup' {subnets} -> subnets) (\s@DBSubnetGroup' {} a -> s {subnets = a} :: DBSubnetGroup) Prelude.. Lens.mapping Lens.coerced++-- | Provides the VpcId of the DB subnet group.+dbSubnetGroup_vpcId :: Lens.Lens' DBSubnetGroup (Prelude.Maybe Prelude.Text)+dbSubnetGroup_vpcId = Lens.lens (\DBSubnetGroup' {vpcId} -> vpcId) (\s@DBSubnetGroup' {} a -> s {vpcId = a} :: DBSubnetGroup)++instance Data.FromXML DBSubnetGroup where+  parseXML x =+    DBSubnetGroup'+      Prelude.<$> (x Data..@? "DBSubnetGroupArn")+      Prelude.<*> (x Data..@? "DBSubnetGroupDescription")+      Prelude.<*> (x Data..@? "DBSubnetGroupName")+      Prelude.<*> (x Data..@? "SubnetGroupStatus")+      Prelude.<*> ( x+                      Data..@? "Subnets"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Subnet")+                  )+      Prelude.<*> (x Data..@? "VpcId")++instance Prelude.Hashable DBSubnetGroup where+  hashWithSalt _salt DBSubnetGroup' {..} =+    _salt+      `Prelude.hashWithSalt` dbSubnetGroupArn+      `Prelude.hashWithSalt` dbSubnetGroupDescription+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` subnetGroupStatus+      `Prelude.hashWithSalt` subnets+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData DBSubnetGroup where+  rnf DBSubnetGroup' {..} =+    Prelude.rnf dbSubnetGroupArn+      `Prelude.seq` Prelude.rnf dbSubnetGroupDescription+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf subnetGroupStatus+      `Prelude.seq` Prelude.rnf subnets+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/Neptune/Types/DomainMembership.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.DomainMembership+-- 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.Neptune.Types.DomainMembership where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An Active Directory Domain membership record associated with a DB+-- instance.+--+-- /See:/ 'newDomainMembership' smart constructor.+data DomainMembership = DomainMembership'+  { -- | The identifier of the Active Directory Domain.+    domain :: Prelude.Maybe Prelude.Text,+    -- | The fully qualified domain name of the Active Directory Domain.+    fqdn :: Prelude.Maybe Prelude.Text,+    -- | The name of the IAM role to be used when making API calls to the+    -- Directory Service.+    iAMRoleName :: Prelude.Maybe Prelude.Text,+    -- | The status of the DB instance\'s Active Directory Domain membership,+    -- such as joined, pending-join, failed etc).+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'domainMembership_domain' - The identifier of the Active Directory Domain.+--+-- 'fqdn', 'domainMembership_fqdn' - The fully qualified domain name of the Active Directory Domain.+--+-- 'iAMRoleName', 'domainMembership_iAMRoleName' - The name of the IAM role to be used when making API calls to the+-- Directory Service.+--+-- 'status', 'domainMembership_status' - The status of the DB instance\'s Active Directory Domain membership,+-- such as joined, pending-join, failed etc).+newDomainMembership ::+  DomainMembership+newDomainMembership =+  DomainMembership'+    { domain = Prelude.Nothing,+      fqdn = Prelude.Nothing,+      iAMRoleName = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The identifier of the Active Directory Domain.+domainMembership_domain :: Lens.Lens' DomainMembership (Prelude.Maybe Prelude.Text)+domainMembership_domain = Lens.lens (\DomainMembership' {domain} -> domain) (\s@DomainMembership' {} a -> s {domain = a} :: DomainMembership)++-- | The fully qualified domain name of the Active Directory Domain.+domainMembership_fqdn :: Lens.Lens' DomainMembership (Prelude.Maybe Prelude.Text)+domainMembership_fqdn = Lens.lens (\DomainMembership' {fqdn} -> fqdn) (\s@DomainMembership' {} a -> s {fqdn = a} :: DomainMembership)++-- | The name of the IAM role to be used when making API calls to the+-- Directory Service.+domainMembership_iAMRoleName :: Lens.Lens' DomainMembership (Prelude.Maybe Prelude.Text)+domainMembership_iAMRoleName = Lens.lens (\DomainMembership' {iAMRoleName} -> iAMRoleName) (\s@DomainMembership' {} a -> s {iAMRoleName = a} :: DomainMembership)++-- | The status of the DB instance\'s Active Directory Domain membership,+-- such as joined, pending-join, failed etc).+domainMembership_status :: Lens.Lens' DomainMembership (Prelude.Maybe Prelude.Text)+domainMembership_status = Lens.lens (\DomainMembership' {status} -> status) (\s@DomainMembership' {} a -> s {status = a} :: DomainMembership)++instance Data.FromXML DomainMembership where+  parseXML x =+    DomainMembership'+      Prelude.<$> (x Data..@? "Domain")+      Prelude.<*> (x Data..@? "FQDN")+      Prelude.<*> (x Data..@? "IAMRoleName")+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable DomainMembership where+  hashWithSalt _salt DomainMembership' {..} =+    _salt+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` fqdn+      `Prelude.hashWithSalt` iAMRoleName+      `Prelude.hashWithSalt` status++instance Prelude.NFData DomainMembership where+  rnf DomainMembership' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf fqdn+      `Prelude.seq` Prelude.rnf iAMRoleName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/DoubleRange.hs view
@@ -0,0 +1,79 @@+{-# 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.Neptune.Types.DoubleRange+-- 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.Neptune.Types.DoubleRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A range of double values.+--+-- /See:/ 'newDoubleRange' smart constructor.+data DoubleRange = DoubleRange'+  { -- | The minimum value in the range.+    from :: Prelude.Maybe Prelude.Double,+    -- | The maximum value in the range.+    to :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DoubleRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'from', 'doubleRange_from' - The minimum value in the range.+--+-- 'to', 'doubleRange_to' - The maximum value in the range.+newDoubleRange ::+  DoubleRange+newDoubleRange =+  DoubleRange'+    { from = Prelude.Nothing,+      to = Prelude.Nothing+    }++-- | The minimum value in the range.+doubleRange_from :: Lens.Lens' DoubleRange (Prelude.Maybe Prelude.Double)+doubleRange_from = Lens.lens (\DoubleRange' {from} -> from) (\s@DoubleRange' {} a -> s {from = a} :: DoubleRange)++-- | The maximum value in the range.+doubleRange_to :: Lens.Lens' DoubleRange (Prelude.Maybe Prelude.Double)+doubleRange_to = Lens.lens (\DoubleRange' {to} -> to) (\s@DoubleRange' {} a -> s {to = a} :: DoubleRange)++instance Data.FromXML DoubleRange where+  parseXML x =+    DoubleRange'+      Prelude.<$> (x Data..@? "From")+      Prelude.<*> (x Data..@? "To")++instance Prelude.Hashable DoubleRange where+  hashWithSalt _salt DoubleRange' {..} =+    _salt+      `Prelude.hashWithSalt` from+      `Prelude.hashWithSalt` to++instance Prelude.NFData DoubleRange where+  rnf DoubleRange' {..} =+    Prelude.rnf from `Prelude.seq` Prelude.rnf to
+ gen/Amazonka/Neptune/Types/Endpoint.hs view
@@ -0,0 +1,98 @@+{-# 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.Neptune.Types.Endpoint+-- 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.Neptune.Types.Endpoint 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++-- | Specifies a connection endpoint.+--+-- For the data structure that represents Amazon Neptune DB cluster+-- endpoints, see @DBClusterEndpoint@.+--+-- /See:/ 'newEndpoint' smart constructor.+data Endpoint = Endpoint'+  { -- | Specifies the DNS address of the DB instance.+    address :: Prelude.Maybe Prelude.Text,+    -- | Specifies the ID that Amazon Route 53 assigns when you create a hosted+    -- zone.+    hostedZoneId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the port that the database engine is listening on.+    port :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Endpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'address', 'endpoint_address' - Specifies the DNS address of the DB instance.+--+-- 'hostedZoneId', 'endpoint_hostedZoneId' - Specifies the ID that Amazon Route 53 assigns when you create a hosted+-- zone.+--+-- 'port', 'endpoint_port' - Specifies the port that the database engine is listening on.+newEndpoint ::+  Endpoint+newEndpoint =+  Endpoint'+    { address = Prelude.Nothing,+      hostedZoneId = Prelude.Nothing,+      port = Prelude.Nothing+    }++-- | Specifies the DNS address of the DB instance.+endpoint_address :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_address = Lens.lens (\Endpoint' {address} -> address) (\s@Endpoint' {} a -> s {address = a} :: Endpoint)++-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted+-- zone.+endpoint_hostedZoneId :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_hostedZoneId = Lens.lens (\Endpoint' {hostedZoneId} -> hostedZoneId) (\s@Endpoint' {} a -> s {hostedZoneId = a} :: Endpoint)++-- | Specifies the port that the database engine is listening on.+endpoint_port :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Int)+endpoint_port = Lens.lens (\Endpoint' {port} -> port) (\s@Endpoint' {} a -> s {port = a} :: Endpoint)++instance Data.FromXML Endpoint where+  parseXML x =+    Endpoint'+      Prelude.<$> (x Data..@? "Address")+      Prelude.<*> (x Data..@? "HostedZoneId")+      Prelude.<*> (x Data..@? "Port")++instance Prelude.Hashable Endpoint where+  hashWithSalt _salt Endpoint' {..} =+    _salt+      `Prelude.hashWithSalt` address+      `Prelude.hashWithSalt` hostedZoneId+      `Prelude.hashWithSalt` port++instance Prelude.NFData Endpoint where+  rnf Endpoint' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf hostedZoneId+      `Prelude.seq` Prelude.rnf port
+ gen/Amazonka/Neptune/Types/EngineDefaults.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.EngineDefaults+-- 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.Neptune.Types.EngineDefaults where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.Parameter+import qualified Amazonka.Prelude as Prelude++-- | Contains the result of a successful invocation of the+-- DescribeEngineDefaultParameters action.+--+-- /See:/ 'newEngineDefaults' smart constructor.+data EngineDefaults = EngineDefaults'+  { -- | Specifies the name of the DB parameter group family that the engine+    -- default parameters apply to.+    dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,+    -- | An optional pagination token provided by a previous EngineDefaults+    -- request. If this parameter is specified, the response includes only+    -- records beyond the marker, up to the value specified by @MaxRecords@ .+    marker :: Prelude.Maybe Prelude.Text,+    -- | Contains a list of engine default parameters.+    parameters :: Prelude.Maybe [Parameter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EngineDefaults' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbParameterGroupFamily', 'engineDefaults_dbParameterGroupFamily' - Specifies the name of the DB parameter group family that the engine+-- default parameters apply to.+--+-- 'marker', 'engineDefaults_marker' - An optional pagination token provided by a previous EngineDefaults+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@ .+--+-- 'parameters', 'engineDefaults_parameters' - Contains a list of engine default parameters.+newEngineDefaults ::+  EngineDefaults+newEngineDefaults =+  EngineDefaults'+    { dbParameterGroupFamily =+        Prelude.Nothing,+      marker = Prelude.Nothing,+      parameters = Prelude.Nothing+    }++-- | Specifies the name of the DB parameter group family that the engine+-- default parameters apply to.+engineDefaults_dbParameterGroupFamily :: Lens.Lens' EngineDefaults (Prelude.Maybe Prelude.Text)+engineDefaults_dbParameterGroupFamily = Lens.lens (\EngineDefaults' {dbParameterGroupFamily} -> dbParameterGroupFamily) (\s@EngineDefaults' {} a -> s {dbParameterGroupFamily = a} :: EngineDefaults)++-- | An optional pagination token provided by a previous EngineDefaults+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by @MaxRecords@ .+engineDefaults_marker :: Lens.Lens' EngineDefaults (Prelude.Maybe Prelude.Text)+engineDefaults_marker = Lens.lens (\EngineDefaults' {marker} -> marker) (\s@EngineDefaults' {} a -> s {marker = a} :: EngineDefaults)++-- | Contains a list of engine default parameters.+engineDefaults_parameters :: Lens.Lens' EngineDefaults (Prelude.Maybe [Parameter])+engineDefaults_parameters = Lens.lens (\EngineDefaults' {parameters} -> parameters) (\s@EngineDefaults' {} a -> s {parameters = a} :: EngineDefaults) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML EngineDefaults where+  parseXML x =+    EngineDefaults'+      Prelude.<$> (x Data..@? "DBParameterGroupFamily")+      Prelude.<*> (x Data..@? "Marker")+      Prelude.<*> ( x+                      Data..@? "Parameters"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Parameter")+                  )++instance Prelude.Hashable EngineDefaults where+  hashWithSalt _salt EngineDefaults' {..} =+    _salt+      `Prelude.hashWithSalt` dbParameterGroupFamily+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` parameters++instance Prelude.NFData EngineDefaults where+  rnf EngineDefaults' {..} =+    Prelude.rnf dbParameterGroupFamily+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf parameters
+ gen/Amazonka/Neptune/Types/Event.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.Event+-- 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.Neptune.Types.Event where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.SourceType+import qualified Amazonka.Prelude as Prelude++-- | This data type is used as a response element in the DescribeEvents+-- action.+--+-- /See:/ 'newEvent' smart constructor.+data Event = Event'+  { -- | Specifies the date and time of the event.+    date :: Prelude.Maybe Data.ISO8601,+    -- | Specifies the category for the event.+    eventCategories :: Prelude.Maybe [Prelude.Text],+    -- | Provides the text of this event.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the event.+    sourceArn :: Prelude.Maybe Prelude.Text,+    -- | Provides the identifier for the source of the event.+    sourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Specifies the source type for this event.+    sourceType :: Prelude.Maybe SourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Event' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'date', 'event_date' - Specifies the date and time of the event.+--+-- 'eventCategories', 'event_eventCategories' - Specifies the category for the event.+--+-- 'message', 'event_message' - Provides the text of this event.+--+-- 'sourceArn', 'event_sourceArn' - The Amazon Resource Name (ARN) for the event.+--+-- 'sourceIdentifier', 'event_sourceIdentifier' - Provides the identifier for the source of the event.+--+-- 'sourceType', 'event_sourceType' - Specifies the source type for this event.+newEvent ::+  Event+newEvent =+  Event'+    { date = Prelude.Nothing,+      eventCategories = Prelude.Nothing,+      message = Prelude.Nothing,+      sourceArn = Prelude.Nothing,+      sourceIdentifier = Prelude.Nothing,+      sourceType = Prelude.Nothing+    }++-- | Specifies the date and time of the event.+event_date :: Lens.Lens' Event (Prelude.Maybe Prelude.UTCTime)+event_date = Lens.lens (\Event' {date} -> date) (\s@Event' {} a -> s {date = a} :: Event) Prelude.. Lens.mapping Data._Time++-- | Specifies the category for the event.+event_eventCategories :: Lens.Lens' Event (Prelude.Maybe [Prelude.Text])+event_eventCategories = Lens.lens (\Event' {eventCategories} -> eventCategories) (\s@Event' {} a -> s {eventCategories = a} :: Event) Prelude.. Lens.mapping Lens.coerced++-- | Provides the text of this event.+event_message :: Lens.Lens' Event (Prelude.Maybe Prelude.Text)+event_message = Lens.lens (\Event' {message} -> message) (\s@Event' {} a -> s {message = a} :: Event)++-- | The Amazon Resource Name (ARN) for the event.+event_sourceArn :: Lens.Lens' Event (Prelude.Maybe Prelude.Text)+event_sourceArn = Lens.lens (\Event' {sourceArn} -> sourceArn) (\s@Event' {} a -> s {sourceArn = a} :: Event)++-- | Provides the identifier for the source of the event.+event_sourceIdentifier :: Lens.Lens' Event (Prelude.Maybe Prelude.Text)+event_sourceIdentifier = Lens.lens (\Event' {sourceIdentifier} -> sourceIdentifier) (\s@Event' {} a -> s {sourceIdentifier = a} :: Event)++-- | Specifies the source type for this event.+event_sourceType :: Lens.Lens' Event (Prelude.Maybe SourceType)+event_sourceType = Lens.lens (\Event' {sourceType} -> sourceType) (\s@Event' {} a -> s {sourceType = a} :: Event)++instance Data.FromXML Event where+  parseXML x =+    Event'+      Prelude.<$> (x Data..@? "Date")+      Prelude.<*> ( x+                      Data..@? "EventCategories"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "EventCategory")+                  )+      Prelude.<*> (x Data..@? "Message")+      Prelude.<*> (x Data..@? "SourceArn")+      Prelude.<*> (x Data..@? "SourceIdentifier")+      Prelude.<*> (x Data..@? "SourceType")++instance Prelude.Hashable Event where+  hashWithSalt _salt Event' {..} =+    _salt+      `Prelude.hashWithSalt` date+      `Prelude.hashWithSalt` eventCategories+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` sourceArn+      `Prelude.hashWithSalt` sourceIdentifier+      `Prelude.hashWithSalt` sourceType++instance Prelude.NFData Event where+  rnf Event' {..} =+    Prelude.rnf date+      `Prelude.seq` Prelude.rnf eventCategories+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf sourceArn+      `Prelude.seq` Prelude.rnf sourceIdentifier+      `Prelude.seq` Prelude.rnf sourceType
+ gen/Amazonka/Neptune/Types/EventCategoriesMap.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.EventCategoriesMap+-- 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.Neptune.Types.EventCategoriesMap 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++-- | Contains the results of a successful invocation of the+-- DescribeEventCategories action.+--+-- /See:/ 'newEventCategoriesMap' smart constructor.+data EventCategoriesMap = EventCategoriesMap'+  { -- | The event categories for the specified source type+    eventCategories :: Prelude.Maybe [Prelude.Text],+    -- | The source type that the returned categories belong to+    sourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventCategoriesMap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventCategories', 'eventCategoriesMap_eventCategories' - The event categories for the specified source type+--+-- 'sourceType', 'eventCategoriesMap_sourceType' - The source type that the returned categories belong to+newEventCategoriesMap ::+  EventCategoriesMap+newEventCategoriesMap =+  EventCategoriesMap'+    { eventCategories =+        Prelude.Nothing,+      sourceType = Prelude.Nothing+    }++-- | The event categories for the specified source type+eventCategoriesMap_eventCategories :: Lens.Lens' EventCategoriesMap (Prelude.Maybe [Prelude.Text])+eventCategoriesMap_eventCategories = Lens.lens (\EventCategoriesMap' {eventCategories} -> eventCategories) (\s@EventCategoriesMap' {} a -> s {eventCategories = a} :: EventCategoriesMap) Prelude.. Lens.mapping Lens.coerced++-- | The source type that the returned categories belong to+eventCategoriesMap_sourceType :: Lens.Lens' EventCategoriesMap (Prelude.Maybe Prelude.Text)+eventCategoriesMap_sourceType = Lens.lens (\EventCategoriesMap' {sourceType} -> sourceType) (\s@EventCategoriesMap' {} a -> s {sourceType = a} :: EventCategoriesMap)++instance Data.FromXML EventCategoriesMap where+  parseXML x =+    EventCategoriesMap'+      Prelude.<$> ( x+                      Data..@? "EventCategories"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "EventCategory")+                  )+      Prelude.<*> (x Data..@? "SourceType")++instance Prelude.Hashable EventCategoriesMap where+  hashWithSalt _salt EventCategoriesMap' {..} =+    _salt+      `Prelude.hashWithSalt` eventCategories+      `Prelude.hashWithSalt` sourceType++instance Prelude.NFData EventCategoriesMap where+  rnf EventCategoriesMap' {..} =+    Prelude.rnf eventCategories+      `Prelude.seq` Prelude.rnf sourceType
+ gen/Amazonka/Neptune/Types/EventSubscription.hs view
@@ -0,0 +1,219 @@+{-# 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.Neptune.Types.EventSubscription+-- 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.Neptune.Types.EventSubscription 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++-- | Contains the results of a successful invocation of the+-- DescribeEventSubscriptions action.+--+-- /See:/ 'newEventSubscription' smart constructor.+data EventSubscription = EventSubscription'+  { -- | The event notification subscription Id.+    custSubscriptionId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon customer account associated with the event notification+    -- subscription.+    customerAwsId :: Prelude.Maybe Prelude.Text,+    -- | A Boolean value indicating if the subscription is enabled. True+    -- indicates the subscription is enabled.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | A list of event categories for the event notification subscription.+    eventCategoriesList :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for the event subscription.+    eventSubscriptionArn :: Prelude.Maybe Prelude.Text,+    -- | The topic ARN of the event notification subscription.+    snsTopicArn :: Prelude.Maybe Prelude.Text,+    -- | A list of source IDs for the event notification subscription.+    sourceIdsList :: Prelude.Maybe [Prelude.Text],+    -- | The source type for the event notification subscription.+    sourceType :: Prelude.Maybe Prelude.Text,+    -- | The status of the event notification subscription.+    --+    -- Constraints:+    --+    -- Can be one of the following: creating | modifying | deleting | active |+    -- no-permission | topic-not-exist+    --+    -- The status \"no-permission\" indicates that Neptune no longer has+    -- permission to post to the SNS topic. The status \"topic-not-exist\"+    -- indicates that the topic was deleted after the subscription was created.+    status :: Prelude.Maybe Prelude.Text,+    -- | The time the event notification subscription was created.+    subscriptionCreationTime :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'custSubscriptionId', 'eventSubscription_custSubscriptionId' - The event notification subscription Id.+--+-- 'customerAwsId', 'eventSubscription_customerAwsId' - The Amazon customer account associated with the event notification+-- subscription.+--+-- 'enabled', 'eventSubscription_enabled' - A Boolean value indicating if the subscription is enabled. True+-- indicates the subscription is enabled.+--+-- 'eventCategoriesList', 'eventSubscription_eventCategoriesList' - A list of event categories for the event notification subscription.+--+-- 'eventSubscriptionArn', 'eventSubscription_eventSubscriptionArn' - The Amazon Resource Name (ARN) for the event subscription.+--+-- 'snsTopicArn', 'eventSubscription_snsTopicArn' - The topic ARN of the event notification subscription.+--+-- 'sourceIdsList', 'eventSubscription_sourceIdsList' - A list of source IDs for the event notification subscription.+--+-- 'sourceType', 'eventSubscription_sourceType' - The source type for the event notification subscription.+--+-- 'status', 'eventSubscription_status' - The status of the event notification subscription.+--+-- Constraints:+--+-- Can be one of the following: creating | modifying | deleting | active |+-- no-permission | topic-not-exist+--+-- The status \"no-permission\" indicates that Neptune no longer has+-- permission to post to the SNS topic. The status \"topic-not-exist\"+-- indicates that the topic was deleted after the subscription was created.+--+-- 'subscriptionCreationTime', 'eventSubscription_subscriptionCreationTime' - The time the event notification subscription was created.+newEventSubscription ::+  EventSubscription+newEventSubscription =+  EventSubscription'+    { custSubscriptionId =+        Prelude.Nothing,+      customerAwsId = Prelude.Nothing,+      enabled = Prelude.Nothing,+      eventCategoriesList = Prelude.Nothing,+      eventSubscriptionArn = Prelude.Nothing,+      snsTopicArn = Prelude.Nothing,+      sourceIdsList = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      status = Prelude.Nothing,+      subscriptionCreationTime = Prelude.Nothing+    }++-- | The event notification subscription Id.+eventSubscription_custSubscriptionId :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_custSubscriptionId = Lens.lens (\EventSubscription' {custSubscriptionId} -> custSubscriptionId) (\s@EventSubscription' {} a -> s {custSubscriptionId = a} :: EventSubscription)++-- | The Amazon customer account associated with the event notification+-- subscription.+eventSubscription_customerAwsId :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_customerAwsId = Lens.lens (\EventSubscription' {customerAwsId} -> customerAwsId) (\s@EventSubscription' {} a -> s {customerAwsId = a} :: EventSubscription)++-- | A Boolean value indicating if the subscription is enabled. True+-- indicates the subscription is enabled.+eventSubscription_enabled :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Bool)+eventSubscription_enabled = Lens.lens (\EventSubscription' {enabled} -> enabled) (\s@EventSubscription' {} a -> s {enabled = a} :: EventSubscription)++-- | A list of event categories for the event notification subscription.+eventSubscription_eventCategoriesList :: Lens.Lens' EventSubscription (Prelude.Maybe [Prelude.Text])+eventSubscription_eventCategoriesList = Lens.lens (\EventSubscription' {eventCategoriesList} -> eventCategoriesList) (\s@EventSubscription' {} a -> s {eventCategoriesList = a} :: EventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the event subscription.+eventSubscription_eventSubscriptionArn :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_eventSubscriptionArn = Lens.lens (\EventSubscription' {eventSubscriptionArn} -> eventSubscriptionArn) (\s@EventSubscription' {} a -> s {eventSubscriptionArn = a} :: EventSubscription)++-- | The topic ARN of the event notification subscription.+eventSubscription_snsTopicArn :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_snsTopicArn = Lens.lens (\EventSubscription' {snsTopicArn} -> snsTopicArn) (\s@EventSubscription' {} a -> s {snsTopicArn = a} :: EventSubscription)++-- | A list of source IDs for the event notification subscription.+eventSubscription_sourceIdsList :: Lens.Lens' EventSubscription (Prelude.Maybe [Prelude.Text])+eventSubscription_sourceIdsList = Lens.lens (\EventSubscription' {sourceIdsList} -> sourceIdsList) (\s@EventSubscription' {} a -> s {sourceIdsList = a} :: EventSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The source type for the event notification subscription.+eventSubscription_sourceType :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_sourceType = Lens.lens (\EventSubscription' {sourceType} -> sourceType) (\s@EventSubscription' {} a -> s {sourceType = a} :: EventSubscription)++-- | The status of the event notification subscription.+--+-- Constraints:+--+-- Can be one of the following: creating | modifying | deleting | active |+-- no-permission | topic-not-exist+--+-- The status \"no-permission\" indicates that Neptune no longer has+-- permission to post to the SNS topic. The status \"topic-not-exist\"+-- indicates that the topic was deleted after the subscription was created.+eventSubscription_status :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_status = Lens.lens (\EventSubscription' {status} -> status) (\s@EventSubscription' {} a -> s {status = a} :: EventSubscription)++-- | The time the event notification subscription was created.+eventSubscription_subscriptionCreationTime :: Lens.Lens' EventSubscription (Prelude.Maybe Prelude.Text)+eventSubscription_subscriptionCreationTime = Lens.lens (\EventSubscription' {subscriptionCreationTime} -> subscriptionCreationTime) (\s@EventSubscription' {} a -> s {subscriptionCreationTime = a} :: EventSubscription)++instance Data.FromXML EventSubscription where+  parseXML x =+    EventSubscription'+      Prelude.<$> (x Data..@? "CustSubscriptionId")+      Prelude.<*> (x Data..@? "CustomerAwsId")+      Prelude.<*> (x Data..@? "Enabled")+      Prelude.<*> ( x+                      Data..@? "EventCategoriesList"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "EventCategory")+                  )+      Prelude.<*> (x Data..@? "EventSubscriptionArn")+      Prelude.<*> (x Data..@? "SnsTopicArn")+      Prelude.<*> ( x+                      Data..@? "SourceIdsList"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "SourceId")+                  )+      Prelude.<*> (x Data..@? "SourceType")+      Prelude.<*> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "SubscriptionCreationTime")++instance Prelude.Hashable EventSubscription where+  hashWithSalt _salt EventSubscription' {..} =+    _salt+      `Prelude.hashWithSalt` custSubscriptionId+      `Prelude.hashWithSalt` customerAwsId+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` eventCategoriesList+      `Prelude.hashWithSalt` eventSubscriptionArn+      `Prelude.hashWithSalt` snsTopicArn+      `Prelude.hashWithSalt` sourceIdsList+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` subscriptionCreationTime++instance Prelude.NFData EventSubscription where+  rnf EventSubscription' {..} =+    Prelude.rnf custSubscriptionId+      `Prelude.seq` Prelude.rnf customerAwsId+      `Prelude.seq` Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf eventCategoriesList+      `Prelude.seq` Prelude.rnf eventSubscriptionArn+      `Prelude.seq` Prelude.rnf snsTopicArn+      `Prelude.seq` Prelude.rnf sourceIdsList+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf subscriptionCreationTime
+ gen/Amazonka/Neptune/Types/Filter.hs view
@@ -0,0 +1,79 @@+{-# 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.Neptune.Types.Filter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Neptune.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This type is not currently supported.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | This parameter is not currently supported.+    name :: Prelude.Text,+    -- | This parameter is not currently supported.+    values :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'filter_name' - This parameter is not currently supported.+--+-- 'values', 'filter_values' - This parameter is not currently supported.+newFilter ::+  -- | 'name'+  Prelude.Text ->+  Filter+newFilter pName_ =+  Filter' {name = pName_, values = Prelude.mempty}++-- | This parameter is not currently supported.+filter_name :: Lens.Lens' Filter Prelude.Text+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | This parameter is not currently supported.+filter_values :: Lens.Lens' Filter [Prelude.Text]+filter_values = Lens.lens (\Filter' {values} -> values) (\s@Filter' {} a -> s {values = a} :: Filter) Prelude.. Lens.coerced++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToQuery Filter where+  toQuery Filter' {..} =+    Prelude.mconcat+      [ "Name" Data.=: name,+        "Values" Data.=: Data.toQueryList "Value" values+      ]
+ gen/Amazonka/Neptune/Types/GlobalCluster.hs view
@@ -0,0 +1,187 @@+{-# 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.Neptune.Types.GlobalCluster+-- 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.Neptune.Types.GlobalCluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.GlobalClusterMember+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an Amazon Neptune global database.+--+-- This data type is used as a response element for the+-- CreateGlobalCluster, DescribeGlobalClusters, ModifyGlobalCluster,+-- DeleteGlobalCluster, FailoverGlobalCluster, and RemoveFromGlobalCluster+-- actions.+--+-- /See:/ 'newGlobalCluster' smart constructor.+data GlobalCluster = GlobalCluster'+  { -- | The deletion protection setting for the global database.+    deletionProtection :: Prelude.Maybe Prelude.Bool,+    -- | The Neptune database engine used by the global database (@\"neptune\"@).+    engine :: Prelude.Maybe Prelude.Text,+    -- | The Neptune engine version used by the global database.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the global database.+    globalClusterArn :: Prelude.Maybe Prelude.Text,+    -- | Contains a user-supplied global database cluster identifier. This+    -- identifier is the unique key that identifies a global database.+    globalClusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | A list of cluster ARNs and instance ARNs for all the DB clusters that+    -- are part of the global database.+    globalClusterMembers :: Prelude.Maybe [GlobalClusterMember],+    -- | An immutable identifier for the global database that is unique within in+    -- all regions. This identifier is found in CloudTrail log entries whenever+    -- the KMS key for the DB cluster is accessed.+    globalClusterResourceId :: Prelude.Maybe Prelude.Text,+    -- | Specifies the current state of this global database.+    status :: Prelude.Maybe Prelude.Text,+    -- | The storage encryption setting for the global database.+    storageEncrypted :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlobalCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deletionProtection', 'globalCluster_deletionProtection' - The deletion protection setting for the global database.+--+-- 'engine', 'globalCluster_engine' - The Neptune database engine used by the global database (@\"neptune\"@).+--+-- 'engineVersion', 'globalCluster_engineVersion' - The Neptune engine version used by the global database.+--+-- 'globalClusterArn', 'globalCluster_globalClusterArn' - The Amazon Resource Name (ARN) for the global database.+--+-- 'globalClusterIdentifier', 'globalCluster_globalClusterIdentifier' - Contains a user-supplied global database cluster identifier. This+-- identifier is the unique key that identifies a global database.+--+-- 'globalClusterMembers', 'globalCluster_globalClusterMembers' - A list of cluster ARNs and instance ARNs for all the DB clusters that+-- are part of the global database.+--+-- 'globalClusterResourceId', 'globalCluster_globalClusterResourceId' - An immutable identifier for the global database that is unique within in+-- all regions. This identifier is found in CloudTrail log entries whenever+-- the KMS key for the DB cluster is accessed.+--+-- 'status', 'globalCluster_status' - Specifies the current state of this global database.+--+-- 'storageEncrypted', 'globalCluster_storageEncrypted' - The storage encryption setting for the global database.+newGlobalCluster ::+  GlobalCluster+newGlobalCluster =+  GlobalCluster'+    { deletionProtection =+        Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      globalClusterArn = Prelude.Nothing,+      globalClusterIdentifier = Prelude.Nothing,+      globalClusterMembers = Prelude.Nothing,+      globalClusterResourceId = Prelude.Nothing,+      status = Prelude.Nothing,+      storageEncrypted = Prelude.Nothing+    }++-- | The deletion protection setting for the global database.+globalCluster_deletionProtection :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Bool)+globalCluster_deletionProtection = Lens.lens (\GlobalCluster' {deletionProtection} -> deletionProtection) (\s@GlobalCluster' {} a -> s {deletionProtection = a} :: GlobalCluster)++-- | The Neptune database engine used by the global database (@\"neptune\"@).+globalCluster_engine :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_engine = Lens.lens (\GlobalCluster' {engine} -> engine) (\s@GlobalCluster' {} a -> s {engine = a} :: GlobalCluster)++-- | The Neptune engine version used by the global database.+globalCluster_engineVersion :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_engineVersion = Lens.lens (\GlobalCluster' {engineVersion} -> engineVersion) (\s@GlobalCluster' {} a -> s {engineVersion = a} :: GlobalCluster)++-- | The Amazon Resource Name (ARN) for the global database.+globalCluster_globalClusterArn :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_globalClusterArn = Lens.lens (\GlobalCluster' {globalClusterArn} -> globalClusterArn) (\s@GlobalCluster' {} a -> s {globalClusterArn = a} :: GlobalCluster)++-- | Contains a user-supplied global database cluster identifier. This+-- identifier is the unique key that identifies a global database.+globalCluster_globalClusterIdentifier :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_globalClusterIdentifier = Lens.lens (\GlobalCluster' {globalClusterIdentifier} -> globalClusterIdentifier) (\s@GlobalCluster' {} a -> s {globalClusterIdentifier = a} :: GlobalCluster)++-- | A list of cluster ARNs and instance ARNs for all the DB clusters that+-- are part of the global database.+globalCluster_globalClusterMembers :: Lens.Lens' GlobalCluster (Prelude.Maybe [GlobalClusterMember])+globalCluster_globalClusterMembers = Lens.lens (\GlobalCluster' {globalClusterMembers} -> globalClusterMembers) (\s@GlobalCluster' {} a -> s {globalClusterMembers = a} :: GlobalCluster) Prelude.. Lens.mapping Lens.coerced++-- | An immutable identifier for the global database that is unique within in+-- all regions. This identifier is found in CloudTrail log entries whenever+-- the KMS key for the DB cluster is accessed.+globalCluster_globalClusterResourceId :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_globalClusterResourceId = Lens.lens (\GlobalCluster' {globalClusterResourceId} -> globalClusterResourceId) (\s@GlobalCluster' {} a -> s {globalClusterResourceId = a} :: GlobalCluster)++-- | Specifies the current state of this global database.+globalCluster_status :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Text)+globalCluster_status = Lens.lens (\GlobalCluster' {status} -> status) (\s@GlobalCluster' {} a -> s {status = a} :: GlobalCluster)++-- | The storage encryption setting for the global database.+globalCluster_storageEncrypted :: Lens.Lens' GlobalCluster (Prelude.Maybe Prelude.Bool)+globalCluster_storageEncrypted = Lens.lens (\GlobalCluster' {storageEncrypted} -> storageEncrypted) (\s@GlobalCluster' {} a -> s {storageEncrypted = a} :: GlobalCluster)++instance Data.FromXML GlobalCluster where+  parseXML x =+    GlobalCluster'+      Prelude.<$> (x Data..@? "DeletionProtection")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "GlobalClusterArn")+      Prelude.<*> (x Data..@? "GlobalClusterIdentifier")+      Prelude.<*> ( x+                      Data..@? "GlobalClusterMembers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "GlobalClusterMember")+                  )+      Prelude.<*> (x Data..@? "GlobalClusterResourceId")+      Prelude.<*> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "StorageEncrypted")++instance Prelude.Hashable GlobalCluster where+  hashWithSalt _salt GlobalCluster' {..} =+    _salt+      `Prelude.hashWithSalt` deletionProtection+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` globalClusterArn+      `Prelude.hashWithSalt` globalClusterIdentifier+      `Prelude.hashWithSalt` globalClusterMembers+      `Prelude.hashWithSalt` globalClusterResourceId+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` storageEncrypted++instance Prelude.NFData GlobalCluster where+  rnf GlobalCluster' {..} =+    Prelude.rnf deletionProtection+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf globalClusterArn+      `Prelude.seq` Prelude.rnf globalClusterIdentifier+      `Prelude.seq` Prelude.rnf globalClusterMembers+      `Prelude.seq` Prelude.rnf globalClusterResourceId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf storageEncrypted
+ gen/Amazonka/Neptune/Types/GlobalClusterMember.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.GlobalClusterMember+-- 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.Neptune.Types.GlobalClusterMember where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A data structure with information about any primary and secondary+-- clusters associated with an Neptune global database.+--+-- /See:/ 'newGlobalClusterMember' smart constructor.+data GlobalClusterMember = GlobalClusterMember'+  { -- | The Amazon Resource Name (ARN) for each Neptune cluster.+    dbClusterArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the Neptune cluster is the primary cluster (that is,+    -- has read-write capability) for the Neptune global database with which it+    -- is associated.+    isWriter :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) for each read-only secondary cluster+    -- associated with the Neptune global database.+    readers :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlobalClusterMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbClusterArn', 'globalClusterMember_dbClusterArn' - The Amazon Resource Name (ARN) for each Neptune cluster.+--+-- 'isWriter', 'globalClusterMember_isWriter' - Specifies whether the Neptune cluster is the primary cluster (that is,+-- has read-write capability) for the Neptune global database with which it+-- is associated.+--+-- 'readers', 'globalClusterMember_readers' - The Amazon Resource Name (ARN) for each read-only secondary cluster+-- associated with the Neptune global database.+newGlobalClusterMember ::+  GlobalClusterMember+newGlobalClusterMember =+  GlobalClusterMember'+    { dbClusterArn =+        Prelude.Nothing,+      isWriter = Prelude.Nothing,+      readers = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for each Neptune cluster.+globalClusterMember_dbClusterArn :: Lens.Lens' GlobalClusterMember (Prelude.Maybe Prelude.Text)+globalClusterMember_dbClusterArn = Lens.lens (\GlobalClusterMember' {dbClusterArn} -> dbClusterArn) (\s@GlobalClusterMember' {} a -> s {dbClusterArn = a} :: GlobalClusterMember)++-- | Specifies whether the Neptune cluster is the primary cluster (that is,+-- has read-write capability) for the Neptune global database with which it+-- is associated.+globalClusterMember_isWriter :: Lens.Lens' GlobalClusterMember (Prelude.Maybe Prelude.Bool)+globalClusterMember_isWriter = Lens.lens (\GlobalClusterMember' {isWriter} -> isWriter) (\s@GlobalClusterMember' {} a -> s {isWriter = a} :: GlobalClusterMember)++-- | The Amazon Resource Name (ARN) for each read-only secondary cluster+-- associated with the Neptune global database.+globalClusterMember_readers :: Lens.Lens' GlobalClusterMember (Prelude.Maybe [Prelude.Text])+globalClusterMember_readers = Lens.lens (\GlobalClusterMember' {readers} -> readers) (\s@GlobalClusterMember' {} a -> s {readers = a} :: GlobalClusterMember) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML GlobalClusterMember where+  parseXML x =+    GlobalClusterMember'+      Prelude.<$> (x Data..@? "DBClusterArn")+      Prelude.<*> (x Data..@? "IsWriter")+      Prelude.<*> ( x+                      Data..@? "Readers"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )++instance Prelude.Hashable GlobalClusterMember where+  hashWithSalt _salt GlobalClusterMember' {..} =+    _salt+      `Prelude.hashWithSalt` dbClusterArn+      `Prelude.hashWithSalt` isWriter+      `Prelude.hashWithSalt` readers++instance Prelude.NFData GlobalClusterMember where+  rnf GlobalClusterMember' {..} =+    Prelude.rnf dbClusterArn+      `Prelude.seq` Prelude.rnf isWriter+      `Prelude.seq` Prelude.rnf readers
+ gen/Amazonka/Neptune/Types/OptionGroupMembership.hs view
@@ -0,0 +1,81 @@+{-# 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.Neptune.Types.OptionGroupMembership+-- 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.Neptune.Types.OptionGroupMembership 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++-- | Not supported by Neptune.+--+-- /See:/ 'newOptionGroupMembership' smart constructor.+data OptionGroupMembership = OptionGroupMembership'+  { -- | Not supported by Neptune.+    optionGroupName :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OptionGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'optionGroupName', 'optionGroupMembership_optionGroupName' - Not supported by Neptune.+--+-- 'status', 'optionGroupMembership_status' - Not supported by Neptune.+newOptionGroupMembership ::+  OptionGroupMembership+newOptionGroupMembership =+  OptionGroupMembership'+    { optionGroupName =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Not supported by Neptune.+optionGroupMembership_optionGroupName :: Lens.Lens' OptionGroupMembership (Prelude.Maybe Prelude.Text)+optionGroupMembership_optionGroupName = Lens.lens (\OptionGroupMembership' {optionGroupName} -> optionGroupName) (\s@OptionGroupMembership' {} a -> s {optionGroupName = a} :: OptionGroupMembership)++-- | Not supported by Neptune.+optionGroupMembership_status :: Lens.Lens' OptionGroupMembership (Prelude.Maybe Prelude.Text)+optionGroupMembership_status = Lens.lens (\OptionGroupMembership' {status} -> status) (\s@OptionGroupMembership' {} a -> s {status = a} :: OptionGroupMembership)++instance Data.FromXML OptionGroupMembership where+  parseXML x =+    OptionGroupMembership'+      Prelude.<$> (x Data..@? "OptionGroupName")+      Prelude.<*> (x Data..@? "Status")++instance Prelude.Hashable OptionGroupMembership where+  hashWithSalt _salt OptionGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` optionGroupName+      `Prelude.hashWithSalt` status++instance Prelude.NFData OptionGroupMembership where+  rnf OptionGroupMembership' {..} =+    Prelude.rnf optionGroupName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Neptune/Types/OrderableDBInstanceOption.hs view
@@ -0,0 +1,327 @@+{-# 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.Neptune.Types.OrderableDBInstanceOption+-- 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.Neptune.Types.OrderableDBInstanceOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.AvailabilityZone+import qualified Amazonka.Prelude as Prelude++-- | Contains a list of available options for a DB instance.+--+-- This data type is used as a response element in the+-- DescribeOrderableDBInstanceOptions action.+--+-- /See:/ 'newOrderableDBInstanceOption' smart constructor.+data OrderableDBInstanceOption = OrderableDBInstanceOption'+  { -- | A list of Availability Zones for a DB instance.+    availabilityZones :: Prelude.Maybe [AvailabilityZone],+    -- | The DB instance class for a DB instance.+    dbInstanceClass :: Prelude.Maybe Prelude.Text,+    -- | The engine type of a DB instance.+    engine :: Prelude.Maybe Prelude.Text,+    -- | The engine version of a DB instance.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | The license model for a DB instance.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Maximum total provisioned IOPS for a DB instance.+    maxIopsPerDbInstance :: Prelude.Maybe Prelude.Int,+    -- | Maximum provisioned IOPS per GiB for a DB instance.+    maxIopsPerGib :: Prelude.Maybe Prelude.Double,+    -- | Maximum storage size for a DB instance.+    maxStorageSize :: Prelude.Maybe Prelude.Int,+    -- | Minimum total provisioned IOPS for a DB instance.+    minIopsPerDbInstance :: Prelude.Maybe Prelude.Int,+    -- | Minimum provisioned IOPS per GiB for a DB instance.+    minIopsPerGib :: Prelude.Maybe Prelude.Double,+    -- | Minimum storage size for a DB instance.+    minStorageSize :: Prelude.Maybe Prelude.Int,+    -- | Indicates whether a DB instance is Multi-AZ capable.+    multiAZCapable :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether a DB instance can have a Read Replica.+    readReplicaCapable :: Prelude.Maybe Prelude.Bool,+    -- | Indicates the storage type for a DB instance.+    storageType :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether a DB instance supports Enhanced Monitoring at+    -- intervals from 1 to 60 seconds.+    supportsEnhancedMonitoring :: Prelude.Maybe Prelude.Bool,+    -- | A value that indicates whether you can use Neptune global databases with+    -- a specific combination of other DB engine attributes.+    supportsGlobalDatabases :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether a DB instance supports IAM database authentication.+    supportsIAMDatabaseAuthentication :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether a DB instance supports provisioned IOPS.+    supportsIops :: Prelude.Maybe Prelude.Bool,+    -- | /(Not supported by Neptune)/+    supportsPerformanceInsights :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether a DB instance supports encrypted storage.+    supportsStorageEncryption :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether a DB instance is in a VPC.+    vpc :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OrderableDBInstanceOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZones', 'orderableDBInstanceOption_availabilityZones' - A list of Availability Zones for a DB instance.+--+-- 'dbInstanceClass', 'orderableDBInstanceOption_dbInstanceClass' - The DB instance class for a DB instance.+--+-- 'engine', 'orderableDBInstanceOption_engine' - The engine type of a DB instance.+--+-- 'engineVersion', 'orderableDBInstanceOption_engineVersion' - The engine version of a DB instance.+--+-- 'licenseModel', 'orderableDBInstanceOption_licenseModel' - The license model for a DB instance.+--+-- 'maxIopsPerDbInstance', 'orderableDBInstanceOption_maxIopsPerDbInstance' - Maximum total provisioned IOPS for a DB instance.+--+-- 'maxIopsPerGib', 'orderableDBInstanceOption_maxIopsPerGib' - Maximum provisioned IOPS per GiB for a DB instance.+--+-- 'maxStorageSize', 'orderableDBInstanceOption_maxStorageSize' - Maximum storage size for a DB instance.+--+-- 'minIopsPerDbInstance', 'orderableDBInstanceOption_minIopsPerDbInstance' - Minimum total provisioned IOPS for a DB instance.+--+-- 'minIopsPerGib', 'orderableDBInstanceOption_minIopsPerGib' - Minimum provisioned IOPS per GiB for a DB instance.+--+-- 'minStorageSize', 'orderableDBInstanceOption_minStorageSize' - Minimum storage size for a DB instance.+--+-- 'multiAZCapable', 'orderableDBInstanceOption_multiAZCapable' - Indicates whether a DB instance is Multi-AZ capable.+--+-- 'readReplicaCapable', 'orderableDBInstanceOption_readReplicaCapable' - Indicates whether a DB instance can have a Read Replica.+--+-- 'storageType', 'orderableDBInstanceOption_storageType' - Indicates the storage type for a DB instance.+--+-- 'supportsEnhancedMonitoring', 'orderableDBInstanceOption_supportsEnhancedMonitoring' - Indicates whether a DB instance supports Enhanced Monitoring at+-- intervals from 1 to 60 seconds.+--+-- 'supportsGlobalDatabases', 'orderableDBInstanceOption_supportsGlobalDatabases' - A value that indicates whether you can use Neptune global databases with+-- a specific combination of other DB engine attributes.+--+-- 'supportsIAMDatabaseAuthentication', 'orderableDBInstanceOption_supportsIAMDatabaseAuthentication' - Indicates whether a DB instance supports IAM database authentication.+--+-- 'supportsIops', 'orderableDBInstanceOption_supportsIops' - Indicates whether a DB instance supports provisioned IOPS.+--+-- 'supportsPerformanceInsights', 'orderableDBInstanceOption_supportsPerformanceInsights' - /(Not supported by Neptune)/+--+-- 'supportsStorageEncryption', 'orderableDBInstanceOption_supportsStorageEncryption' - Indicates whether a DB instance supports encrypted storage.+--+-- 'vpc', 'orderableDBInstanceOption_vpc' - Indicates whether a DB instance is in a VPC.+newOrderableDBInstanceOption ::+  OrderableDBInstanceOption+newOrderableDBInstanceOption =+  OrderableDBInstanceOption'+    { availabilityZones =+        Prelude.Nothing,+      dbInstanceClass = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      maxIopsPerDbInstance = Prelude.Nothing,+      maxIopsPerGib = Prelude.Nothing,+      maxStorageSize = Prelude.Nothing,+      minIopsPerDbInstance = Prelude.Nothing,+      minIopsPerGib = Prelude.Nothing,+      minStorageSize = Prelude.Nothing,+      multiAZCapable = Prelude.Nothing,+      readReplicaCapable = Prelude.Nothing,+      storageType = Prelude.Nothing,+      supportsEnhancedMonitoring = Prelude.Nothing,+      supportsGlobalDatabases = Prelude.Nothing,+      supportsIAMDatabaseAuthentication =+        Prelude.Nothing,+      supportsIops = Prelude.Nothing,+      supportsPerformanceInsights = Prelude.Nothing,+      supportsStorageEncryption = Prelude.Nothing,+      vpc = Prelude.Nothing+    }++-- | A list of Availability Zones for a DB instance.+orderableDBInstanceOption_availabilityZones :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe [AvailabilityZone])+orderableDBInstanceOption_availabilityZones = Lens.lens (\OrderableDBInstanceOption' {availabilityZones} -> availabilityZones) (\s@OrderableDBInstanceOption' {} a -> s {availabilityZones = a} :: OrderableDBInstanceOption) Prelude.. Lens.mapping Lens.coerced++-- | The DB instance class for a DB instance.+orderableDBInstanceOption_dbInstanceClass :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Text)+orderableDBInstanceOption_dbInstanceClass = Lens.lens (\OrderableDBInstanceOption' {dbInstanceClass} -> dbInstanceClass) (\s@OrderableDBInstanceOption' {} a -> s {dbInstanceClass = a} :: OrderableDBInstanceOption)++-- | The engine type of a DB instance.+orderableDBInstanceOption_engine :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Text)+orderableDBInstanceOption_engine = Lens.lens (\OrderableDBInstanceOption' {engine} -> engine) (\s@OrderableDBInstanceOption' {} a -> s {engine = a} :: OrderableDBInstanceOption)++-- | The engine version of a DB instance.+orderableDBInstanceOption_engineVersion :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Text)+orderableDBInstanceOption_engineVersion = Lens.lens (\OrderableDBInstanceOption' {engineVersion} -> engineVersion) (\s@OrderableDBInstanceOption' {} a -> s {engineVersion = a} :: OrderableDBInstanceOption)++-- | The license model for a DB instance.+orderableDBInstanceOption_licenseModel :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Text)+orderableDBInstanceOption_licenseModel = Lens.lens (\OrderableDBInstanceOption' {licenseModel} -> licenseModel) (\s@OrderableDBInstanceOption' {} a -> s {licenseModel = a} :: OrderableDBInstanceOption)++-- | Maximum total provisioned IOPS for a DB instance.+orderableDBInstanceOption_maxIopsPerDbInstance :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Int)+orderableDBInstanceOption_maxIopsPerDbInstance = Lens.lens (\OrderableDBInstanceOption' {maxIopsPerDbInstance} -> maxIopsPerDbInstance) (\s@OrderableDBInstanceOption' {} a -> s {maxIopsPerDbInstance = a} :: OrderableDBInstanceOption)++-- | Maximum provisioned IOPS per GiB for a DB instance.+orderableDBInstanceOption_maxIopsPerGib :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Double)+orderableDBInstanceOption_maxIopsPerGib = Lens.lens (\OrderableDBInstanceOption' {maxIopsPerGib} -> maxIopsPerGib) (\s@OrderableDBInstanceOption' {} a -> s {maxIopsPerGib = a} :: OrderableDBInstanceOption)++-- | Maximum storage size for a DB instance.+orderableDBInstanceOption_maxStorageSize :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Int)+orderableDBInstanceOption_maxStorageSize = Lens.lens (\OrderableDBInstanceOption' {maxStorageSize} -> maxStorageSize) (\s@OrderableDBInstanceOption' {} a -> s {maxStorageSize = a} :: OrderableDBInstanceOption)++-- | Minimum total provisioned IOPS for a DB instance.+orderableDBInstanceOption_minIopsPerDbInstance :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Int)+orderableDBInstanceOption_minIopsPerDbInstance = Lens.lens (\OrderableDBInstanceOption' {minIopsPerDbInstance} -> minIopsPerDbInstance) (\s@OrderableDBInstanceOption' {} a -> s {minIopsPerDbInstance = a} :: OrderableDBInstanceOption)++-- | Minimum provisioned IOPS per GiB for a DB instance.+orderableDBInstanceOption_minIopsPerGib :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Double)+orderableDBInstanceOption_minIopsPerGib = Lens.lens (\OrderableDBInstanceOption' {minIopsPerGib} -> minIopsPerGib) (\s@OrderableDBInstanceOption' {} a -> s {minIopsPerGib = a} :: OrderableDBInstanceOption)++-- | Minimum storage size for a DB instance.+orderableDBInstanceOption_minStorageSize :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Int)+orderableDBInstanceOption_minStorageSize = Lens.lens (\OrderableDBInstanceOption' {minStorageSize} -> minStorageSize) (\s@OrderableDBInstanceOption' {} a -> s {minStorageSize = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance is Multi-AZ capable.+orderableDBInstanceOption_multiAZCapable :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_multiAZCapable = Lens.lens (\OrderableDBInstanceOption' {multiAZCapable} -> multiAZCapable) (\s@OrderableDBInstanceOption' {} a -> s {multiAZCapable = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance can have a Read Replica.+orderableDBInstanceOption_readReplicaCapable :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_readReplicaCapable = Lens.lens (\OrderableDBInstanceOption' {readReplicaCapable} -> readReplicaCapable) (\s@OrderableDBInstanceOption' {} a -> s {readReplicaCapable = a} :: OrderableDBInstanceOption)++-- | Indicates the storage type for a DB instance.+orderableDBInstanceOption_storageType :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Text)+orderableDBInstanceOption_storageType = Lens.lens (\OrderableDBInstanceOption' {storageType} -> storageType) (\s@OrderableDBInstanceOption' {} a -> s {storageType = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance supports Enhanced Monitoring at+-- intervals from 1 to 60 seconds.+orderableDBInstanceOption_supportsEnhancedMonitoring :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsEnhancedMonitoring = Lens.lens (\OrderableDBInstanceOption' {supportsEnhancedMonitoring} -> supportsEnhancedMonitoring) (\s@OrderableDBInstanceOption' {} a -> s {supportsEnhancedMonitoring = a} :: OrderableDBInstanceOption)++-- | A value that indicates whether you can use Neptune global databases with+-- a specific combination of other DB engine attributes.+orderableDBInstanceOption_supportsGlobalDatabases :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsGlobalDatabases = Lens.lens (\OrderableDBInstanceOption' {supportsGlobalDatabases} -> supportsGlobalDatabases) (\s@OrderableDBInstanceOption' {} a -> s {supportsGlobalDatabases = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance supports IAM database authentication.+orderableDBInstanceOption_supportsIAMDatabaseAuthentication :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsIAMDatabaseAuthentication = Lens.lens (\OrderableDBInstanceOption' {supportsIAMDatabaseAuthentication} -> supportsIAMDatabaseAuthentication) (\s@OrderableDBInstanceOption' {} a -> s {supportsIAMDatabaseAuthentication = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance supports provisioned IOPS.+orderableDBInstanceOption_supportsIops :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsIops = Lens.lens (\OrderableDBInstanceOption' {supportsIops} -> supportsIops) (\s@OrderableDBInstanceOption' {} a -> s {supportsIops = a} :: OrderableDBInstanceOption)++-- | /(Not supported by Neptune)/+orderableDBInstanceOption_supportsPerformanceInsights :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsPerformanceInsights = Lens.lens (\OrderableDBInstanceOption' {supportsPerformanceInsights} -> supportsPerformanceInsights) (\s@OrderableDBInstanceOption' {} a -> s {supportsPerformanceInsights = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance supports encrypted storage.+orderableDBInstanceOption_supportsStorageEncryption :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_supportsStorageEncryption = Lens.lens (\OrderableDBInstanceOption' {supportsStorageEncryption} -> supportsStorageEncryption) (\s@OrderableDBInstanceOption' {} a -> s {supportsStorageEncryption = a} :: OrderableDBInstanceOption)++-- | Indicates whether a DB instance is in a VPC.+orderableDBInstanceOption_vpc :: Lens.Lens' OrderableDBInstanceOption (Prelude.Maybe Prelude.Bool)+orderableDBInstanceOption_vpc = Lens.lens (\OrderableDBInstanceOption' {vpc} -> vpc) (\s@OrderableDBInstanceOption' {} a -> s {vpc = a} :: OrderableDBInstanceOption)++instance Data.FromXML OrderableDBInstanceOption where+  parseXML x =+    OrderableDBInstanceOption'+      Prelude.<$> ( x+                      Data..@? "AvailabilityZones"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "AvailabilityZone")+                  )+      Prelude.<*> (x Data..@? "DBInstanceClass")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "LicenseModel")+      Prelude.<*> (x Data..@? "MaxIopsPerDbInstance")+      Prelude.<*> (x Data..@? "MaxIopsPerGib")+      Prelude.<*> (x Data..@? "MaxStorageSize")+      Prelude.<*> (x Data..@? "MinIopsPerDbInstance")+      Prelude.<*> (x Data..@? "MinIopsPerGib")+      Prelude.<*> (x Data..@? "MinStorageSize")+      Prelude.<*> (x Data..@? "MultiAZCapable")+      Prelude.<*> (x Data..@? "ReadReplicaCapable")+      Prelude.<*> (x Data..@? "StorageType")+      Prelude.<*> (x Data..@? "SupportsEnhancedMonitoring")+      Prelude.<*> (x Data..@? "SupportsGlobalDatabases")+      Prelude.<*> (x Data..@? "SupportsIAMDatabaseAuthentication")+      Prelude.<*> (x Data..@? "SupportsIops")+      Prelude.<*> (x Data..@? "SupportsPerformanceInsights")+      Prelude.<*> (x Data..@? "SupportsStorageEncryption")+      Prelude.<*> (x Data..@? "Vpc")++instance Prelude.Hashable OrderableDBInstanceOption where+  hashWithSalt _salt OrderableDBInstanceOption' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZones+      `Prelude.hashWithSalt` dbInstanceClass+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` maxIopsPerDbInstance+      `Prelude.hashWithSalt` maxIopsPerGib+      `Prelude.hashWithSalt` maxStorageSize+      `Prelude.hashWithSalt` minIopsPerDbInstance+      `Prelude.hashWithSalt` minIopsPerGib+      `Prelude.hashWithSalt` minStorageSize+      `Prelude.hashWithSalt` multiAZCapable+      `Prelude.hashWithSalt` readReplicaCapable+      `Prelude.hashWithSalt` storageType+      `Prelude.hashWithSalt` supportsEnhancedMonitoring+      `Prelude.hashWithSalt` supportsGlobalDatabases+      `Prelude.hashWithSalt` supportsIAMDatabaseAuthentication+      `Prelude.hashWithSalt` supportsIops+      `Prelude.hashWithSalt` supportsPerformanceInsights+      `Prelude.hashWithSalt` supportsStorageEncryption+      `Prelude.hashWithSalt` vpc++instance Prelude.NFData OrderableDBInstanceOption where+  rnf OrderableDBInstanceOption' {..} =+    Prelude.rnf availabilityZones+      `Prelude.seq` Prelude.rnf dbInstanceClass+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf maxIopsPerDbInstance+      `Prelude.seq` Prelude.rnf maxIopsPerGib+      `Prelude.seq` Prelude.rnf maxStorageSize+      `Prelude.seq` Prelude.rnf minIopsPerDbInstance+      `Prelude.seq` Prelude.rnf minIopsPerGib+      `Prelude.seq` Prelude.rnf minStorageSize+      `Prelude.seq` Prelude.rnf multiAZCapable+      `Prelude.seq` Prelude.rnf readReplicaCapable+      `Prelude.seq` Prelude.rnf storageType+      `Prelude.seq` Prelude.rnf supportsEnhancedMonitoring+      `Prelude.seq` Prelude.rnf supportsGlobalDatabases+      `Prelude.seq` Prelude.rnf+        supportsIAMDatabaseAuthentication+      `Prelude.seq` Prelude.rnf supportsIops+      `Prelude.seq` Prelude.rnf+        supportsPerformanceInsights+      `Prelude.seq` Prelude.rnf+        supportsStorageEncryption+      `Prelude.seq` Prelude.rnf vpc
+ gen/Amazonka/Neptune/Types/Parameter.hs view
@@ -0,0 +1,198 @@+{-# 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.Neptune.Types.Parameter+-- 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.Neptune.Types.Parameter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.ApplyMethod+import qualified Amazonka.Prelude as Prelude++-- | Specifies a parameter.+--+-- /See:/ 'newParameter' smart constructor.+data Parameter = Parameter'+  { -- | Specifies the valid range of values for the parameter.+    allowedValues :: Prelude.Maybe Prelude.Text,+    -- | Indicates when to apply parameter updates.+    applyMethod :: Prelude.Maybe ApplyMethod,+    -- | Specifies the engine specific parameters type.+    applyType :: Prelude.Maybe Prelude.Text,+    -- | Specifies the valid data type for the parameter.+    dataType :: Prelude.Maybe Prelude.Text,+    -- | Provides a description of the parameter.+    description :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether (@true@) or not (@false@) the parameter can be+    -- modified. Some parameters have security or operational implications that+    -- prevent them from being changed.+    isModifiable :: Prelude.Maybe Prelude.Bool,+    -- | The earliest engine version to which the parameter can apply.+    minimumEngineVersion :: Prelude.Maybe Prelude.Text,+    -- | Specifies the name of the parameter.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | Specifies the value of the parameter.+    parameterValue :: Prelude.Maybe Prelude.Text,+    -- | Indicates the source of the parameter value.+    source :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Parameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'parameter_allowedValues' - Specifies the valid range of values for the parameter.+--+-- 'applyMethod', 'parameter_applyMethod' - Indicates when to apply parameter updates.+--+-- 'applyType', 'parameter_applyType' - Specifies the engine specific parameters type.+--+-- 'dataType', 'parameter_dataType' - Specifies the valid data type for the parameter.+--+-- 'description', 'parameter_description' - Provides a description of the parameter.+--+-- 'isModifiable', 'parameter_isModifiable' - Indicates whether (@true@) or not (@false@) the parameter can be+-- modified. Some parameters have security or operational implications that+-- prevent them from being changed.+--+-- 'minimumEngineVersion', 'parameter_minimumEngineVersion' - The earliest engine version to which the parameter can apply.+--+-- 'parameterName', 'parameter_parameterName' - Specifies the name of the parameter.+--+-- 'parameterValue', 'parameter_parameterValue' - Specifies the value of the parameter.+--+-- 'source', 'parameter_source' - Indicates the source of the parameter value.+newParameter ::+  Parameter+newParameter =+  Parameter'+    { allowedValues = Prelude.Nothing,+      applyMethod = Prelude.Nothing,+      applyType = Prelude.Nothing,+      dataType = Prelude.Nothing,+      description = Prelude.Nothing,+      isModifiable = Prelude.Nothing,+      minimumEngineVersion = Prelude.Nothing,+      parameterName = Prelude.Nothing,+      parameterValue = Prelude.Nothing,+      source = Prelude.Nothing+    }++-- | Specifies the valid range of values for the parameter.+parameter_allowedValues :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_allowedValues = Lens.lens (\Parameter' {allowedValues} -> allowedValues) (\s@Parameter' {} a -> s {allowedValues = a} :: Parameter)++-- | Indicates when to apply parameter updates.+parameter_applyMethod :: Lens.Lens' Parameter (Prelude.Maybe ApplyMethod)+parameter_applyMethod = Lens.lens (\Parameter' {applyMethod} -> applyMethod) (\s@Parameter' {} a -> s {applyMethod = a} :: Parameter)++-- | Specifies the engine specific parameters type.+parameter_applyType :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_applyType = Lens.lens (\Parameter' {applyType} -> applyType) (\s@Parameter' {} a -> s {applyType = a} :: Parameter)++-- | Specifies the valid data type for the parameter.+parameter_dataType :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_dataType = Lens.lens (\Parameter' {dataType} -> dataType) (\s@Parameter' {} a -> s {dataType = a} :: Parameter)++-- | Provides a description of the parameter.+parameter_description :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_description = Lens.lens (\Parameter' {description} -> description) (\s@Parameter' {} a -> s {description = a} :: Parameter)++-- | Indicates whether (@true@) or not (@false@) the parameter can be+-- modified. Some parameters have security or operational implications that+-- prevent them from being changed.+parameter_isModifiable :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Bool)+parameter_isModifiable = Lens.lens (\Parameter' {isModifiable} -> isModifiable) (\s@Parameter' {} a -> s {isModifiable = a} :: Parameter)++-- | The earliest engine version to which the parameter can apply.+parameter_minimumEngineVersion :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_minimumEngineVersion = Lens.lens (\Parameter' {minimumEngineVersion} -> minimumEngineVersion) (\s@Parameter' {} a -> s {minimumEngineVersion = a} :: Parameter)++-- | Specifies the name of the parameter.+parameter_parameterName :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_parameterName = Lens.lens (\Parameter' {parameterName} -> parameterName) (\s@Parameter' {} a -> s {parameterName = a} :: Parameter)++-- | Specifies the value of the parameter.+parameter_parameterValue :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_parameterValue = Lens.lens (\Parameter' {parameterValue} -> parameterValue) (\s@Parameter' {} a -> s {parameterValue = a} :: Parameter)++-- | Indicates the source of the parameter value.+parameter_source :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_source = Lens.lens (\Parameter' {source} -> source) (\s@Parameter' {} a -> s {source = a} :: Parameter)++instance Data.FromXML Parameter where+  parseXML x =+    Parameter'+      Prelude.<$> (x Data..@? "AllowedValues")+      Prelude.<*> (x Data..@? "ApplyMethod")+      Prelude.<*> (x Data..@? "ApplyType")+      Prelude.<*> (x Data..@? "DataType")+      Prelude.<*> (x Data..@? "Description")+      Prelude.<*> (x Data..@? "IsModifiable")+      Prelude.<*> (x Data..@? "MinimumEngineVersion")+      Prelude.<*> (x Data..@? "ParameterName")+      Prelude.<*> (x Data..@? "ParameterValue")+      Prelude.<*> (x Data..@? "Source")++instance Prelude.Hashable Parameter where+  hashWithSalt _salt Parameter' {..} =+    _salt+      `Prelude.hashWithSalt` allowedValues+      `Prelude.hashWithSalt` applyMethod+      `Prelude.hashWithSalt` applyType+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` isModifiable+      `Prelude.hashWithSalt` minimumEngineVersion+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` parameterValue+      `Prelude.hashWithSalt` source++instance Prelude.NFData Parameter where+  rnf Parameter' {..} =+    Prelude.rnf allowedValues+      `Prelude.seq` Prelude.rnf applyMethod+      `Prelude.seq` Prelude.rnf applyType+      `Prelude.seq` Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf isModifiable+      `Prelude.seq` Prelude.rnf minimumEngineVersion+      `Prelude.seq` Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf parameterValue+      `Prelude.seq` Prelude.rnf source++instance Data.ToQuery Parameter where+  toQuery Parameter' {..} =+    Prelude.mconcat+      [ "AllowedValues" Data.=: allowedValues,+        "ApplyMethod" Data.=: applyMethod,+        "ApplyType" Data.=: applyType,+        "DataType" Data.=: dataType,+        "Description" Data.=: description,+        "IsModifiable" Data.=: isModifiable,+        "MinimumEngineVersion" Data.=: minimumEngineVersion,+        "ParameterName" Data.=: parameterName,+        "ParameterValue" Data.=: parameterValue,+        "Source" Data.=: source+      ]
+ gen/Amazonka/Neptune/Types/PendingCloudwatchLogsExports.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.PendingCloudwatchLogsExports+-- 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.Neptune.Types.PendingCloudwatchLogsExports where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A list of the log types whose configuration is still pending. In other+-- words, these log types are in the process of being activated or+-- deactivated.+--+-- /See:/ 'newPendingCloudwatchLogsExports' smart constructor.+data PendingCloudwatchLogsExports = PendingCloudwatchLogsExports'+  { -- | Log types that are in the process of being enabled. After they are+    -- enabled, these log types are exported to CloudWatch Logs.+    logTypesToDisable :: Prelude.Maybe [Prelude.Text],+    -- | Log types that are in the process of being deactivated. After they are+    -- deactivated, these log types aren\'t exported to CloudWatch Logs.+    logTypesToEnable :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PendingCloudwatchLogsExports' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logTypesToDisable', 'pendingCloudwatchLogsExports_logTypesToDisable' - Log types that are in the process of being enabled. After they are+-- enabled, these log types are exported to CloudWatch Logs.+--+-- 'logTypesToEnable', 'pendingCloudwatchLogsExports_logTypesToEnable' - Log types that are in the process of being deactivated. After they are+-- deactivated, these log types aren\'t exported to CloudWatch Logs.+newPendingCloudwatchLogsExports ::+  PendingCloudwatchLogsExports+newPendingCloudwatchLogsExports =+  PendingCloudwatchLogsExports'+    { logTypesToDisable =+        Prelude.Nothing,+      logTypesToEnable = Prelude.Nothing+    }++-- | Log types that are in the process of being enabled. After they are+-- enabled, these log types are exported to CloudWatch Logs.+pendingCloudwatchLogsExports_logTypesToDisable :: Lens.Lens' PendingCloudwatchLogsExports (Prelude.Maybe [Prelude.Text])+pendingCloudwatchLogsExports_logTypesToDisable = Lens.lens (\PendingCloudwatchLogsExports' {logTypesToDisable} -> logTypesToDisable) (\s@PendingCloudwatchLogsExports' {} a -> s {logTypesToDisable = a} :: PendingCloudwatchLogsExports) Prelude.. Lens.mapping Lens.coerced++-- | Log types that are in the process of being deactivated. After they are+-- deactivated, these log types aren\'t exported to CloudWatch Logs.+pendingCloudwatchLogsExports_logTypesToEnable :: Lens.Lens' PendingCloudwatchLogsExports (Prelude.Maybe [Prelude.Text])+pendingCloudwatchLogsExports_logTypesToEnable = Lens.lens (\PendingCloudwatchLogsExports' {logTypesToEnable} -> logTypesToEnable) (\s@PendingCloudwatchLogsExports' {} a -> s {logTypesToEnable = a} :: PendingCloudwatchLogsExports) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML PendingCloudwatchLogsExports where+  parseXML x =+    PendingCloudwatchLogsExports'+      Prelude.<$> ( x+                      Data..@? "LogTypesToDisable"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )+      Prelude.<*> ( x+                      Data..@? "LogTypesToEnable"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "member")+                  )++instance+  Prelude.Hashable+    PendingCloudwatchLogsExports+  where+  hashWithSalt _salt PendingCloudwatchLogsExports' {..} =+    _salt+      `Prelude.hashWithSalt` logTypesToDisable+      `Prelude.hashWithSalt` logTypesToEnable++instance Prelude.NFData PendingCloudwatchLogsExports where+  rnf PendingCloudwatchLogsExports' {..} =+    Prelude.rnf logTypesToDisable+      `Prelude.seq` Prelude.rnf logTypesToEnable
+ gen/Amazonka/Neptune/Types/PendingMaintenanceAction.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.PendingMaintenanceAction+-- 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.Neptune.Types.PendingMaintenanceAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a pending maintenance action for a resource.+--+-- /See:/ 'newPendingMaintenanceAction' smart constructor.+data PendingMaintenanceAction = PendingMaintenanceAction'+  { -- | The type of pending maintenance action that is available for the+    -- resource.+    action :: Prelude.Maybe Prelude.Text,+    -- | The date of the maintenance window when the action is applied. The+    -- maintenance action is applied to the resource during its first+    -- maintenance window after this date. If this date is specified, any+    -- @next-maintenance@ opt-in requests are ignored.+    autoAppliedAfterDate :: Prelude.Maybe Data.ISO8601,+    -- | The effective date when the pending maintenance action is applied to the+    -- resource. This date takes into account opt-in requests received from the+    -- ApplyPendingMaintenanceAction API, the @AutoAppliedAfterDate@, and the+    -- @ForcedApplyDate@. This value is blank if an opt-in request has not been+    -- received and nothing has been specified as @AutoAppliedAfterDate@ or+    -- @ForcedApplyDate@.+    currentApplyDate :: Prelude.Maybe Data.ISO8601,+    -- | A description providing more detail about the maintenance action.+    description :: Prelude.Maybe Prelude.Text,+    -- | The date when the maintenance action is automatically applied. The+    -- maintenance action is applied to the resource on this date regardless of+    -- the maintenance window for the resource. If this date is specified, any+    -- @immediate@ opt-in requests are ignored.+    forcedApplyDate :: Prelude.Maybe Data.ISO8601,+    -- | Indicates the type of opt-in request that has been received for the+    -- resource.+    optInStatus :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PendingMaintenanceAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'pendingMaintenanceAction_action' - The type of pending maintenance action that is available for the+-- resource.+--+-- 'autoAppliedAfterDate', 'pendingMaintenanceAction_autoAppliedAfterDate' - The date of the maintenance window when the action is applied. The+-- maintenance action is applied to the resource during its first+-- maintenance window after this date. If this date is specified, any+-- @next-maintenance@ opt-in requests are ignored.+--+-- 'currentApplyDate', 'pendingMaintenanceAction_currentApplyDate' - The effective date when the pending maintenance action is applied to the+-- resource. This date takes into account opt-in requests received from the+-- ApplyPendingMaintenanceAction API, the @AutoAppliedAfterDate@, and the+-- @ForcedApplyDate@. This value is blank if an opt-in request has not been+-- received and nothing has been specified as @AutoAppliedAfterDate@ or+-- @ForcedApplyDate@.+--+-- 'description', 'pendingMaintenanceAction_description' - A description providing more detail about the maintenance action.+--+-- 'forcedApplyDate', 'pendingMaintenanceAction_forcedApplyDate' - The date when the maintenance action is automatically applied. The+-- maintenance action is applied to the resource on this date regardless of+-- the maintenance window for the resource. If this date is specified, any+-- @immediate@ opt-in requests are ignored.+--+-- 'optInStatus', 'pendingMaintenanceAction_optInStatus' - Indicates the type of opt-in request that has been received for the+-- resource.+newPendingMaintenanceAction ::+  PendingMaintenanceAction+newPendingMaintenanceAction =+  PendingMaintenanceAction'+    { action = Prelude.Nothing,+      autoAppliedAfterDate = Prelude.Nothing,+      currentApplyDate = Prelude.Nothing,+      description = Prelude.Nothing,+      forcedApplyDate = Prelude.Nothing,+      optInStatus = Prelude.Nothing+    }++-- | The type of pending maintenance action that is available for the+-- resource.+pendingMaintenanceAction_action :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.Text)+pendingMaintenanceAction_action = Lens.lens (\PendingMaintenanceAction' {action} -> action) (\s@PendingMaintenanceAction' {} a -> s {action = a} :: PendingMaintenanceAction)++-- | The date of the maintenance window when the action is applied. The+-- maintenance action is applied to the resource during its first+-- maintenance window after this date. If this date is specified, any+-- @next-maintenance@ opt-in requests are ignored.+pendingMaintenanceAction_autoAppliedAfterDate :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.UTCTime)+pendingMaintenanceAction_autoAppliedAfterDate = Lens.lens (\PendingMaintenanceAction' {autoAppliedAfterDate} -> autoAppliedAfterDate) (\s@PendingMaintenanceAction' {} a -> s {autoAppliedAfterDate = a} :: PendingMaintenanceAction) Prelude.. Lens.mapping Data._Time++-- | The effective date when the pending maintenance action is applied to the+-- resource. This date takes into account opt-in requests received from the+-- ApplyPendingMaintenanceAction API, the @AutoAppliedAfterDate@, and the+-- @ForcedApplyDate@. This value is blank if an opt-in request has not been+-- received and nothing has been specified as @AutoAppliedAfterDate@ or+-- @ForcedApplyDate@.+pendingMaintenanceAction_currentApplyDate :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.UTCTime)+pendingMaintenanceAction_currentApplyDate = Lens.lens (\PendingMaintenanceAction' {currentApplyDate} -> currentApplyDate) (\s@PendingMaintenanceAction' {} a -> s {currentApplyDate = a} :: PendingMaintenanceAction) Prelude.. Lens.mapping Data._Time++-- | A description providing more detail about the maintenance action.+pendingMaintenanceAction_description :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.Text)+pendingMaintenanceAction_description = Lens.lens (\PendingMaintenanceAction' {description} -> description) (\s@PendingMaintenanceAction' {} a -> s {description = a} :: PendingMaintenanceAction)++-- | The date when the maintenance action is automatically applied. The+-- maintenance action is applied to the resource on this date regardless of+-- the maintenance window for the resource. If this date is specified, any+-- @immediate@ opt-in requests are ignored.+pendingMaintenanceAction_forcedApplyDate :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.UTCTime)+pendingMaintenanceAction_forcedApplyDate = Lens.lens (\PendingMaintenanceAction' {forcedApplyDate} -> forcedApplyDate) (\s@PendingMaintenanceAction' {} a -> s {forcedApplyDate = a} :: PendingMaintenanceAction) Prelude.. Lens.mapping Data._Time++-- | Indicates the type of opt-in request that has been received for the+-- resource.+pendingMaintenanceAction_optInStatus :: Lens.Lens' PendingMaintenanceAction (Prelude.Maybe Prelude.Text)+pendingMaintenanceAction_optInStatus = Lens.lens (\PendingMaintenanceAction' {optInStatus} -> optInStatus) (\s@PendingMaintenanceAction' {} a -> s {optInStatus = a} :: PendingMaintenanceAction)++instance Data.FromXML PendingMaintenanceAction where+  parseXML x =+    PendingMaintenanceAction'+      Prelude.<$> (x Data..@? "Action")+      Prelude.<*> (x Data..@? "AutoAppliedAfterDate")+      Prelude.<*> (x Data..@? "CurrentApplyDate")+      Prelude.<*> (x Data..@? "Description")+      Prelude.<*> (x Data..@? "ForcedApplyDate")+      Prelude.<*> (x Data..@? "OptInStatus")++instance Prelude.Hashable PendingMaintenanceAction where+  hashWithSalt _salt PendingMaintenanceAction' {..} =+    _salt+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` autoAppliedAfterDate+      `Prelude.hashWithSalt` currentApplyDate+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` forcedApplyDate+      `Prelude.hashWithSalt` optInStatus++instance Prelude.NFData PendingMaintenanceAction where+  rnf PendingMaintenanceAction' {..} =+    Prelude.rnf action+      `Prelude.seq` Prelude.rnf autoAppliedAfterDate+      `Prelude.seq` Prelude.rnf currentApplyDate+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf forcedApplyDate+      `Prelude.seq` Prelude.rnf optInStatus
+ gen/Amazonka/Neptune/Types/PendingModifiedValues.hs view
@@ -0,0 +1,248 @@+{-# 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.Neptune.Types.PendingModifiedValues+-- 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.Neptune.Types.PendingModifiedValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.PendingCloudwatchLogsExports+import qualified Amazonka.Prelude as Prelude++-- | This data type is used as a response element in the ModifyDBInstance+-- action.+--+-- /See:/ 'newPendingModifiedValues' smart constructor.+data PendingModifiedValues = PendingModifiedValues'+  { -- | Contains the new @AllocatedStorage@ size for the DB instance that will+    -- be applied or is currently being applied.+    allocatedStorage :: Prelude.Maybe Prelude.Int,+    -- | Specifies the pending number of days for which automated backups are+    -- retained.+    backupRetentionPeriod :: Prelude.Maybe Prelude.Int,+    -- | Specifies the identifier of the CA certificate for the DB instance.+    cACertificateIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Contains the new @DBInstanceClass@ for the DB instance that will be+    -- applied or is currently being applied.+    dbInstanceClass :: Prelude.Maybe Prelude.Text,+    -- | Contains the new @DBInstanceIdentifier@ for the DB instance that will be+    -- applied or is currently being applied.+    dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The new DB subnet group for the DB instance.+    dbSubnetGroupName :: Prelude.Maybe Prelude.Text,+    -- | Indicates the database engine version.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | Specifies the new Provisioned IOPS value for the DB instance that will+    -- be applied or is currently being applied.+    iops :: Prelude.Maybe Prelude.Int,+    -- | Not supported by Neptune.+    licenseModel :: Prelude.Maybe Prelude.Text,+    -- | Not supported by Neptune.+    masterUserPassword :: Prelude.Maybe Prelude.Text,+    -- | Indicates that the Single-AZ DB instance is to change to a Multi-AZ+    -- deployment.+    multiAZ :: Prelude.Maybe Prelude.Bool,+    -- | This @PendingCloudwatchLogsExports@ structure specifies pending changes+    -- to which CloudWatch logs are enabled and which are disabled.+    pendingCloudwatchLogsExports :: Prelude.Maybe PendingCloudwatchLogsExports,+    -- | Specifies the pending port for the DB instance.+    port :: Prelude.Maybe Prelude.Int,+    -- | Specifies the storage type to be associated with the DB instance.+    storageType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PendingModifiedValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allocatedStorage', 'pendingModifiedValues_allocatedStorage' - Contains the new @AllocatedStorage@ size for the DB instance that will+-- be applied or is currently being applied.+--+-- 'backupRetentionPeriod', 'pendingModifiedValues_backupRetentionPeriod' - Specifies the pending number of days for which automated backups are+-- retained.+--+-- 'cACertificateIdentifier', 'pendingModifiedValues_cACertificateIdentifier' - Specifies the identifier of the CA certificate for the DB instance.+--+-- 'dbInstanceClass', 'pendingModifiedValues_dbInstanceClass' - Contains the new @DBInstanceClass@ for the DB instance that will be+-- applied or is currently being applied.+--+-- 'dbInstanceIdentifier', 'pendingModifiedValues_dbInstanceIdentifier' - Contains the new @DBInstanceIdentifier@ for the DB instance that will be+-- applied or is currently being applied.+--+-- 'dbSubnetGroupName', 'pendingModifiedValues_dbSubnetGroupName' - The new DB subnet group for the DB instance.+--+-- 'engineVersion', 'pendingModifiedValues_engineVersion' - Indicates the database engine version.+--+-- 'iops', 'pendingModifiedValues_iops' - Specifies the new Provisioned IOPS value for the DB instance that will+-- be applied or is currently being applied.+--+-- 'licenseModel', 'pendingModifiedValues_licenseModel' - Not supported by Neptune.+--+-- 'masterUserPassword', 'pendingModifiedValues_masterUserPassword' - Not supported by Neptune.+--+-- 'multiAZ', 'pendingModifiedValues_multiAZ' - Indicates that the Single-AZ DB instance is to change to a Multi-AZ+-- deployment.+--+-- 'pendingCloudwatchLogsExports', 'pendingModifiedValues_pendingCloudwatchLogsExports' - This @PendingCloudwatchLogsExports@ structure specifies pending changes+-- to which CloudWatch logs are enabled and which are disabled.+--+-- 'port', 'pendingModifiedValues_port' - Specifies the pending port for the DB instance.+--+-- 'storageType', 'pendingModifiedValues_storageType' - Specifies the storage type to be associated with the DB instance.+newPendingModifiedValues ::+  PendingModifiedValues+newPendingModifiedValues =+  PendingModifiedValues'+    { allocatedStorage =+        Prelude.Nothing,+      backupRetentionPeriod = Prelude.Nothing,+      cACertificateIdentifier = Prelude.Nothing,+      dbInstanceClass = Prelude.Nothing,+      dbInstanceIdentifier = Prelude.Nothing,+      dbSubnetGroupName = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      iops = Prelude.Nothing,+      licenseModel = Prelude.Nothing,+      masterUserPassword = Prelude.Nothing,+      multiAZ = Prelude.Nothing,+      pendingCloudwatchLogsExports = Prelude.Nothing,+      port = Prelude.Nothing,+      storageType = Prelude.Nothing+    }++-- | Contains the new @AllocatedStorage@ size for the DB instance that will+-- be applied or is currently being applied.+pendingModifiedValues_allocatedStorage :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Int)+pendingModifiedValues_allocatedStorage = Lens.lens (\PendingModifiedValues' {allocatedStorage} -> allocatedStorage) (\s@PendingModifiedValues' {} a -> s {allocatedStorage = a} :: PendingModifiedValues)++-- | Specifies the pending number of days for which automated backups are+-- retained.+pendingModifiedValues_backupRetentionPeriod :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Int)+pendingModifiedValues_backupRetentionPeriod = Lens.lens (\PendingModifiedValues' {backupRetentionPeriod} -> backupRetentionPeriod) (\s@PendingModifiedValues' {} a -> s {backupRetentionPeriod = a} :: PendingModifiedValues)++-- | Specifies the identifier of the CA certificate for the DB instance.+pendingModifiedValues_cACertificateIdentifier :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_cACertificateIdentifier = Lens.lens (\PendingModifiedValues' {cACertificateIdentifier} -> cACertificateIdentifier) (\s@PendingModifiedValues' {} a -> s {cACertificateIdentifier = a} :: PendingModifiedValues)++-- | Contains the new @DBInstanceClass@ for the DB instance that will be+-- applied or is currently being applied.+pendingModifiedValues_dbInstanceClass :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_dbInstanceClass = Lens.lens (\PendingModifiedValues' {dbInstanceClass} -> dbInstanceClass) (\s@PendingModifiedValues' {} a -> s {dbInstanceClass = a} :: PendingModifiedValues)++-- | Contains the new @DBInstanceIdentifier@ for the DB instance that will be+-- applied or is currently being applied.+pendingModifiedValues_dbInstanceIdentifier :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_dbInstanceIdentifier = Lens.lens (\PendingModifiedValues' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@PendingModifiedValues' {} a -> s {dbInstanceIdentifier = a} :: PendingModifiedValues)++-- | The new DB subnet group for the DB instance.+pendingModifiedValues_dbSubnetGroupName :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_dbSubnetGroupName = Lens.lens (\PendingModifiedValues' {dbSubnetGroupName} -> dbSubnetGroupName) (\s@PendingModifiedValues' {} a -> s {dbSubnetGroupName = a} :: PendingModifiedValues)++-- | Indicates the database engine version.+pendingModifiedValues_engineVersion :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_engineVersion = Lens.lens (\PendingModifiedValues' {engineVersion} -> engineVersion) (\s@PendingModifiedValues' {} a -> s {engineVersion = a} :: PendingModifiedValues)++-- | Specifies the new Provisioned IOPS value for the DB instance that will+-- be applied or is currently being applied.+pendingModifiedValues_iops :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Int)+pendingModifiedValues_iops = Lens.lens (\PendingModifiedValues' {iops} -> iops) (\s@PendingModifiedValues' {} a -> s {iops = a} :: PendingModifiedValues)++-- | Not supported by Neptune.+pendingModifiedValues_licenseModel :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_licenseModel = Lens.lens (\PendingModifiedValues' {licenseModel} -> licenseModel) (\s@PendingModifiedValues' {} a -> s {licenseModel = a} :: PendingModifiedValues)++-- | Not supported by Neptune.+pendingModifiedValues_masterUserPassword :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_masterUserPassword = Lens.lens (\PendingModifiedValues' {masterUserPassword} -> masterUserPassword) (\s@PendingModifiedValues' {} a -> s {masterUserPassword = a} :: PendingModifiedValues)++-- | Indicates that the Single-AZ DB instance is to change to a Multi-AZ+-- deployment.+pendingModifiedValues_multiAZ :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Bool)+pendingModifiedValues_multiAZ = Lens.lens (\PendingModifiedValues' {multiAZ} -> multiAZ) (\s@PendingModifiedValues' {} a -> s {multiAZ = a} :: PendingModifiedValues)++-- | This @PendingCloudwatchLogsExports@ structure specifies pending changes+-- to which CloudWatch logs are enabled and which are disabled.+pendingModifiedValues_pendingCloudwatchLogsExports :: Lens.Lens' PendingModifiedValues (Prelude.Maybe PendingCloudwatchLogsExports)+pendingModifiedValues_pendingCloudwatchLogsExports = Lens.lens (\PendingModifiedValues' {pendingCloudwatchLogsExports} -> pendingCloudwatchLogsExports) (\s@PendingModifiedValues' {} a -> s {pendingCloudwatchLogsExports = a} :: PendingModifiedValues)++-- | Specifies the pending port for the DB instance.+pendingModifiedValues_port :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Int)+pendingModifiedValues_port = Lens.lens (\PendingModifiedValues' {port} -> port) (\s@PendingModifiedValues' {} a -> s {port = a} :: PendingModifiedValues)++-- | Specifies the storage type to be associated with the DB instance.+pendingModifiedValues_storageType :: Lens.Lens' PendingModifiedValues (Prelude.Maybe Prelude.Text)+pendingModifiedValues_storageType = Lens.lens (\PendingModifiedValues' {storageType} -> storageType) (\s@PendingModifiedValues' {} a -> s {storageType = a} :: PendingModifiedValues)++instance Data.FromXML PendingModifiedValues where+  parseXML x =+    PendingModifiedValues'+      Prelude.<$> (x Data..@? "AllocatedStorage")+      Prelude.<*> (x Data..@? "BackupRetentionPeriod")+      Prelude.<*> (x Data..@? "CACertificateIdentifier")+      Prelude.<*> (x Data..@? "DBInstanceClass")+      Prelude.<*> (x Data..@? "DBInstanceIdentifier")+      Prelude.<*> (x Data..@? "DBSubnetGroupName")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "Iops")+      Prelude.<*> (x Data..@? "LicenseModel")+      Prelude.<*> (x Data..@? "MasterUserPassword")+      Prelude.<*> (x Data..@? "MultiAZ")+      Prelude.<*> (x Data..@? "PendingCloudwatchLogsExports")+      Prelude.<*> (x Data..@? "Port")+      Prelude.<*> (x Data..@? "StorageType")++instance Prelude.Hashable PendingModifiedValues where+  hashWithSalt _salt PendingModifiedValues' {..} =+    _salt+      `Prelude.hashWithSalt` allocatedStorage+      `Prelude.hashWithSalt` backupRetentionPeriod+      `Prelude.hashWithSalt` cACertificateIdentifier+      `Prelude.hashWithSalt` dbInstanceClass+      `Prelude.hashWithSalt` dbInstanceIdentifier+      `Prelude.hashWithSalt` dbSubnetGroupName+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` iops+      `Prelude.hashWithSalt` licenseModel+      `Prelude.hashWithSalt` masterUserPassword+      `Prelude.hashWithSalt` multiAZ+      `Prelude.hashWithSalt` pendingCloudwatchLogsExports+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` storageType++instance Prelude.NFData PendingModifiedValues where+  rnf PendingModifiedValues' {..} =+    Prelude.rnf allocatedStorage+      `Prelude.seq` Prelude.rnf backupRetentionPeriod+      `Prelude.seq` Prelude.rnf cACertificateIdentifier+      `Prelude.seq` Prelude.rnf dbInstanceClass+      `Prelude.seq` Prelude.rnf dbInstanceIdentifier+      `Prelude.seq` Prelude.rnf dbSubnetGroupName+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf iops+      `Prelude.seq` Prelude.rnf licenseModel+      `Prelude.seq` Prelude.rnf masterUserPassword+      `Prelude.seq` Prelude.rnf multiAZ+      `Prelude.seq` Prelude.rnf pendingCloudwatchLogsExports+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf storageType
+ gen/Amazonka/Neptune/Types/Range.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.Neptune.Types.Range+-- 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.Neptune.Types.Range where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A range of integer values.+--+-- /See:/ 'newRange' smart constructor.+data Range = Range'+  { -- | The minimum value in the range.+    from :: Prelude.Maybe Prelude.Int,+    -- | The step value for the range. For example, if you have a range of 5,000+    -- to 10,000, with a step value of 1,000, the valid values start at 5,000+    -- and step up by 1,000. Even though 7,500 is within the range, it isn\'t a+    -- valid value for the range. The valid values are 5,000, 6,000, 7,000,+    -- 8,000...+    step :: Prelude.Maybe Prelude.Int,+    -- | The maximum value in the range.+    to :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Range' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'from', 'range_from' - The minimum value in the range.+--+-- 'step', 'range_step' - The step value for the range. For example, if you have a range of 5,000+-- to 10,000, with a step value of 1,000, the valid values start at 5,000+-- and step up by 1,000. Even though 7,500 is within the range, it isn\'t a+-- valid value for the range. The valid values are 5,000, 6,000, 7,000,+-- 8,000...+--+-- 'to', 'range_to' - The maximum value in the range.+newRange ::+  Range+newRange =+  Range'+    { from = Prelude.Nothing,+      step = Prelude.Nothing,+      to = Prelude.Nothing+    }++-- | The minimum value in the range.+range_from :: Lens.Lens' Range (Prelude.Maybe Prelude.Int)+range_from = Lens.lens (\Range' {from} -> from) (\s@Range' {} a -> s {from = a} :: Range)++-- | The step value for the range. For example, if you have a range of 5,000+-- to 10,000, with a step value of 1,000, the valid values start at 5,000+-- and step up by 1,000. Even though 7,500 is within the range, it isn\'t a+-- valid value for the range. The valid values are 5,000, 6,000, 7,000,+-- 8,000...+range_step :: Lens.Lens' Range (Prelude.Maybe Prelude.Int)+range_step = Lens.lens (\Range' {step} -> step) (\s@Range' {} a -> s {step = a} :: Range)++-- | The maximum value in the range.+range_to :: Lens.Lens' Range (Prelude.Maybe Prelude.Int)+range_to = Lens.lens (\Range' {to} -> to) (\s@Range' {} a -> s {to = a} :: Range)++instance Data.FromXML Range where+  parseXML x =+    Range'+      Prelude.<$> (x Data..@? "From")+      Prelude.<*> (x Data..@? "Step")+      Prelude.<*> (x Data..@? "To")++instance Prelude.Hashable Range where+  hashWithSalt _salt Range' {..} =+    _salt+      `Prelude.hashWithSalt` from+      `Prelude.hashWithSalt` step+      `Prelude.hashWithSalt` to++instance Prelude.NFData Range where+  rnf Range' {..} =+    Prelude.rnf from+      `Prelude.seq` Prelude.rnf step+      `Prelude.seq` Prelude.rnf to
+ gen/Amazonka/Neptune/Types/ResourcePendingMaintenanceActions.hs view
@@ -0,0 +1,101 @@+{-# 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.Neptune.Types.ResourcePendingMaintenanceActions+-- 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.Neptune.Types.ResourcePendingMaintenanceActions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.PendingMaintenanceAction+import qualified Amazonka.Prelude as Prelude++-- | Describes the pending maintenance actions for a resource.+--+-- /See:/ 'newResourcePendingMaintenanceActions' smart constructor.+data ResourcePendingMaintenanceActions = ResourcePendingMaintenanceActions'+  { -- | A list that provides details about the pending maintenance actions for+    -- the resource.+    pendingMaintenanceActionDetails :: Prelude.Maybe [PendingMaintenanceAction],+    -- | The ARN of the resource that has pending maintenance actions.+    resourceIdentifier :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcePendingMaintenanceActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pendingMaintenanceActionDetails', 'resourcePendingMaintenanceActions_pendingMaintenanceActionDetails' - A list that provides details about the pending maintenance actions for+-- the resource.+--+-- 'resourceIdentifier', 'resourcePendingMaintenanceActions_resourceIdentifier' - The ARN of the resource that has pending maintenance actions.+newResourcePendingMaintenanceActions ::+  ResourcePendingMaintenanceActions+newResourcePendingMaintenanceActions =+  ResourcePendingMaintenanceActions'+    { pendingMaintenanceActionDetails =+        Prelude.Nothing,+      resourceIdentifier = Prelude.Nothing+    }++-- | A list that provides details about the pending maintenance actions for+-- the resource.+resourcePendingMaintenanceActions_pendingMaintenanceActionDetails :: Lens.Lens' ResourcePendingMaintenanceActions (Prelude.Maybe [PendingMaintenanceAction])+resourcePendingMaintenanceActions_pendingMaintenanceActionDetails = Lens.lens (\ResourcePendingMaintenanceActions' {pendingMaintenanceActionDetails} -> pendingMaintenanceActionDetails) (\s@ResourcePendingMaintenanceActions' {} a -> s {pendingMaintenanceActionDetails = a} :: ResourcePendingMaintenanceActions) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the resource that has pending maintenance actions.+resourcePendingMaintenanceActions_resourceIdentifier :: Lens.Lens' ResourcePendingMaintenanceActions (Prelude.Maybe Prelude.Text)+resourcePendingMaintenanceActions_resourceIdentifier = Lens.lens (\ResourcePendingMaintenanceActions' {resourceIdentifier} -> resourceIdentifier) (\s@ResourcePendingMaintenanceActions' {} a -> s {resourceIdentifier = a} :: ResourcePendingMaintenanceActions)++instance+  Data.FromXML+    ResourcePendingMaintenanceActions+  where+  parseXML x =+    ResourcePendingMaintenanceActions'+      Prelude.<$> ( x+                      Data..@? "PendingMaintenanceActionDetails"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may+                        (Data.parseXMLList "PendingMaintenanceAction")+                  )+      Prelude.<*> (x Data..@? "ResourceIdentifier")++instance+  Prelude.Hashable+    ResourcePendingMaintenanceActions+  where+  hashWithSalt+    _salt+    ResourcePendingMaintenanceActions' {..} =+      _salt+        `Prelude.hashWithSalt` pendingMaintenanceActionDetails+        `Prelude.hashWithSalt` resourceIdentifier++instance+  Prelude.NFData+    ResourcePendingMaintenanceActions+  where+  rnf ResourcePendingMaintenanceActions' {..} =+    Prelude.rnf pendingMaintenanceActionDetails+      `Prelude.seq` Prelude.rnf resourceIdentifier
+ gen/Amazonka/Neptune/Types/ServerlessV2ScalingConfiguration.hs view
@@ -0,0 +1,109 @@+{-# 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.Neptune.Types.ServerlessV2ScalingConfiguration+-- 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.Neptune.Types.ServerlessV2ScalingConfiguration 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++-- | Contains the scaling configuration of a Neptune Serverless DB cluster.+--+-- For more information, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-using.html Using Amazon Neptune Serverless>+-- in the /Amazon Neptune User Guide/.+--+-- /See:/ 'newServerlessV2ScalingConfiguration' smart constructor.+data ServerlessV2ScalingConfiguration = ServerlessV2ScalingConfiguration'+  { -- | The maximum number of Neptune capacity units (NCUs) for a DB instance in+    -- a Neptune Serverless cluster. You can specify NCU values in half-step+    -- increments, such as 40, 40.5, 41, and so on.+    maxCapacity :: Prelude.Maybe Prelude.Double,+    -- | The minimum number of Neptune capacity units (NCUs) for a DB instance in+    -- a Neptune Serverless cluster. You can specify NCU values in half-step+    -- increments, such as 8, 8.5, 9, and so on.+    minCapacity :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerlessV2ScalingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxCapacity', 'serverlessV2ScalingConfiguration_maxCapacity' - The maximum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 40, 40.5, 41, and so on.+--+-- 'minCapacity', 'serverlessV2ScalingConfiguration_minCapacity' - The minimum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 8, 8.5, 9, and so on.+newServerlessV2ScalingConfiguration ::+  ServerlessV2ScalingConfiguration+newServerlessV2ScalingConfiguration =+  ServerlessV2ScalingConfiguration'+    { maxCapacity =+        Prelude.Nothing,+      minCapacity = Prelude.Nothing+    }++-- | The maximum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 40, 40.5, 41, and so on.+serverlessV2ScalingConfiguration_maxCapacity :: Lens.Lens' ServerlessV2ScalingConfiguration (Prelude.Maybe Prelude.Double)+serverlessV2ScalingConfiguration_maxCapacity = Lens.lens (\ServerlessV2ScalingConfiguration' {maxCapacity} -> maxCapacity) (\s@ServerlessV2ScalingConfiguration' {} a -> s {maxCapacity = a} :: ServerlessV2ScalingConfiguration)++-- | The minimum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 8, 8.5, 9, and so on.+serverlessV2ScalingConfiguration_minCapacity :: Lens.Lens' ServerlessV2ScalingConfiguration (Prelude.Maybe Prelude.Double)+serverlessV2ScalingConfiguration_minCapacity = Lens.lens (\ServerlessV2ScalingConfiguration' {minCapacity} -> minCapacity) (\s@ServerlessV2ScalingConfiguration' {} a -> s {minCapacity = a} :: ServerlessV2ScalingConfiguration)++instance+  Prelude.Hashable+    ServerlessV2ScalingConfiguration+  where+  hashWithSalt+    _salt+    ServerlessV2ScalingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` maxCapacity+        `Prelude.hashWithSalt` minCapacity++instance+  Prelude.NFData+    ServerlessV2ScalingConfiguration+  where+  rnf ServerlessV2ScalingConfiguration' {..} =+    Prelude.rnf maxCapacity+      `Prelude.seq` Prelude.rnf minCapacity++instance+  Data.ToQuery+    ServerlessV2ScalingConfiguration+  where+  toQuery ServerlessV2ScalingConfiguration' {..} =+    Prelude.mconcat+      [ "MaxCapacity" Data.=: maxCapacity,+        "MinCapacity" Data.=: minCapacity+      ]
+ gen/Amazonka/Neptune/Types/ServerlessV2ScalingConfigurationInfo.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.ServerlessV2ScalingConfigurationInfo+-- 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.Neptune.Types.ServerlessV2ScalingConfigurationInfo 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++-- | Shows the scaling configuration for a Neptune Serverless DB cluster.+--+-- For more information, see+-- <https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-using.html Using Amazon Neptune Serverless>+-- in the /Amazon Neptune User Guide/.+--+-- /See:/ 'newServerlessV2ScalingConfigurationInfo' smart constructor.+data ServerlessV2ScalingConfigurationInfo = ServerlessV2ScalingConfigurationInfo'+  { -- | The maximum number of Neptune capacity units (NCUs) for a DB instance in+    -- a Neptune Serverless cluster. You can specify NCU values in half-step+    -- increments, such as 40, 40.5, 41, and so on.+    maxCapacity :: Prelude.Maybe Prelude.Double,+    -- | The minimum number of Neptune capacity units (NCUs) for a DB instance in+    -- a Neptune Serverless cluster. You can specify NCU values in half-step+    -- increments, such as 8, 8.5, 9, and so on.+    minCapacity :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerlessV2ScalingConfigurationInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxCapacity', 'serverlessV2ScalingConfigurationInfo_maxCapacity' - The maximum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 40, 40.5, 41, and so on.+--+-- 'minCapacity', 'serverlessV2ScalingConfigurationInfo_minCapacity' - The minimum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 8, 8.5, 9, and so on.+newServerlessV2ScalingConfigurationInfo ::+  ServerlessV2ScalingConfigurationInfo+newServerlessV2ScalingConfigurationInfo =+  ServerlessV2ScalingConfigurationInfo'+    { maxCapacity =+        Prelude.Nothing,+      minCapacity = Prelude.Nothing+    }++-- | The maximum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 40, 40.5, 41, and so on.+serverlessV2ScalingConfigurationInfo_maxCapacity :: Lens.Lens' ServerlessV2ScalingConfigurationInfo (Prelude.Maybe Prelude.Double)+serverlessV2ScalingConfigurationInfo_maxCapacity = Lens.lens (\ServerlessV2ScalingConfigurationInfo' {maxCapacity} -> maxCapacity) (\s@ServerlessV2ScalingConfigurationInfo' {} a -> s {maxCapacity = a} :: ServerlessV2ScalingConfigurationInfo)++-- | The minimum number of Neptune capacity units (NCUs) for a DB instance in+-- a Neptune Serverless cluster. You can specify NCU values in half-step+-- increments, such as 8, 8.5, 9, and so on.+serverlessV2ScalingConfigurationInfo_minCapacity :: Lens.Lens' ServerlessV2ScalingConfigurationInfo (Prelude.Maybe Prelude.Double)+serverlessV2ScalingConfigurationInfo_minCapacity = Lens.lens (\ServerlessV2ScalingConfigurationInfo' {minCapacity} -> minCapacity) (\s@ServerlessV2ScalingConfigurationInfo' {} a -> s {minCapacity = a} :: ServerlessV2ScalingConfigurationInfo)++instance+  Data.FromXML+    ServerlessV2ScalingConfigurationInfo+  where+  parseXML x =+    ServerlessV2ScalingConfigurationInfo'+      Prelude.<$> (x Data..@? "MaxCapacity")+      Prelude.<*> (x Data..@? "MinCapacity")++instance+  Prelude.Hashable+    ServerlessV2ScalingConfigurationInfo+  where+  hashWithSalt+    _salt+    ServerlessV2ScalingConfigurationInfo' {..} =+      _salt+        `Prelude.hashWithSalt` maxCapacity+        `Prelude.hashWithSalt` minCapacity++instance+  Prelude.NFData+    ServerlessV2ScalingConfigurationInfo+  where+  rnf ServerlessV2ScalingConfigurationInfo' {..} =+    Prelude.rnf maxCapacity+      `Prelude.seq` Prelude.rnf minCapacity
+ gen/Amazonka/Neptune/Types/SourceType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.SourceType+-- 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.Neptune.Types.SourceType+  ( SourceType+      ( ..,+        SourceType_Db_cluster,+        SourceType_Db_cluster_snapshot,+        SourceType_Db_instance,+        SourceType_Db_parameter_group,+        SourceType_Db_security_group,+        SourceType_Db_snapshot+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceType = SourceType'+  { fromSourceType ::+      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 SourceType_Db_cluster :: SourceType+pattern SourceType_Db_cluster = SourceType' "db-cluster"++pattern SourceType_Db_cluster_snapshot :: SourceType+pattern SourceType_Db_cluster_snapshot = SourceType' "db-cluster-snapshot"++pattern SourceType_Db_instance :: SourceType+pattern SourceType_Db_instance = SourceType' "db-instance"++pattern SourceType_Db_parameter_group :: SourceType+pattern SourceType_Db_parameter_group = SourceType' "db-parameter-group"++pattern SourceType_Db_security_group :: SourceType+pattern SourceType_Db_security_group = SourceType' "db-security-group"++pattern SourceType_Db_snapshot :: SourceType+pattern SourceType_Db_snapshot = SourceType' "db-snapshot"++{-# COMPLETE+  SourceType_Db_cluster,+  SourceType_Db_cluster_snapshot,+  SourceType_Db_instance,+  SourceType_Db_parameter_group,+  SourceType_Db_security_group,+  SourceType_Db_snapshot,+  SourceType'+  #-}
+ gen/Amazonka/Neptune/Types/Subnet.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.Subnet+-- 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.Neptune.Types.Subnet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.AvailabilityZone+import qualified Amazonka.Prelude as Prelude++-- | Specifies a subnet.+--+-- This data type is used as a response element in the+-- DescribeDBSubnetGroups action.+--+-- /See:/ 'newSubnet' smart constructor.+data Subnet = Subnet'+  { -- | Specifies the EC2 Availability Zone that the subnet is in.+    subnetAvailabilityZone :: Prelude.Maybe AvailabilityZone,+    -- | Specifies the identifier of the subnet.+    subnetIdentifier :: Prelude.Maybe Prelude.Text,+    -- | Specifies the status of the subnet.+    subnetStatus :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Subnet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subnetAvailabilityZone', 'subnet_subnetAvailabilityZone' - Specifies the EC2 Availability Zone that the subnet is in.+--+-- 'subnetIdentifier', 'subnet_subnetIdentifier' - Specifies the identifier of the subnet.+--+-- 'subnetStatus', 'subnet_subnetStatus' - Specifies the status of the subnet.+newSubnet ::+  Subnet+newSubnet =+  Subnet'+    { subnetAvailabilityZone = Prelude.Nothing,+      subnetIdentifier = Prelude.Nothing,+      subnetStatus = Prelude.Nothing+    }++-- | Specifies the EC2 Availability Zone that the subnet is in.+subnet_subnetAvailabilityZone :: Lens.Lens' Subnet (Prelude.Maybe AvailabilityZone)+subnet_subnetAvailabilityZone = Lens.lens (\Subnet' {subnetAvailabilityZone} -> subnetAvailabilityZone) (\s@Subnet' {} a -> s {subnetAvailabilityZone = a} :: Subnet)++-- | Specifies the identifier of the subnet.+subnet_subnetIdentifier :: Lens.Lens' Subnet (Prelude.Maybe Prelude.Text)+subnet_subnetIdentifier = Lens.lens (\Subnet' {subnetIdentifier} -> subnetIdentifier) (\s@Subnet' {} a -> s {subnetIdentifier = a} :: Subnet)++-- | Specifies the status of the subnet.+subnet_subnetStatus :: Lens.Lens' Subnet (Prelude.Maybe Prelude.Text)+subnet_subnetStatus = Lens.lens (\Subnet' {subnetStatus} -> subnetStatus) (\s@Subnet' {} a -> s {subnetStatus = a} :: Subnet)++instance Data.FromXML Subnet where+  parseXML x =+    Subnet'+      Prelude.<$> (x Data..@? "SubnetAvailabilityZone")+      Prelude.<*> (x Data..@? "SubnetIdentifier")+      Prelude.<*> (x Data..@? "SubnetStatus")++instance Prelude.Hashable Subnet where+  hashWithSalt _salt Subnet' {..} =+    _salt+      `Prelude.hashWithSalt` subnetAvailabilityZone+      `Prelude.hashWithSalt` subnetIdentifier+      `Prelude.hashWithSalt` subnetStatus++instance Prelude.NFData Subnet where+  rnf Subnet' {..} =+    Prelude.rnf subnetAvailabilityZone+      `Prelude.seq` Prelude.rnf subnetIdentifier+      `Prelude.seq` Prelude.rnf subnetStatus
+ gen/Amazonka/Neptune/Types/Tag.hs view
@@ -0,0 +1,109 @@+{-# 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.Neptune.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Neptune.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Metadata assigned to an Amazon Neptune resource consisting of a+-- key-value pair.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | A key is the required name of the tag. The string value can be from 1 to+    -- 128 Unicode characters in length and can\'t be prefixed with @aws:@ or+    -- @rds:@. The string can only contain the set of Unicode letters, digits,+    -- white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java regex:+    -- \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+    key :: Prelude.Maybe Prelude.Text,+    -- | A value is the optional value of the tag. The string value can be from 1+    -- to 256 Unicode characters in length and can\'t be prefixed with @aws:@+    -- or @rds:@. The string can only contain the set of Unicode letters,+    -- digits, white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java+    -- regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - A key is the required name of the tag. The string value can be from 1 to+-- 128 Unicode characters in length and can\'t be prefixed with @aws:@ or+-- @rds:@. The string can only contain the set of Unicode letters, digits,+-- white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java regex:+-- \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+--+-- 'value', 'tag_value' - A value is the optional value of the tag. The string value can be from 1+-- to 256 Unicode characters in length and can\'t be prefixed with @aws:@+-- or @rds:@. The string can only contain the set of Unicode letters,+-- digits, white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java+-- regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+newTag ::+  Tag+newTag =+  Tag'+    { key = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | A key is the required name of the tag. The string value can be from 1 to+-- 128 Unicode characters in length and can\'t be prefixed with @aws:@ or+-- @rds:@. The string can only contain the set of Unicode letters, digits,+-- white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java regex:+-- \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+tag_key :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | A value is the optional value of the tag. The string value can be from 1+-- to 256 Unicode characters in length and can\'t be prefixed with @aws:@+-- or @rds:@. The string can only contain the set of Unicode letters,+-- digits, white-space, \'_\', \'.\', \'\/\', \'=\', \'+\', \'-\' (Java+-- regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\/=+\\\\-]*)$\").+tag_value :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromXML Tag where+  parseXML x =+    Tag'+      Prelude.<$> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "Value")++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToQuery Tag where+  toQuery Tag' {..} =+    Prelude.mconcat+      ["Key" Data.=: key, "Value" Data.=: value]
+ gen/Amazonka/Neptune/Types/Timezone.hs view
@@ -0,0 +1,63 @@+{-# 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.Neptune.Types.Timezone+-- 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.Neptune.Types.Timezone where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A time zone associated with a DBInstance.+--+-- /See:/ 'newTimezone' smart constructor.+data Timezone = Timezone'+  { -- | The name of the time zone.+    timezoneName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Timezone' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timezoneName', 'timezone_timezoneName' - The name of the time zone.+newTimezone ::+  Timezone+newTimezone =+  Timezone' {timezoneName = Prelude.Nothing}++-- | The name of the time zone.+timezone_timezoneName :: Lens.Lens' Timezone (Prelude.Maybe Prelude.Text)+timezone_timezoneName = Lens.lens (\Timezone' {timezoneName} -> timezoneName) (\s@Timezone' {} a -> s {timezoneName = a} :: Timezone)++instance Data.FromXML Timezone where+  parseXML x =+    Timezone' Prelude.<$> (x Data..@? "TimezoneName")++instance Prelude.Hashable Timezone where+  hashWithSalt _salt Timezone' {..} =+    _salt `Prelude.hashWithSalt` timezoneName++instance Prelude.NFData Timezone where+  rnf Timezone' {..} = Prelude.rnf timezoneName
+ gen/Amazonka/Neptune/Types/UpgradeTarget.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.Neptune.Types.UpgradeTarget+-- 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.Neptune.Types.UpgradeTarget where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The version of the database engine that a DB instance can be upgraded+-- to.+--+-- /See:/ 'newUpgradeTarget' smart constructor.+data UpgradeTarget = UpgradeTarget'+  { -- | A value that indicates whether the target version is applied to any+    -- source DB instances that have AutoMinorVersionUpgrade set to true.+    autoUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | The version of the database engine that a DB instance can be upgraded+    -- to.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the upgrade target database engine.+    engine :: Prelude.Maybe Prelude.Text,+    -- | The version number of the upgrade target database engine.+    engineVersion :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether a database engine is upgraded to a major+    -- version.+    isMajorVersionUpgrade :: Prelude.Maybe Prelude.Bool,+    -- | A value that indicates whether you can use Neptune global databases with+    -- the target engine version.+    supportsGlobalDatabases :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpgradeTarget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoUpgrade', 'upgradeTarget_autoUpgrade' - A value that indicates whether the target version is applied to any+-- source DB instances that have AutoMinorVersionUpgrade set to true.+--+-- 'description', 'upgradeTarget_description' - The version of the database engine that a DB instance can be upgraded+-- to.+--+-- 'engine', 'upgradeTarget_engine' - The name of the upgrade target database engine.+--+-- 'engineVersion', 'upgradeTarget_engineVersion' - The version number of the upgrade target database engine.+--+-- 'isMajorVersionUpgrade', 'upgradeTarget_isMajorVersionUpgrade' - A value that indicates whether a database engine is upgraded to a major+-- version.+--+-- 'supportsGlobalDatabases', 'upgradeTarget_supportsGlobalDatabases' - A value that indicates whether you can use Neptune global databases with+-- the target engine version.+newUpgradeTarget ::+  UpgradeTarget+newUpgradeTarget =+  UpgradeTarget'+    { autoUpgrade = Prelude.Nothing,+      description = Prelude.Nothing,+      engine = Prelude.Nothing,+      engineVersion = Prelude.Nothing,+      isMajorVersionUpgrade = Prelude.Nothing,+      supportsGlobalDatabases = Prelude.Nothing+    }++-- | A value that indicates whether the target version is applied to any+-- source DB instances that have AutoMinorVersionUpgrade set to true.+upgradeTarget_autoUpgrade :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Bool)+upgradeTarget_autoUpgrade = Lens.lens (\UpgradeTarget' {autoUpgrade} -> autoUpgrade) (\s@UpgradeTarget' {} a -> s {autoUpgrade = a} :: UpgradeTarget)++-- | The version of the database engine that a DB instance can be upgraded+-- to.+upgradeTarget_description :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Text)+upgradeTarget_description = Lens.lens (\UpgradeTarget' {description} -> description) (\s@UpgradeTarget' {} a -> s {description = a} :: UpgradeTarget)++-- | The name of the upgrade target database engine.+upgradeTarget_engine :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Text)+upgradeTarget_engine = Lens.lens (\UpgradeTarget' {engine} -> engine) (\s@UpgradeTarget' {} a -> s {engine = a} :: UpgradeTarget)++-- | The version number of the upgrade target database engine.+upgradeTarget_engineVersion :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Text)+upgradeTarget_engineVersion = Lens.lens (\UpgradeTarget' {engineVersion} -> engineVersion) (\s@UpgradeTarget' {} a -> s {engineVersion = a} :: UpgradeTarget)++-- | A value that indicates whether a database engine is upgraded to a major+-- version.+upgradeTarget_isMajorVersionUpgrade :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Bool)+upgradeTarget_isMajorVersionUpgrade = Lens.lens (\UpgradeTarget' {isMajorVersionUpgrade} -> isMajorVersionUpgrade) (\s@UpgradeTarget' {} a -> s {isMajorVersionUpgrade = a} :: UpgradeTarget)++-- | A value that indicates whether you can use Neptune global databases with+-- the target engine version.+upgradeTarget_supportsGlobalDatabases :: Lens.Lens' UpgradeTarget (Prelude.Maybe Prelude.Bool)+upgradeTarget_supportsGlobalDatabases = Lens.lens (\UpgradeTarget' {supportsGlobalDatabases} -> supportsGlobalDatabases) (\s@UpgradeTarget' {} a -> s {supportsGlobalDatabases = a} :: UpgradeTarget)++instance Data.FromXML UpgradeTarget where+  parseXML x =+    UpgradeTarget'+      Prelude.<$> (x Data..@? "AutoUpgrade")+      Prelude.<*> (x Data..@? "Description")+      Prelude.<*> (x Data..@? "Engine")+      Prelude.<*> (x Data..@? "EngineVersion")+      Prelude.<*> (x Data..@? "IsMajorVersionUpgrade")+      Prelude.<*> (x Data..@? "SupportsGlobalDatabases")++instance Prelude.Hashable UpgradeTarget where+  hashWithSalt _salt UpgradeTarget' {..} =+    _salt+      `Prelude.hashWithSalt` autoUpgrade+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` engine+      `Prelude.hashWithSalt` engineVersion+      `Prelude.hashWithSalt` isMajorVersionUpgrade+      `Prelude.hashWithSalt` supportsGlobalDatabases++instance Prelude.NFData UpgradeTarget where+  rnf UpgradeTarget' {..} =+    Prelude.rnf autoUpgrade+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf engine+      `Prelude.seq` Prelude.rnf engineVersion+      `Prelude.seq` Prelude.rnf isMajorVersionUpgrade+      `Prelude.seq` Prelude.rnf supportsGlobalDatabases
+ gen/Amazonka/Neptune/Types/ValidDBInstanceModificationsMessage.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.ValidDBInstanceModificationsMessage+-- 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.Neptune.Types.ValidDBInstanceModificationsMessage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.ValidStorageOptions+import qualified Amazonka.Prelude as Prelude++-- | Information about valid modifications that you can make to your DB+-- instance. Contains the result of a successful call to the+-- DescribeValidDBInstanceModifications action. You can use this+-- information when you call ModifyDBInstance.+--+-- /See:/ 'newValidDBInstanceModificationsMessage' smart constructor.+data ValidDBInstanceModificationsMessage = ValidDBInstanceModificationsMessage'+  { -- | Valid storage options for your DB instance.+    storage :: Prelude.Maybe [ValidStorageOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidDBInstanceModificationsMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'storage', 'validDBInstanceModificationsMessage_storage' - Valid storage options for your DB instance.+newValidDBInstanceModificationsMessage ::+  ValidDBInstanceModificationsMessage+newValidDBInstanceModificationsMessage =+  ValidDBInstanceModificationsMessage'+    { storage =+        Prelude.Nothing+    }++-- | Valid storage options for your DB instance.+validDBInstanceModificationsMessage_storage :: Lens.Lens' ValidDBInstanceModificationsMessage (Prelude.Maybe [ValidStorageOptions])+validDBInstanceModificationsMessage_storage = Lens.lens (\ValidDBInstanceModificationsMessage' {storage} -> storage) (\s@ValidDBInstanceModificationsMessage' {} a -> s {storage = a} :: ValidDBInstanceModificationsMessage) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromXML+    ValidDBInstanceModificationsMessage+  where+  parseXML x =+    ValidDBInstanceModificationsMessage'+      Prelude.<$> ( x+                      Data..@? "Storage"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "ValidStorageOptions")+                  )++instance+  Prelude.Hashable+    ValidDBInstanceModificationsMessage+  where+  hashWithSalt+    _salt+    ValidDBInstanceModificationsMessage' {..} =+      _salt `Prelude.hashWithSalt` storage++instance+  Prelude.NFData+    ValidDBInstanceModificationsMessage+  where+  rnf ValidDBInstanceModificationsMessage' {..} =+    Prelude.rnf storage
+ gen/Amazonka/Neptune/Types/ValidStorageOptions.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.ValidStorageOptions+-- 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.Neptune.Types.ValidStorageOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.Types.DoubleRange+import Amazonka.Neptune.Types.Range+import qualified Amazonka.Prelude as Prelude++-- | Information about valid modifications that you can make to your DB+-- instance.+--+-- Contains the result of a successful call to the+-- DescribeValidDBInstanceModifications action.+--+-- /See:/ 'newValidStorageOptions' smart constructor.+data ValidStorageOptions = ValidStorageOptions'+  { -- | The valid range of Provisioned IOPS to gibibytes of storage multiplier.+    -- For example, 3-10, which means that provisioned IOPS can be between 3+    -- and 10 times storage.+    iopsToStorageRatio :: Prelude.Maybe [DoubleRange],+    -- | The valid range of provisioned IOPS. For example, 1000-20000.+    provisionedIops :: Prelude.Maybe [Range],+    -- | The valid range of storage in gibibytes. For example, 100 to 16384.+    storageSize :: Prelude.Maybe [Range],+    -- | The valid storage types for your DB instance. For example, gp2, io1.+    storageType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidStorageOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iopsToStorageRatio', 'validStorageOptions_iopsToStorageRatio' - The valid range of Provisioned IOPS to gibibytes of storage multiplier.+-- For example, 3-10, which means that provisioned IOPS can be between 3+-- and 10 times storage.+--+-- 'provisionedIops', 'validStorageOptions_provisionedIops' - The valid range of provisioned IOPS. For example, 1000-20000.+--+-- 'storageSize', 'validStorageOptions_storageSize' - The valid range of storage in gibibytes. For example, 100 to 16384.+--+-- 'storageType', 'validStorageOptions_storageType' - The valid storage types for your DB instance. For example, gp2, io1.+newValidStorageOptions ::+  ValidStorageOptions+newValidStorageOptions =+  ValidStorageOptions'+    { iopsToStorageRatio =+        Prelude.Nothing,+      provisionedIops = Prelude.Nothing,+      storageSize = Prelude.Nothing,+      storageType = Prelude.Nothing+    }++-- | The valid range of Provisioned IOPS to gibibytes of storage multiplier.+-- For example, 3-10, which means that provisioned IOPS can be between 3+-- and 10 times storage.+validStorageOptions_iopsToStorageRatio :: Lens.Lens' ValidStorageOptions (Prelude.Maybe [DoubleRange])+validStorageOptions_iopsToStorageRatio = Lens.lens (\ValidStorageOptions' {iopsToStorageRatio} -> iopsToStorageRatio) (\s@ValidStorageOptions' {} a -> s {iopsToStorageRatio = a} :: ValidStorageOptions) Prelude.. Lens.mapping Lens.coerced++-- | The valid range of provisioned IOPS. For example, 1000-20000.+validStorageOptions_provisionedIops :: Lens.Lens' ValidStorageOptions (Prelude.Maybe [Range])+validStorageOptions_provisionedIops = Lens.lens (\ValidStorageOptions' {provisionedIops} -> provisionedIops) (\s@ValidStorageOptions' {} a -> s {provisionedIops = a} :: ValidStorageOptions) Prelude.. Lens.mapping Lens.coerced++-- | The valid range of storage in gibibytes. For example, 100 to 16384.+validStorageOptions_storageSize :: Lens.Lens' ValidStorageOptions (Prelude.Maybe [Range])+validStorageOptions_storageSize = Lens.lens (\ValidStorageOptions' {storageSize} -> storageSize) (\s@ValidStorageOptions' {} a -> s {storageSize = a} :: ValidStorageOptions) Prelude.. Lens.mapping Lens.coerced++-- | The valid storage types for your DB instance. For example, gp2, io1.+validStorageOptions_storageType :: Lens.Lens' ValidStorageOptions (Prelude.Maybe Prelude.Text)+validStorageOptions_storageType = Lens.lens (\ValidStorageOptions' {storageType} -> storageType) (\s@ValidStorageOptions' {} a -> s {storageType = a} :: ValidStorageOptions)++instance Data.FromXML ValidStorageOptions where+  parseXML x =+    ValidStorageOptions'+      Prelude.<$> ( x+                      Data..@? "IopsToStorageRatio"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "DoubleRange")+                  )+      Prelude.<*> ( x+                      Data..@? "ProvisionedIops"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Range")+                  )+      Prelude.<*> ( x+                      Data..@? "StorageSize"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Range")+                  )+      Prelude.<*> (x Data..@? "StorageType")++instance Prelude.Hashable ValidStorageOptions where+  hashWithSalt _salt ValidStorageOptions' {..} =+    _salt+      `Prelude.hashWithSalt` iopsToStorageRatio+      `Prelude.hashWithSalt` provisionedIops+      `Prelude.hashWithSalt` storageSize+      `Prelude.hashWithSalt` storageType++instance Prelude.NFData ValidStorageOptions where+  rnf ValidStorageOptions' {..} =+    Prelude.rnf iopsToStorageRatio+      `Prelude.seq` Prelude.rnf provisionedIops+      `Prelude.seq` Prelude.rnf storageSize+      `Prelude.seq` Prelude.rnf storageType
+ gen/Amazonka/Neptune/Types/VpcSecurityGroupMembership.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Neptune.Types.VpcSecurityGroupMembership+-- 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.Neptune.Types.VpcSecurityGroupMembership 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++-- | This data type is used as a response element for queries on VPC security+-- group membership.+--+-- /See:/ 'newVpcSecurityGroupMembership' smart constructor.+data VpcSecurityGroupMembership = VpcSecurityGroupMembership'+  { -- | The status of the VPC security group.+    status :: Prelude.Maybe Prelude.Text,+    -- | The name of the VPC security group.+    vpcSecurityGroupId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcSecurityGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'vpcSecurityGroupMembership_status' - The status of the VPC security group.+--+-- 'vpcSecurityGroupId', 'vpcSecurityGroupMembership_vpcSecurityGroupId' - The name of the VPC security group.+newVpcSecurityGroupMembership ::+  VpcSecurityGroupMembership+newVpcSecurityGroupMembership =+  VpcSecurityGroupMembership'+    { status =+        Prelude.Nothing,+      vpcSecurityGroupId = Prelude.Nothing+    }++-- | The status of the VPC security group.+vpcSecurityGroupMembership_status :: Lens.Lens' VpcSecurityGroupMembership (Prelude.Maybe Prelude.Text)+vpcSecurityGroupMembership_status = Lens.lens (\VpcSecurityGroupMembership' {status} -> status) (\s@VpcSecurityGroupMembership' {} a -> s {status = a} :: VpcSecurityGroupMembership)++-- | The name of the VPC security group.+vpcSecurityGroupMembership_vpcSecurityGroupId :: Lens.Lens' VpcSecurityGroupMembership (Prelude.Maybe Prelude.Text)+vpcSecurityGroupMembership_vpcSecurityGroupId = Lens.lens (\VpcSecurityGroupMembership' {vpcSecurityGroupId} -> vpcSecurityGroupId) (\s@VpcSecurityGroupMembership' {} a -> s {vpcSecurityGroupId = a} :: VpcSecurityGroupMembership)++instance Data.FromXML VpcSecurityGroupMembership where+  parseXML x =+    VpcSecurityGroupMembership'+      Prelude.<$> (x Data..@? "Status")+      Prelude.<*> (x Data..@? "VpcSecurityGroupId")++instance Prelude.Hashable VpcSecurityGroupMembership where+  hashWithSalt _salt VpcSecurityGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` vpcSecurityGroupId++instance Prelude.NFData VpcSecurityGroupMembership where+  rnf VpcSecurityGroupMembership' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf vpcSecurityGroupId
+ gen/Amazonka/Neptune/Waiters.hs view
@@ -0,0 +1,193 @@+{-# 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.Neptune.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.Neptune.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Neptune.DescribeDBInstances+import Amazonka.Neptune.Lens+import Amazonka.Neptune.Types+import qualified Amazonka.Prelude as Prelude++-- | Polls 'Amazonka.Neptune.DescribeDBInstances' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.+newDBInstanceAvailable :: Core.Wait DescribeDBInstances+newDBInstanceAvailable =+  Core.Wait+    { Core.name = "DBInstanceAvailable",+      Core.attempts = 60,+      Core.delay = 30,+      Core.acceptors =+        [ Core.matchAll+            "available"+            Core.AcceptSuccess+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "deleted"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "deleting"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "failed"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "incompatible-restore"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "incompatible-parameters"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }++-- | Polls 'Amazonka.Neptune.DescribeDBInstances' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.+newDBInstanceDeleted :: Core.Wait DescribeDBInstances+newDBInstanceDeleted =+  Core.Wait+    { Core.name = "DBInstanceDeleted",+      Core.attempts = 60,+      Core.delay = 30,+      Core.acceptors =+        [ Core.matchAll+            "deleted"+            Core.AcceptSuccess+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchError+            "DBInstanceNotFound"+            Core.AcceptSuccess,+          Core.matchAny+            "creating"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "modifying"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "rebooting"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAny+            "resetting-master-credentials"+            Core.AcceptFailure+            ( Lens.folding+                ( Lens.concatOf+                    ( describeDBInstancesResponse_dbInstances+                        Prelude.. Lens._Just+                    )+                )+                Prelude.. dbInstance_dbInstanceStatus+                Prelude.. Lens._Just+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }
+ 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.Neptune+import Test.Amazonka.Neptune.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Neptune"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Neptune.hs view
@@ -0,0 +1,1418 @@+{-# 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.Neptune+-- 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.Neptune where++import Amazonka.Neptune+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Neptune.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"+--         [ requestAddRoleToDBCluster $+--             newAddRoleToDBCluster+--+--         , requestAddSourceIdentifierToSubscription $+--             newAddSourceIdentifierToSubscription+--+--         , requestAddTagsToResource $+--             newAddTagsToResource+--+--         , requestApplyPendingMaintenanceAction $+--             newApplyPendingMaintenanceAction+--+--         , requestCopyDBClusterParameterGroup $+--             newCopyDBClusterParameterGroup+--+--         , requestCopyDBClusterSnapshot $+--             newCopyDBClusterSnapshot+--+--         , requestCopyDBParameterGroup $+--             newCopyDBParameterGroup+--+--         , requestCreateDBCluster $+--             newCreateDBCluster+--+--         , requestCreateDBClusterEndpoint $+--             newCreateDBClusterEndpoint+--+--         , requestCreateDBClusterParameterGroup $+--             newCreateDBClusterParameterGroup+--+--         , requestCreateDBClusterSnapshot $+--             newCreateDBClusterSnapshot+--+--         , requestCreateDBInstance $+--             newCreateDBInstance+--+--         , requestCreateDBParameterGroup $+--             newCreateDBParameterGroup+--+--         , requestCreateDBSubnetGroup $+--             newCreateDBSubnetGroup+--+--         , requestCreateEventSubscription $+--             newCreateEventSubscription+--+--         , requestCreateGlobalCluster $+--             newCreateGlobalCluster+--+--         , requestDeleteDBCluster $+--             newDeleteDBCluster+--+--         , requestDeleteDBClusterEndpoint $+--             newDeleteDBClusterEndpoint+--+--         , requestDeleteDBClusterParameterGroup $+--             newDeleteDBClusterParameterGroup+--+--         , requestDeleteDBClusterSnapshot $+--             newDeleteDBClusterSnapshot+--+--         , requestDeleteDBInstance $+--             newDeleteDBInstance+--+--         , requestDeleteDBParameterGroup $+--             newDeleteDBParameterGroup+--+--         , requestDeleteDBSubnetGroup $+--             newDeleteDBSubnetGroup+--+--         , requestDeleteEventSubscription $+--             newDeleteEventSubscription+--+--         , requestDeleteGlobalCluster $+--             newDeleteGlobalCluster+--+--         , requestDescribeDBClusterEndpoints $+--             newDescribeDBClusterEndpoints+--+--         , requestDescribeDBClusterParameterGroups $+--             newDescribeDBClusterParameterGroups+--+--         , requestDescribeDBClusterParameters $+--             newDescribeDBClusterParameters+--+--         , requestDescribeDBClusterSnapshotAttributes $+--             newDescribeDBClusterSnapshotAttributes+--+--         , requestDescribeDBClusterSnapshots $+--             newDescribeDBClusterSnapshots+--+--         , requestDescribeDBClusters $+--             newDescribeDBClusters+--+--         , requestDescribeDBEngineVersions $+--             newDescribeDBEngineVersions+--+--         , requestDescribeDBInstances $+--             newDescribeDBInstances+--+--         , requestDescribeDBParameterGroups $+--             newDescribeDBParameterGroups+--+--         , requestDescribeDBParameters $+--             newDescribeDBParameters+--+--         , requestDescribeDBSubnetGroups $+--             newDescribeDBSubnetGroups+--+--         , requestDescribeEngineDefaultClusterParameters $+--             newDescribeEngineDefaultClusterParameters+--+--         , requestDescribeEngineDefaultParameters $+--             newDescribeEngineDefaultParameters+--+--         , requestDescribeEventCategories $+--             newDescribeEventCategories+--+--         , requestDescribeEventSubscriptions $+--             newDescribeEventSubscriptions+--+--         , requestDescribeEvents $+--             newDescribeEvents+--+--         , requestDescribeGlobalClusters $+--             newDescribeGlobalClusters+--+--         , requestDescribeOrderableDBInstanceOptions $+--             newDescribeOrderableDBInstanceOptions+--+--         , requestDescribePendingMaintenanceActions $+--             newDescribePendingMaintenanceActions+--+--         , requestDescribeValidDBInstanceModifications $+--             newDescribeValidDBInstanceModifications+--+--         , requestFailoverDBCluster $+--             newFailoverDBCluster+--+--         , requestFailoverGlobalCluster $+--             newFailoverGlobalCluster+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestModifyDBCluster $+--             newModifyDBCluster+--+--         , requestModifyDBClusterEndpoint $+--             newModifyDBClusterEndpoint+--+--         , requestModifyDBClusterParameterGroup $+--             newModifyDBClusterParameterGroup+--+--         , requestModifyDBClusterSnapshotAttribute $+--             newModifyDBClusterSnapshotAttribute+--+--         , requestModifyDBInstance $+--             newModifyDBInstance+--+--         , requestModifyDBParameterGroup $+--             newModifyDBParameterGroup+--+--         , requestModifyDBSubnetGroup $+--             newModifyDBSubnetGroup+--+--         , requestModifyEventSubscription $+--             newModifyEventSubscription+--+--         , requestModifyGlobalCluster $+--             newModifyGlobalCluster+--+--         , requestPromoteReadReplicaDBCluster $+--             newPromoteReadReplicaDBCluster+--+--         , requestRebootDBInstance $+--             newRebootDBInstance+--+--         , requestRemoveFromGlobalCluster $+--             newRemoveFromGlobalCluster+--+--         , requestRemoveRoleFromDBCluster $+--             newRemoveRoleFromDBCluster+--+--         , requestRemoveSourceIdentifierFromSubscription $+--             newRemoveSourceIdentifierFromSubscription+--+--         , requestRemoveTagsFromResource $+--             newRemoveTagsFromResource+--+--         , requestResetDBClusterParameterGroup $+--             newResetDBClusterParameterGroup+--+--         , requestResetDBParameterGroup $+--             newResetDBParameterGroup+--+--         , requestRestoreDBClusterFromSnapshot $+--             newRestoreDBClusterFromSnapshot+--+--         , requestRestoreDBClusterToPointInTime $+--             newRestoreDBClusterToPointInTime+--+--         , requestStartDBCluster $+--             newStartDBCluster+--+--         , requestStopDBCluster $+--             newStopDBCluster+--+--           ]++--     , testGroup "response"+--         [ responseAddRoleToDBCluster $+--             newAddRoleToDBClusterResponse+--+--         , responseAddSourceIdentifierToSubscription $+--             newAddSourceIdentifierToSubscriptionResponse+--+--         , responseAddTagsToResource $+--             newAddTagsToResourceResponse+--+--         , responseApplyPendingMaintenanceAction $+--             newApplyPendingMaintenanceActionResponse+--+--         , responseCopyDBClusterParameterGroup $+--             newCopyDBClusterParameterGroupResponse+--+--         , responseCopyDBClusterSnapshot $+--             newCopyDBClusterSnapshotResponse+--+--         , responseCopyDBParameterGroup $+--             newCopyDBParameterGroupResponse+--+--         , responseCreateDBCluster $+--             newCreateDBClusterResponse+--+--         , responseCreateDBClusterEndpoint $+--             newCreateDBClusterEndpointResponse+--+--         , responseCreateDBClusterParameterGroup $+--             newCreateDBClusterParameterGroupResponse+--+--         , responseCreateDBClusterSnapshot $+--             newCreateDBClusterSnapshotResponse+--+--         , responseCreateDBInstance $+--             newCreateDBInstanceResponse+--+--         , responseCreateDBParameterGroup $+--             newCreateDBParameterGroupResponse+--+--         , responseCreateDBSubnetGroup $+--             newCreateDBSubnetGroupResponse+--+--         , responseCreateEventSubscription $+--             newCreateEventSubscriptionResponse+--+--         , responseCreateGlobalCluster $+--             newCreateGlobalClusterResponse+--+--         , responseDeleteDBCluster $+--             newDeleteDBClusterResponse+--+--         , responseDeleteDBClusterEndpoint $+--             newDeleteDBClusterEndpointResponse+--+--         , responseDeleteDBClusterParameterGroup $+--             newDeleteDBClusterParameterGroupResponse+--+--         , responseDeleteDBClusterSnapshot $+--             newDeleteDBClusterSnapshotResponse+--+--         , responseDeleteDBInstance $+--             newDeleteDBInstanceResponse+--+--         , responseDeleteDBParameterGroup $+--             newDeleteDBParameterGroupResponse+--+--         , responseDeleteDBSubnetGroup $+--             newDeleteDBSubnetGroupResponse+--+--         , responseDeleteEventSubscription $+--             newDeleteEventSubscriptionResponse+--+--         , responseDeleteGlobalCluster $+--             newDeleteGlobalClusterResponse+--+--         , responseDescribeDBClusterEndpoints $+--             newDescribeDBClusterEndpointsResponse+--+--         , responseDescribeDBClusterParameterGroups $+--             newDescribeDBClusterParameterGroupsResponse+--+--         , responseDescribeDBClusterParameters $+--             newDescribeDBClusterParametersResponse+--+--         , responseDescribeDBClusterSnapshotAttributes $+--             newDescribeDBClusterSnapshotAttributesResponse+--+--         , responseDescribeDBClusterSnapshots $+--             newDescribeDBClusterSnapshotsResponse+--+--         , responseDescribeDBClusters $+--             newDescribeDBClustersResponse+--+--         , responseDescribeDBEngineVersions $+--             newDescribeDBEngineVersionsResponse+--+--         , responseDescribeDBInstances $+--             newDescribeDBInstancesResponse+--+--         , responseDescribeDBParameterGroups $+--             newDescribeDBParameterGroupsResponse+--+--         , responseDescribeDBParameters $+--             newDescribeDBParametersResponse+--+--         , responseDescribeDBSubnetGroups $+--             newDescribeDBSubnetGroupsResponse+--+--         , responseDescribeEngineDefaultClusterParameters $+--             newDescribeEngineDefaultClusterParametersResponse+--+--         , responseDescribeEngineDefaultParameters $+--             newDescribeEngineDefaultParametersResponse+--+--         , responseDescribeEventCategories $+--             newDescribeEventCategoriesResponse+--+--         , responseDescribeEventSubscriptions $+--             newDescribeEventSubscriptionsResponse+--+--         , responseDescribeEvents $+--             newDescribeEventsResponse+--+--         , responseDescribeGlobalClusters $+--             newDescribeGlobalClustersResponse+--+--         , responseDescribeOrderableDBInstanceOptions $+--             newDescribeOrderableDBInstanceOptionsResponse+--+--         , responseDescribePendingMaintenanceActions $+--             newDescribePendingMaintenanceActionsResponse+--+--         , responseDescribeValidDBInstanceModifications $+--             newDescribeValidDBInstanceModificationsResponse+--+--         , responseFailoverDBCluster $+--             newFailoverDBClusterResponse+--+--         , responseFailoverGlobalCluster $+--             newFailoverGlobalClusterResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseModifyDBCluster $+--             newModifyDBClusterResponse+--+--         , responseModifyDBClusterEndpoint $+--             newModifyDBClusterEndpointResponse+--+--         , responseModifyDBClusterParameterGroup $+--             newDBClusterParameterGroupNameMessage+--+--         , responseModifyDBClusterSnapshotAttribute $+--             newModifyDBClusterSnapshotAttributeResponse+--+--         , responseModifyDBInstance $+--             newModifyDBInstanceResponse+--+--         , responseModifyDBParameterGroup $+--             newDBParameterGroupNameMessage+--+--         , responseModifyDBSubnetGroup $+--             newModifyDBSubnetGroupResponse+--+--         , responseModifyEventSubscription $+--             newModifyEventSubscriptionResponse+--+--         , responseModifyGlobalCluster $+--             newModifyGlobalClusterResponse+--+--         , responsePromoteReadReplicaDBCluster $+--             newPromoteReadReplicaDBClusterResponse+--+--         , responseRebootDBInstance $+--             newRebootDBInstanceResponse+--+--         , responseRemoveFromGlobalCluster $+--             newRemoveFromGlobalClusterResponse+--+--         , responseRemoveRoleFromDBCluster $+--             newRemoveRoleFromDBClusterResponse+--+--         , responseRemoveSourceIdentifierFromSubscription $+--             newRemoveSourceIdentifierFromSubscriptionResponse+--+--         , responseRemoveTagsFromResource $+--             newRemoveTagsFromResourceResponse+--+--         , responseResetDBClusterParameterGroup $+--             newDBClusterParameterGroupNameMessage+--+--         , responseResetDBParameterGroup $+--             newDBParameterGroupNameMessage+--+--         , responseRestoreDBClusterFromSnapshot $+--             newRestoreDBClusterFromSnapshotResponse+--+--         , responseRestoreDBClusterToPointInTime $+--             newRestoreDBClusterToPointInTimeResponse+--+--         , responseStartDBCluster $+--             newStartDBClusterResponse+--+--         , responseStopDBCluster $+--             newStopDBClusterResponse+--+--           ]+--     ]++-- Requests++requestAddRoleToDBCluster :: AddRoleToDBCluster -> TestTree+requestAddRoleToDBCluster =+  req+    "AddRoleToDBCluster"+    "fixture/AddRoleToDBCluster.yaml"++requestAddSourceIdentifierToSubscription :: AddSourceIdentifierToSubscription -> TestTree+requestAddSourceIdentifierToSubscription =+  req+    "AddSourceIdentifierToSubscription"+    "fixture/AddSourceIdentifierToSubscription.yaml"++requestAddTagsToResource :: AddTagsToResource -> TestTree+requestAddTagsToResource =+  req+    "AddTagsToResource"+    "fixture/AddTagsToResource.yaml"++requestApplyPendingMaintenanceAction :: ApplyPendingMaintenanceAction -> TestTree+requestApplyPendingMaintenanceAction =+  req+    "ApplyPendingMaintenanceAction"+    "fixture/ApplyPendingMaintenanceAction.yaml"++requestCopyDBClusterParameterGroup :: CopyDBClusterParameterGroup -> TestTree+requestCopyDBClusterParameterGroup =+  req+    "CopyDBClusterParameterGroup"+    "fixture/CopyDBClusterParameterGroup.yaml"++requestCopyDBClusterSnapshot :: CopyDBClusterSnapshot -> TestTree+requestCopyDBClusterSnapshot =+  req+    "CopyDBClusterSnapshot"+    "fixture/CopyDBClusterSnapshot.yaml"++requestCopyDBParameterGroup :: CopyDBParameterGroup -> TestTree+requestCopyDBParameterGroup =+  req+    "CopyDBParameterGroup"+    "fixture/CopyDBParameterGroup.yaml"++requestCreateDBCluster :: CreateDBCluster -> TestTree+requestCreateDBCluster =+  req+    "CreateDBCluster"+    "fixture/CreateDBCluster.yaml"++requestCreateDBClusterEndpoint :: CreateDBClusterEndpoint -> TestTree+requestCreateDBClusterEndpoint =+  req+    "CreateDBClusterEndpoint"+    "fixture/CreateDBClusterEndpoint.yaml"++requestCreateDBClusterParameterGroup :: CreateDBClusterParameterGroup -> TestTree+requestCreateDBClusterParameterGroup =+  req+    "CreateDBClusterParameterGroup"+    "fixture/CreateDBClusterParameterGroup.yaml"++requestCreateDBClusterSnapshot :: CreateDBClusterSnapshot -> TestTree+requestCreateDBClusterSnapshot =+  req+    "CreateDBClusterSnapshot"+    "fixture/CreateDBClusterSnapshot.yaml"++requestCreateDBInstance :: CreateDBInstance -> TestTree+requestCreateDBInstance =+  req+    "CreateDBInstance"+    "fixture/CreateDBInstance.yaml"++requestCreateDBParameterGroup :: CreateDBParameterGroup -> TestTree+requestCreateDBParameterGroup =+  req+    "CreateDBParameterGroup"+    "fixture/CreateDBParameterGroup.yaml"++requestCreateDBSubnetGroup :: CreateDBSubnetGroup -> TestTree+requestCreateDBSubnetGroup =+  req+    "CreateDBSubnetGroup"+    "fixture/CreateDBSubnetGroup.yaml"++requestCreateEventSubscription :: CreateEventSubscription -> TestTree+requestCreateEventSubscription =+  req+    "CreateEventSubscription"+    "fixture/CreateEventSubscription.yaml"++requestCreateGlobalCluster :: CreateGlobalCluster -> TestTree+requestCreateGlobalCluster =+  req+    "CreateGlobalCluster"+    "fixture/CreateGlobalCluster.yaml"++requestDeleteDBCluster :: DeleteDBCluster -> TestTree+requestDeleteDBCluster =+  req+    "DeleteDBCluster"+    "fixture/DeleteDBCluster.yaml"++requestDeleteDBClusterEndpoint :: DeleteDBClusterEndpoint -> TestTree+requestDeleteDBClusterEndpoint =+  req+    "DeleteDBClusterEndpoint"+    "fixture/DeleteDBClusterEndpoint.yaml"++requestDeleteDBClusterParameterGroup :: DeleteDBClusterParameterGroup -> TestTree+requestDeleteDBClusterParameterGroup =+  req+    "DeleteDBClusterParameterGroup"+    "fixture/DeleteDBClusterParameterGroup.yaml"++requestDeleteDBClusterSnapshot :: DeleteDBClusterSnapshot -> TestTree+requestDeleteDBClusterSnapshot =+  req+    "DeleteDBClusterSnapshot"+    "fixture/DeleteDBClusterSnapshot.yaml"++requestDeleteDBInstance :: DeleteDBInstance -> TestTree+requestDeleteDBInstance =+  req+    "DeleteDBInstance"+    "fixture/DeleteDBInstance.yaml"++requestDeleteDBParameterGroup :: DeleteDBParameterGroup -> TestTree+requestDeleteDBParameterGroup =+  req+    "DeleteDBParameterGroup"+    "fixture/DeleteDBParameterGroup.yaml"++requestDeleteDBSubnetGroup :: DeleteDBSubnetGroup -> TestTree+requestDeleteDBSubnetGroup =+  req+    "DeleteDBSubnetGroup"+    "fixture/DeleteDBSubnetGroup.yaml"++requestDeleteEventSubscription :: DeleteEventSubscription -> TestTree+requestDeleteEventSubscription =+  req+    "DeleteEventSubscription"+    "fixture/DeleteEventSubscription.yaml"++requestDeleteGlobalCluster :: DeleteGlobalCluster -> TestTree+requestDeleteGlobalCluster =+  req+    "DeleteGlobalCluster"+    "fixture/DeleteGlobalCluster.yaml"++requestDescribeDBClusterEndpoints :: DescribeDBClusterEndpoints -> TestTree+requestDescribeDBClusterEndpoints =+  req+    "DescribeDBClusterEndpoints"+    "fixture/DescribeDBClusterEndpoints.yaml"++requestDescribeDBClusterParameterGroups :: DescribeDBClusterParameterGroups -> TestTree+requestDescribeDBClusterParameterGroups =+  req+    "DescribeDBClusterParameterGroups"+    "fixture/DescribeDBClusterParameterGroups.yaml"++requestDescribeDBClusterParameters :: DescribeDBClusterParameters -> TestTree+requestDescribeDBClusterParameters =+  req+    "DescribeDBClusterParameters"+    "fixture/DescribeDBClusterParameters.yaml"++requestDescribeDBClusterSnapshotAttributes :: DescribeDBClusterSnapshotAttributes -> TestTree+requestDescribeDBClusterSnapshotAttributes =+  req+    "DescribeDBClusterSnapshotAttributes"+    "fixture/DescribeDBClusterSnapshotAttributes.yaml"++requestDescribeDBClusterSnapshots :: DescribeDBClusterSnapshots -> TestTree+requestDescribeDBClusterSnapshots =+  req+    "DescribeDBClusterSnapshots"+    "fixture/DescribeDBClusterSnapshots.yaml"++requestDescribeDBClusters :: DescribeDBClusters -> TestTree+requestDescribeDBClusters =+  req+    "DescribeDBClusters"+    "fixture/DescribeDBClusters.yaml"++requestDescribeDBEngineVersions :: DescribeDBEngineVersions -> TestTree+requestDescribeDBEngineVersions =+  req+    "DescribeDBEngineVersions"+    "fixture/DescribeDBEngineVersions.yaml"++requestDescribeDBInstances :: DescribeDBInstances -> TestTree+requestDescribeDBInstances =+  req+    "DescribeDBInstances"+    "fixture/DescribeDBInstances.yaml"++requestDescribeDBParameterGroups :: DescribeDBParameterGroups -> TestTree+requestDescribeDBParameterGroups =+  req+    "DescribeDBParameterGroups"+    "fixture/DescribeDBParameterGroups.yaml"++requestDescribeDBParameters :: DescribeDBParameters -> TestTree+requestDescribeDBParameters =+  req+    "DescribeDBParameters"+    "fixture/DescribeDBParameters.yaml"++requestDescribeDBSubnetGroups :: DescribeDBSubnetGroups -> TestTree+requestDescribeDBSubnetGroups =+  req+    "DescribeDBSubnetGroups"+    "fixture/DescribeDBSubnetGroups.yaml"++requestDescribeEngineDefaultClusterParameters :: DescribeEngineDefaultClusterParameters -> TestTree+requestDescribeEngineDefaultClusterParameters =+  req+    "DescribeEngineDefaultClusterParameters"+    "fixture/DescribeEngineDefaultClusterParameters.yaml"++requestDescribeEngineDefaultParameters :: DescribeEngineDefaultParameters -> TestTree+requestDescribeEngineDefaultParameters =+  req+    "DescribeEngineDefaultParameters"+    "fixture/DescribeEngineDefaultParameters.yaml"++requestDescribeEventCategories :: DescribeEventCategories -> TestTree+requestDescribeEventCategories =+  req+    "DescribeEventCategories"+    "fixture/DescribeEventCategories.yaml"++requestDescribeEventSubscriptions :: DescribeEventSubscriptions -> TestTree+requestDescribeEventSubscriptions =+  req+    "DescribeEventSubscriptions"+    "fixture/DescribeEventSubscriptions.yaml"++requestDescribeEvents :: DescribeEvents -> TestTree+requestDescribeEvents =+  req+    "DescribeEvents"+    "fixture/DescribeEvents.yaml"++requestDescribeGlobalClusters :: DescribeGlobalClusters -> TestTree+requestDescribeGlobalClusters =+  req+    "DescribeGlobalClusters"+    "fixture/DescribeGlobalClusters.yaml"++requestDescribeOrderableDBInstanceOptions :: DescribeOrderableDBInstanceOptions -> TestTree+requestDescribeOrderableDBInstanceOptions =+  req+    "DescribeOrderableDBInstanceOptions"+    "fixture/DescribeOrderableDBInstanceOptions.yaml"++requestDescribePendingMaintenanceActions :: DescribePendingMaintenanceActions -> TestTree+requestDescribePendingMaintenanceActions =+  req+    "DescribePendingMaintenanceActions"+    "fixture/DescribePendingMaintenanceActions.yaml"++requestDescribeValidDBInstanceModifications :: DescribeValidDBInstanceModifications -> TestTree+requestDescribeValidDBInstanceModifications =+  req+    "DescribeValidDBInstanceModifications"+    "fixture/DescribeValidDBInstanceModifications.yaml"++requestFailoverDBCluster :: FailoverDBCluster -> TestTree+requestFailoverDBCluster =+  req+    "FailoverDBCluster"+    "fixture/FailoverDBCluster.yaml"++requestFailoverGlobalCluster :: FailoverGlobalCluster -> TestTree+requestFailoverGlobalCluster =+  req+    "FailoverGlobalCluster"+    "fixture/FailoverGlobalCluster.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestModifyDBCluster :: ModifyDBCluster -> TestTree+requestModifyDBCluster =+  req+    "ModifyDBCluster"+    "fixture/ModifyDBCluster.yaml"++requestModifyDBClusterEndpoint :: ModifyDBClusterEndpoint -> TestTree+requestModifyDBClusterEndpoint =+  req+    "ModifyDBClusterEndpoint"+    "fixture/ModifyDBClusterEndpoint.yaml"++requestModifyDBClusterParameterGroup :: ModifyDBClusterParameterGroup -> TestTree+requestModifyDBClusterParameterGroup =+  req+    "ModifyDBClusterParameterGroup"+    "fixture/ModifyDBClusterParameterGroup.yaml"++requestModifyDBClusterSnapshotAttribute :: ModifyDBClusterSnapshotAttribute -> TestTree+requestModifyDBClusterSnapshotAttribute =+  req+    "ModifyDBClusterSnapshotAttribute"+    "fixture/ModifyDBClusterSnapshotAttribute.yaml"++requestModifyDBInstance :: ModifyDBInstance -> TestTree+requestModifyDBInstance =+  req+    "ModifyDBInstance"+    "fixture/ModifyDBInstance.yaml"++requestModifyDBParameterGroup :: ModifyDBParameterGroup -> TestTree+requestModifyDBParameterGroup =+  req+    "ModifyDBParameterGroup"+    "fixture/ModifyDBParameterGroup.yaml"++requestModifyDBSubnetGroup :: ModifyDBSubnetGroup -> TestTree+requestModifyDBSubnetGroup =+  req+    "ModifyDBSubnetGroup"+    "fixture/ModifyDBSubnetGroup.yaml"++requestModifyEventSubscription :: ModifyEventSubscription -> TestTree+requestModifyEventSubscription =+  req+    "ModifyEventSubscription"+    "fixture/ModifyEventSubscription.yaml"++requestModifyGlobalCluster :: ModifyGlobalCluster -> TestTree+requestModifyGlobalCluster =+  req+    "ModifyGlobalCluster"+    "fixture/ModifyGlobalCluster.yaml"++requestPromoteReadReplicaDBCluster :: PromoteReadReplicaDBCluster -> TestTree+requestPromoteReadReplicaDBCluster =+  req+    "PromoteReadReplicaDBCluster"+    "fixture/PromoteReadReplicaDBCluster.yaml"++requestRebootDBInstance :: RebootDBInstance -> TestTree+requestRebootDBInstance =+  req+    "RebootDBInstance"+    "fixture/RebootDBInstance.yaml"++requestRemoveFromGlobalCluster :: RemoveFromGlobalCluster -> TestTree+requestRemoveFromGlobalCluster =+  req+    "RemoveFromGlobalCluster"+    "fixture/RemoveFromGlobalCluster.yaml"++requestRemoveRoleFromDBCluster :: RemoveRoleFromDBCluster -> TestTree+requestRemoveRoleFromDBCluster =+  req+    "RemoveRoleFromDBCluster"+    "fixture/RemoveRoleFromDBCluster.yaml"++requestRemoveSourceIdentifierFromSubscription :: RemoveSourceIdentifierFromSubscription -> TestTree+requestRemoveSourceIdentifierFromSubscription =+  req+    "RemoveSourceIdentifierFromSubscription"+    "fixture/RemoveSourceIdentifierFromSubscription.yaml"++requestRemoveTagsFromResource :: RemoveTagsFromResource -> TestTree+requestRemoveTagsFromResource =+  req+    "RemoveTagsFromResource"+    "fixture/RemoveTagsFromResource.yaml"++requestResetDBClusterParameterGroup :: ResetDBClusterParameterGroup -> TestTree+requestResetDBClusterParameterGroup =+  req+    "ResetDBClusterParameterGroup"+    "fixture/ResetDBClusterParameterGroup.yaml"++requestResetDBParameterGroup :: ResetDBParameterGroup -> TestTree+requestResetDBParameterGroup =+  req+    "ResetDBParameterGroup"+    "fixture/ResetDBParameterGroup.yaml"++requestRestoreDBClusterFromSnapshot :: RestoreDBClusterFromSnapshot -> TestTree+requestRestoreDBClusterFromSnapshot =+  req+    "RestoreDBClusterFromSnapshot"+    "fixture/RestoreDBClusterFromSnapshot.yaml"++requestRestoreDBClusterToPointInTime :: RestoreDBClusterToPointInTime -> TestTree+requestRestoreDBClusterToPointInTime =+  req+    "RestoreDBClusterToPointInTime"+    "fixture/RestoreDBClusterToPointInTime.yaml"++requestStartDBCluster :: StartDBCluster -> TestTree+requestStartDBCluster =+  req+    "StartDBCluster"+    "fixture/StartDBCluster.yaml"++requestStopDBCluster :: StopDBCluster -> TestTree+requestStopDBCluster =+  req+    "StopDBCluster"+    "fixture/StopDBCluster.yaml"++-- Responses++responseAddRoleToDBCluster :: AddRoleToDBClusterResponse -> TestTree+responseAddRoleToDBCluster =+  res+    "AddRoleToDBClusterResponse"+    "fixture/AddRoleToDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AddRoleToDBCluster)++responseAddSourceIdentifierToSubscription :: AddSourceIdentifierToSubscriptionResponse -> TestTree+responseAddSourceIdentifierToSubscription =+  res+    "AddSourceIdentifierToSubscriptionResponse"+    "fixture/AddSourceIdentifierToSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AddSourceIdentifierToSubscription)++responseAddTagsToResource :: AddTagsToResourceResponse -> TestTree+responseAddTagsToResource =+  res+    "AddTagsToResourceResponse"+    "fixture/AddTagsToResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AddTagsToResource)++responseApplyPendingMaintenanceAction :: ApplyPendingMaintenanceActionResponse -> TestTree+responseApplyPendingMaintenanceAction =+  res+    "ApplyPendingMaintenanceActionResponse"+    "fixture/ApplyPendingMaintenanceActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ApplyPendingMaintenanceAction)++responseCopyDBClusterParameterGroup :: CopyDBClusterParameterGroupResponse -> TestTree+responseCopyDBClusterParameterGroup =+  res+    "CopyDBClusterParameterGroupResponse"+    "fixture/CopyDBClusterParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CopyDBClusterParameterGroup)++responseCopyDBClusterSnapshot :: CopyDBClusterSnapshotResponse -> TestTree+responseCopyDBClusterSnapshot =+  res+    "CopyDBClusterSnapshotResponse"+    "fixture/CopyDBClusterSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CopyDBClusterSnapshot)++responseCopyDBParameterGroup :: CopyDBParameterGroupResponse -> TestTree+responseCopyDBParameterGroup =+  res+    "CopyDBParameterGroupResponse"+    "fixture/CopyDBParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CopyDBParameterGroup)++responseCreateDBCluster :: CreateDBClusterResponse -> TestTree+responseCreateDBCluster =+  res+    "CreateDBClusterResponse"+    "fixture/CreateDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBCluster)++responseCreateDBClusterEndpoint :: CreateDBClusterEndpointResponse -> TestTree+responseCreateDBClusterEndpoint =+  res+    "CreateDBClusterEndpointResponse"+    "fixture/CreateDBClusterEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBClusterEndpoint)++responseCreateDBClusterParameterGroup :: CreateDBClusterParameterGroupResponse -> TestTree+responseCreateDBClusterParameterGroup =+  res+    "CreateDBClusterParameterGroupResponse"+    "fixture/CreateDBClusterParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBClusterParameterGroup)++responseCreateDBClusterSnapshot :: CreateDBClusterSnapshotResponse -> TestTree+responseCreateDBClusterSnapshot =+  res+    "CreateDBClusterSnapshotResponse"+    "fixture/CreateDBClusterSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBClusterSnapshot)++responseCreateDBInstance :: CreateDBInstanceResponse -> TestTree+responseCreateDBInstance =+  res+    "CreateDBInstanceResponse"+    "fixture/CreateDBInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBInstance)++responseCreateDBParameterGroup :: CreateDBParameterGroupResponse -> TestTree+responseCreateDBParameterGroup =+  res+    "CreateDBParameterGroupResponse"+    "fixture/CreateDBParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBParameterGroup)++responseCreateDBSubnetGroup :: CreateDBSubnetGroupResponse -> TestTree+responseCreateDBSubnetGroup =+  res+    "CreateDBSubnetGroupResponse"+    "fixture/CreateDBSubnetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDBSubnetGroup)++responseCreateEventSubscription :: CreateEventSubscriptionResponse -> TestTree+responseCreateEventSubscription =+  res+    "CreateEventSubscriptionResponse"+    "fixture/CreateEventSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateEventSubscription)++responseCreateGlobalCluster :: CreateGlobalClusterResponse -> TestTree+responseCreateGlobalCluster =+  res+    "CreateGlobalClusterResponse"+    "fixture/CreateGlobalClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGlobalCluster)++responseDeleteDBCluster :: DeleteDBClusterResponse -> TestTree+responseDeleteDBCluster =+  res+    "DeleteDBClusterResponse"+    "fixture/DeleteDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBCluster)++responseDeleteDBClusterEndpoint :: DeleteDBClusterEndpointResponse -> TestTree+responseDeleteDBClusterEndpoint =+  res+    "DeleteDBClusterEndpointResponse"+    "fixture/DeleteDBClusterEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBClusterEndpoint)++responseDeleteDBClusterParameterGroup :: DeleteDBClusterParameterGroupResponse -> TestTree+responseDeleteDBClusterParameterGroup =+  res+    "DeleteDBClusterParameterGroupResponse"+    "fixture/DeleteDBClusterParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBClusterParameterGroup)++responseDeleteDBClusterSnapshot :: DeleteDBClusterSnapshotResponse -> TestTree+responseDeleteDBClusterSnapshot =+  res+    "DeleteDBClusterSnapshotResponse"+    "fixture/DeleteDBClusterSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBClusterSnapshot)++responseDeleteDBInstance :: DeleteDBInstanceResponse -> TestTree+responseDeleteDBInstance =+  res+    "DeleteDBInstanceResponse"+    "fixture/DeleteDBInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBInstance)++responseDeleteDBParameterGroup :: DeleteDBParameterGroupResponse -> TestTree+responseDeleteDBParameterGroup =+  res+    "DeleteDBParameterGroupResponse"+    "fixture/DeleteDBParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBParameterGroup)++responseDeleteDBSubnetGroup :: DeleteDBSubnetGroupResponse -> TestTree+responseDeleteDBSubnetGroup =+  res+    "DeleteDBSubnetGroupResponse"+    "fixture/DeleteDBSubnetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDBSubnetGroup)++responseDeleteEventSubscription :: DeleteEventSubscriptionResponse -> TestTree+responseDeleteEventSubscription =+  res+    "DeleteEventSubscriptionResponse"+    "fixture/DeleteEventSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEventSubscription)++responseDeleteGlobalCluster :: DeleteGlobalClusterResponse -> TestTree+responseDeleteGlobalCluster =+  res+    "DeleteGlobalClusterResponse"+    "fixture/DeleteGlobalClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGlobalCluster)++responseDescribeDBClusterEndpoints :: DescribeDBClusterEndpointsResponse -> TestTree+responseDescribeDBClusterEndpoints =+  res+    "DescribeDBClusterEndpointsResponse"+    "fixture/DescribeDBClusterEndpointsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusterEndpoints)++responseDescribeDBClusterParameterGroups :: DescribeDBClusterParameterGroupsResponse -> TestTree+responseDescribeDBClusterParameterGroups =+  res+    "DescribeDBClusterParameterGroupsResponse"+    "fixture/DescribeDBClusterParameterGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusterParameterGroups)++responseDescribeDBClusterParameters :: DescribeDBClusterParametersResponse -> TestTree+responseDescribeDBClusterParameters =+  res+    "DescribeDBClusterParametersResponse"+    "fixture/DescribeDBClusterParametersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusterParameters)++responseDescribeDBClusterSnapshotAttributes :: DescribeDBClusterSnapshotAttributesResponse -> TestTree+responseDescribeDBClusterSnapshotAttributes =+  res+    "DescribeDBClusterSnapshotAttributesResponse"+    "fixture/DescribeDBClusterSnapshotAttributesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusterSnapshotAttributes)++responseDescribeDBClusterSnapshots :: DescribeDBClusterSnapshotsResponse -> TestTree+responseDescribeDBClusterSnapshots =+  res+    "DescribeDBClusterSnapshotsResponse"+    "fixture/DescribeDBClusterSnapshotsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusterSnapshots)++responseDescribeDBClusters :: DescribeDBClustersResponse -> TestTree+responseDescribeDBClusters =+  res+    "DescribeDBClustersResponse"+    "fixture/DescribeDBClustersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBClusters)++responseDescribeDBEngineVersions :: DescribeDBEngineVersionsResponse -> TestTree+responseDescribeDBEngineVersions =+  res+    "DescribeDBEngineVersionsResponse"+    "fixture/DescribeDBEngineVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBEngineVersions)++responseDescribeDBInstances :: DescribeDBInstancesResponse -> TestTree+responseDescribeDBInstances =+  res+    "DescribeDBInstancesResponse"+    "fixture/DescribeDBInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBInstances)++responseDescribeDBParameterGroups :: DescribeDBParameterGroupsResponse -> TestTree+responseDescribeDBParameterGroups =+  res+    "DescribeDBParameterGroupsResponse"+    "fixture/DescribeDBParameterGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBParameterGroups)++responseDescribeDBParameters :: DescribeDBParametersResponse -> TestTree+responseDescribeDBParameters =+  res+    "DescribeDBParametersResponse"+    "fixture/DescribeDBParametersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBParameters)++responseDescribeDBSubnetGroups :: DescribeDBSubnetGroupsResponse -> TestTree+responseDescribeDBSubnetGroups =+  res+    "DescribeDBSubnetGroupsResponse"+    "fixture/DescribeDBSubnetGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDBSubnetGroups)++responseDescribeEngineDefaultClusterParameters :: DescribeEngineDefaultClusterParametersResponse -> TestTree+responseDescribeEngineDefaultClusterParameters =+  res+    "DescribeEngineDefaultClusterParametersResponse"+    "fixture/DescribeEngineDefaultClusterParametersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEngineDefaultClusterParameters)++responseDescribeEngineDefaultParameters :: DescribeEngineDefaultParametersResponse -> TestTree+responseDescribeEngineDefaultParameters =+  res+    "DescribeEngineDefaultParametersResponse"+    "fixture/DescribeEngineDefaultParametersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEngineDefaultParameters)++responseDescribeEventCategories :: DescribeEventCategoriesResponse -> TestTree+responseDescribeEventCategories =+  res+    "DescribeEventCategoriesResponse"+    "fixture/DescribeEventCategoriesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEventCategories)++responseDescribeEventSubscriptions :: DescribeEventSubscriptionsResponse -> TestTree+responseDescribeEventSubscriptions =+  res+    "DescribeEventSubscriptionsResponse"+    "fixture/DescribeEventSubscriptionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEventSubscriptions)++responseDescribeEvents :: DescribeEventsResponse -> TestTree+responseDescribeEvents =+  res+    "DescribeEventsResponse"+    "fixture/DescribeEventsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEvents)++responseDescribeGlobalClusters :: DescribeGlobalClustersResponse -> TestTree+responseDescribeGlobalClusters =+  res+    "DescribeGlobalClustersResponse"+    "fixture/DescribeGlobalClustersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeGlobalClusters)++responseDescribeOrderableDBInstanceOptions :: DescribeOrderableDBInstanceOptionsResponse -> TestTree+responseDescribeOrderableDBInstanceOptions =+  res+    "DescribeOrderableDBInstanceOptionsResponse"+    "fixture/DescribeOrderableDBInstanceOptionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeOrderableDBInstanceOptions)++responseDescribePendingMaintenanceActions :: DescribePendingMaintenanceActionsResponse -> TestTree+responseDescribePendingMaintenanceActions =+  res+    "DescribePendingMaintenanceActionsResponse"+    "fixture/DescribePendingMaintenanceActionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePendingMaintenanceActions)++responseDescribeValidDBInstanceModifications :: DescribeValidDBInstanceModificationsResponse -> TestTree+responseDescribeValidDBInstanceModifications =+  res+    "DescribeValidDBInstanceModificationsResponse"+    "fixture/DescribeValidDBInstanceModificationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeValidDBInstanceModifications)++responseFailoverDBCluster :: FailoverDBClusterResponse -> TestTree+responseFailoverDBCluster =+  res+    "FailoverDBClusterResponse"+    "fixture/FailoverDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy FailoverDBCluster)++responseFailoverGlobalCluster :: FailoverGlobalClusterResponse -> TestTree+responseFailoverGlobalCluster =+  res+    "FailoverGlobalClusterResponse"+    "fixture/FailoverGlobalClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy FailoverGlobalCluster)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseModifyDBCluster :: ModifyDBClusterResponse -> TestTree+responseModifyDBCluster =+  res+    "ModifyDBClusterResponse"+    "fixture/ModifyDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBCluster)++responseModifyDBClusterEndpoint :: ModifyDBClusterEndpointResponse -> TestTree+responseModifyDBClusterEndpoint =+  res+    "ModifyDBClusterEndpointResponse"+    "fixture/ModifyDBClusterEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBClusterEndpoint)++responseModifyDBClusterParameterGroup :: DBClusterParameterGroupNameMessage -> TestTree+responseModifyDBClusterParameterGroup =+  res+    "ModifyDBClusterParameterGroupResponse"+    "fixture/ModifyDBClusterParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBClusterParameterGroup)++responseModifyDBClusterSnapshotAttribute :: ModifyDBClusterSnapshotAttributeResponse -> TestTree+responseModifyDBClusterSnapshotAttribute =+  res+    "ModifyDBClusterSnapshotAttributeResponse"+    "fixture/ModifyDBClusterSnapshotAttributeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBClusterSnapshotAttribute)++responseModifyDBInstance :: ModifyDBInstanceResponse -> TestTree+responseModifyDBInstance =+  res+    "ModifyDBInstanceResponse"+    "fixture/ModifyDBInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBInstance)++responseModifyDBParameterGroup :: DBParameterGroupNameMessage -> TestTree+responseModifyDBParameterGroup =+  res+    "ModifyDBParameterGroupResponse"+    "fixture/ModifyDBParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBParameterGroup)++responseModifyDBSubnetGroup :: ModifyDBSubnetGroupResponse -> TestTree+responseModifyDBSubnetGroup =+  res+    "ModifyDBSubnetGroupResponse"+    "fixture/ModifyDBSubnetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyDBSubnetGroup)++responseModifyEventSubscription :: ModifyEventSubscriptionResponse -> TestTree+responseModifyEventSubscription =+  res+    "ModifyEventSubscriptionResponse"+    "fixture/ModifyEventSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyEventSubscription)++responseModifyGlobalCluster :: ModifyGlobalClusterResponse -> TestTree+responseModifyGlobalCluster =+  res+    "ModifyGlobalClusterResponse"+    "fixture/ModifyGlobalClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ModifyGlobalCluster)++responsePromoteReadReplicaDBCluster :: PromoteReadReplicaDBClusterResponse -> TestTree+responsePromoteReadReplicaDBCluster =+  res+    "PromoteReadReplicaDBClusterResponse"+    "fixture/PromoteReadReplicaDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PromoteReadReplicaDBCluster)++responseRebootDBInstance :: RebootDBInstanceResponse -> TestTree+responseRebootDBInstance =+  res+    "RebootDBInstanceResponse"+    "fixture/RebootDBInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RebootDBInstance)++responseRemoveFromGlobalCluster :: RemoveFromGlobalClusterResponse -> TestTree+responseRemoveFromGlobalCluster =+  res+    "RemoveFromGlobalClusterResponse"+    "fixture/RemoveFromGlobalClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveFromGlobalCluster)++responseRemoveRoleFromDBCluster :: RemoveRoleFromDBClusterResponse -> TestTree+responseRemoveRoleFromDBCluster =+  res+    "RemoveRoleFromDBClusterResponse"+    "fixture/RemoveRoleFromDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveRoleFromDBCluster)++responseRemoveSourceIdentifierFromSubscription :: RemoveSourceIdentifierFromSubscriptionResponse -> TestTree+responseRemoveSourceIdentifierFromSubscription =+  res+    "RemoveSourceIdentifierFromSubscriptionResponse"+    "fixture/RemoveSourceIdentifierFromSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveSourceIdentifierFromSubscription)++responseRemoveTagsFromResource :: RemoveTagsFromResourceResponse -> TestTree+responseRemoveTagsFromResource =+  res+    "RemoveTagsFromResourceResponse"+    "fixture/RemoveTagsFromResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveTagsFromResource)++responseResetDBClusterParameterGroup :: DBClusterParameterGroupNameMessage -> TestTree+responseResetDBClusterParameterGroup =+  res+    "ResetDBClusterParameterGroupResponse"+    "fixture/ResetDBClusterParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResetDBClusterParameterGroup)++responseResetDBParameterGroup :: DBParameterGroupNameMessage -> TestTree+responseResetDBParameterGroup =+  res+    "ResetDBParameterGroupResponse"+    "fixture/ResetDBParameterGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResetDBParameterGroup)++responseRestoreDBClusterFromSnapshot :: RestoreDBClusterFromSnapshotResponse -> TestTree+responseRestoreDBClusterFromSnapshot =+  res+    "RestoreDBClusterFromSnapshotResponse"+    "fixture/RestoreDBClusterFromSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestoreDBClusterFromSnapshot)++responseRestoreDBClusterToPointInTime :: RestoreDBClusterToPointInTimeResponse -> TestTree+responseRestoreDBClusterToPointInTime =+  res+    "RestoreDBClusterToPointInTimeResponse"+    "fixture/RestoreDBClusterToPointInTimeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestoreDBClusterToPointInTime)++responseStartDBCluster :: StartDBClusterResponse -> TestTree+responseStartDBCluster =+  res+    "StartDBClusterResponse"+    "fixture/StartDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartDBCluster)++responseStopDBCluster :: StopDBClusterResponse -> TestTree+responseStopDBCluster =+  res+    "StopDBClusterResponse"+    "fixture/StopDBClusterResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopDBCluster)
+ test/Test/Amazonka/Neptune.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Neptune+-- 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.Neptune+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Neptune/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Neptune.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.Neptune.Internal where